0% ont trouvé ce document utile (0 vote)
276 vues19 pages

Comprendre les couches TCP/IP

Transféré par

zak
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
276 vues19 pages

Comprendre les couches TCP/IP

Transféré par

zak
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2A-SI - Réseaux :

Couches TCP/IP

Stéphane Vialle

[Link]@[Link]
[Link]
1

Couches TCP/IP

1 – Principes de fonctionnement du modèle TCP/IP


2 – Déroulement des communications UDP/IP
3 – Déroulement des communications TCP/IP

1
couches TCP/IP

1 - Principes de fonctionnement
du modèle TCP/IP

1.1 – couche «Interface réseaux » (couche basse)


1.2 – couche « Interconnexion » (IP)
1.3 – couche « Transport » (UDP/TCP)
1.4 – couche « Applications » (couche haute)

couches TCP/IP
Détails de la couche « Interface Réseau »

• « TCP/IP » est une abréviation de la réalité : parties les plus utilisées


- TCP : Transmission Control Protocol
- IP : Internet Protocol
• La couche Interface Réseau n’est pas réellement dans le modèle :
- TCP/IP est ouvert sur beaucoup de réseaux (ex: Ethernet)
- Pas de réelles spécifications de méthodes d’accès
4

2
couches TCP/IP

1 - Principes de fonctionnement
du modèle TCP/IP

1.1 – couche «Interface réseaux » (couche basse)


1.2 – couche « Interconnexion » (IP)
1.3 – couche « Transport » (UDP/TCP)
1.4 – couche « Applications » (couche haute)

couches TCP/IP
Acheminement des datagrammes

IP sur X, Y, Z, ... INTERNET

IP sur PPP

Point d ’accès
Ordinateur personnel Boucle locale Fournisseur
+ Modem d'accès

Routeur
IP sur Ethernet
Protocole

Message IP
Fournisseur
propre au réseau de services

« IP sur tout, IP de partout »


6

3
couches TCP/IP
Détails de la couche « Interconnexion »

• IP : protocole Internet
- routage à travers Internet
- règles d’adressage au sein d’Internet (adresses logiques IP)
• Protocoles associés de:
- contrôle de l’Internet (ICMP) : discussions entre routeurs
- conversion d’adresses logiques en adresses physiques : ARP
- conversion d’adresses physiques en adresses logiques : RARP7

couches TCP/IP
Détails de la couche « Interconnexion »

• Les routages et
relais entre réseaux
sont assurés par la
couche IP

• Protocole de
routage le plus
connu : RIP
(Routing Information
Protocol) …
Recherche de routes de
moindre coût, par les
routeurs … 8

4
couches TCP/IP
Détails de la couche « Interconnexion »

Usage
futur

• Règles d’adressage en IPv4 :


- adresses sur 32 bits en IPv4 : « x.y.z.t » (4 octets)
= {« adresse du réseau » « adresse de la machine dans le réseau »}
- 4 (+1) classes d’adresses :
- pour des réseaux de différentes tailles
- pour des opérations de multicast 9

couches TCP/IP
Détails de la couche « Interconnexion »

• Contenu
d’une trame
IPv4

• Version
courante
d’IP

- Taille entête : en mots de 32 bits - Flags : DF : Don’t Fragment flag


- Longueur totale : en octets (< 64 Ko) - Flags : MF : More Fragment flag
- Identification : pour réassemblage - TTL : Nombre de sauts : nb max routeurs
- Adresses 32 bits, notation décimale pointée10

5
couches TCP/IP
Détails de la couche « Interconnexion »
• Règles d’adressage en IPv6 :
- 3 types d’adresses :
- « Point à point » (unicast)
- « Un exactement » (anycast)
- « Multipoint » (multicast)
- Adresse point à point (unicast)
- Identifie une interface réseau unique
- Routage par le plus court chemin
- 3 niveaux de hiérarchie :
• Topologie publique (global) : routage sur l'internet
• Site individuel (site-local) : routage limité à un site
• Interface réseau individuelle (link-local) : non routable
11

couches TCP/IP
Détails de la couche « Interconnexion »
• Règles d’adressage en IPv6 :
- Adresse un exactement (anycast)
- Même format que les adresses point à point
- Identifie un groupe d'interfaces réseau
- Routage au membre (unique) du groupe accessible
par le plus court chemin
- Adresse multipoint (multicast)
- Identifie un groupe d'interfaces réseau
- Routage vers toutes les interfaces du groupe
- Utilisation réglementée (un peu …)
• Problème du passage IPv4 → IPv6 :
- Interconnexion d’îlots IPv6 via un réseau IPv4 ?
- Connexions de machines IPv6 isolées sur un réseau IPv4 ?
- Interconnexion d’applications IPv4 et IPv6 ?
12

6
couches TCP/IP
Détails de la couche « Interconnexion »
0 4 8 16 31
Versi Priori
Identificateur de flot de données
• Contenu on té
d’une trame Prochaine Nb max de
Longueur charge utile
entête sauts
IPv6 Adresse de l ’émetteur (128 bits)

Adresse du destinataire (128 bits)

[ Entête complémentaire ]

...
Données de la couche supérieure

- Simplification de l’entête de base - Identification des flux de données


- Augmentation de la capacité d’adressage - Nouvelles options
32 bit → 128 bit !! - Fonctions de sécurité
- Fonctions d'autoconfiguration (authentification et chiffrement)
13

couches TCP/IP
Détails de la couche « Interconnexion »
• Protocole ICMP de la couche IP :
- ICMP = Internet Control Message Protocol
- une série de services pour les besoins internes des réseaux IP

- ex : IRDP : ICMP Router Discovery Protocol


→ découverte des routeurs sur chaque segment

- ex : Mesure du temps de réponse du réseau


→ envoi d’un paquet ECHO_REQUEST
attente du paquet ECHO_REPLY
→ commande utilisateur « ping »

- ex : Fragmentation / Ré-assemblage des paquets


14

7
couches TCP/IP
Détails de la couche « Interconnexion »
• Protocole ICMP de la couche IP :
• Adaptation de la taille des datagrammes IP à la taille des PDU
des réseaux traversés (respecte le MTU Maximum Transfer Unit)
→ Fragmentation dans les routeurs
→ Ré-assemblage dans le système destinataire

Internet

Routeur Routeur

fragmentation ré-assemblage
15

couches TCP/IP
Détails de la couche « Interconnexion »

• Protocole ARP de la couche IP :


- but : @logique (IP) → @physique (MAC)
- l’adresse physique est nécessaire dans certaines communications
- une station veut connaître l’@ physique d’une autre station :
- elle diffuse une requête avec l’adresse IP qu’elle connaît
- la machine correspondante la reçoit (diffusion)
- elle renvoie son @MAC à destination de la station demandeuse
- l’adresse physique récupérée est mémorisée
- elle reste valable pendant un temps limité
(adresse IP correspondante susceptible de changer)

@IP
@MAC 16

8
couches TCP/IP
Détails de la couche « Interconnexion »
• Protocole RARP de la couche IP :
- but : @physique (MAC) → @logique (IP)
- ex : une station diskless qui boot en réseau ne connaît pas
son @IP
- fonctionnement :
- elle veut connaître son @IP à partir de son @MAC
- sur le réseau il doit exister des serveurs RARP :
tables : @MAC ↔ @IP
- la station diskless diffuse une requête RARP avec son @MAC
- le (les) serveurs RARP répondent : envoient son @IP

RARP @MAC - @IP


@MAC server

@IP 17

couches TCP/IP

1 - Principes de fonctionnement
du modèle TCP/IP

1.1 – couche «Interface réseaux » (couche basse)


1.2 – couche « Interconnexion » (IP)
1.3 – couche « Transport » (UDP/TCP)
1.4 – couche « Applications » (couche haute)

18

9
couches TCP/IP
Détails de la couche « Transport »

• Deux protocoles de transport de paquets sont disponibles :


- UDP : mode « non-connecté », sans mécanismes de contrôle de
le flux, ni de reprise sur erreur, …
t oco → paquet perdus, dupliqués ou dé-séquencés.
r
Pro lége
- TCP : mode « connecté », contrôle de flux, reprise sur erreur, …
ole → les paquets arrivent dans l’ordre.
o t oc d
r
P lou r 19

couches TCP/IP
Détails de la couche « Transport »

0 16 31
Détail de Port Source Port Destination
Longueur du message Checksum
l’entête UDP : (en octets) (calcul facultatif)
[ Données ]

+ Protocole à faible coût : peu d’overhead


– Envoi de données sans contrôle d’erreur, ni de flux, …
N’ajoute rien au service d’IP.
→ L’application doit assurer ou supporter les erreurs
• Pour applications locales (NFS, DHCP, …)
Pour applications temps-réel (voix sur IP, vidéo sur IP, …)
20

10
couches TCP/IP
Détails de la couche « Transport »

0 4 8 16 31
Détail de Port Source Port Destination
Numéro de séquence
l’entête TCP : Numéro d ’acquittement
Pt data Réservé U A P R S F Taille de la fenêtre
Checksum Pointeur données urgentes
Options
[ Données ]

• Mode « connecté » & Transport de données fiables


• Pour du « client – serveur » général
Client Serveur
• Connexion (généralement) initialisée par le client Connexion
TCP
• Numéro de port client choisi dynamiquement
• Numéro de port serveur : défini par des standards 21

couches TCP/IP

1 - Principes de fonctionnement
du modèle TCP/IP

1.1 – couche «Interface réseaux » (couche basse)


1.2 – couche « Interconnexion » (IP)
1.3 – couche « Transport » (UDP/TCP)
1.4 – couche « Applications » (couche haute)

22

11
couches TCP/IP
Détails de la couche « Application »

• Les composantes de cette couches ont évolués avec Internet


• Les applications :
- attaquent directement TCP/UDP selon des protocoles natifs,
- ou réutilisent d’autres applications et protocoles existant 23

couches TCP/IP
Détails de la couche « Application »

Les « classiques » : rarement utilisés directement par l’utilisateur


• FTP : protocole de la « pile TCP/IP »
File Transfer Protocol
→ transfert de fichiers
• SMTP : protocole de la « pile TCP/IP »
Simple Mail Transport Protocol
→ responsable de l’envoi des e-mail
• SNMP : protocole de la « pile UDP/IP »
Simple Network Management Protocol
→ gestion et surveillance de périphériques réseaux
……
24

12
couches TCP/IP
Détails de la couche « Application »
Exemple d’applications directement utilisées par l’utilisateur :
• OutLook : utilise
- SMTP pour envoyer du mail
- POP pour lire du mail sur le serveur de mail
- un annuaire LDAP pour les diverses identifications
• ICQ : utilise
- un protocole natif qui attaque UDP
- un protocole natif qui attaque TCP
- un annuaire LDAP pour les diverses identifications ??

POP SMTP LDAP … ICQ OutLook …


TCP UDP
IP
Interface réseau
25

couches TCP/IP

2 - Déroulement des
communications UDP/IP

26

13
couches TCP/IP

Déroulement de comm. UDP/IP


Concepts de « port » en UDP (et TCP) :

telnet
mail
Ports UDP :
- files d’attentes telnet
ftp
- démultiplexent la réseau
telnet
telnet
telnet
connexion réseau
vers différentes applis.
exécutées (en parallèle)
sur la machine N° de port
@ IP mail
réseau ftp
telnet
27

couches TCP/IP

Déroulement de comm. UDP/IP


Rôles de la couche et du protocole UDP :

Couche UDP : responsable de la distinction des différentes sources


ou destination au sein d’une machine donnée (n° port).
Couche IP : responsable de l’acheminement d’une donnée d’une
machine à une autre à travers une interconnexion de
réseaux (@IP).
Couche Interface réseau : responsable du codage et de l’émission
des trames de bits sur le support
Application
Datagramme Utilisateur (UDP)
Interconnexion (IP)
Interface avec le réseau
28

14
couches TCP/IP

Déroulement de comm. UDP/IP


Rappel : mécanisme d’encapsulation de trames en UDP/IP
Les données (PDU) des couches hautes se retrouvent encapsulées
dans celles des couches basses :

Application
Données Application
Datagramme Utilisateur (UDP)
Interconnexion (IP)
Interface avec le réseau
En-tête Zone de données UDP
UDP

En-tête
dtgm IP Datagramme IP (paquet IP)

En-tête de
la trame Trame de bits
29

couches TCP/IP

Déroulement de comm. UDP/IP


Bilan : limitations de la couche et du protocole UDP
- le protocole UDP n’utilise pas d’accusés de réception pour
garantir la bonne réception des données émises
- les paquets peuvent être perdus, dupliqués ou déséquencés
(en empruntant des chemins différents)
- le checksum disponible est optionnel et vérifie seulement
que la bonne @IP et le bon n° port ont été atteint
- la couche applicative doit détecter et traiter les erreurs
(s’il en apparaît)
- communication non fiabilisée en mode « non-connecté »

UDP s’utilise typiquement sur des LAN très fiables, avec des
délais de transmission courts.
30

15
couches TCP/IP

3 - Déroulement des
communications TCP/IP

31

couches TCP/IP

Déroulement de comm. TCP/IP


Transmissions fiables & acquittements en TCP :
• Rappel : principe d’acquittement positif : un « Ack » par
message et avant chaque nouveau message.
PDU-1 PDU-1
Ack-1 Ack-1
PDU-2 PDU-1
Ack-2 Ack-1
PDU-3 PDU-2
Ack-3 Ack-2
t t t t
Bonne transmission Erreur de transmission
et reprise sur erreur

Protocole fiable mais lent : attente d’Ack avant chaque nouvelle


transmission !
32

16
couches TCP/IP

Déroulement de comm. TCP/IP


Transmissions fiables & acquittements en TCP :
• Rappel : principe d’acquittement par fenêtre glissante :
n paquets transmissibles avant de recevoir l’Ack du plus ancien.

PDU-1 - Les paquets sont acquittés


PDU-2 Ack-1 indépendamment
Fenêtre PDU-3 Ack-2
pleine Ack-3 - Un paquet non acquitté est
PDU-4
PDU-5
PDU-6 ré-émit
Ack-4
- Début de fenêtre : premier
PDU-7 paquet non acquité

t t
- Permet des débits plus
Transmission (correcte) avec élevés que l’acquittement
fenêtre glissante de 3
positif simple
33

couches TCP/IP

Déroulement de comm. TCP/IP


Transmissions fiables & acquittements en TCP :

• Principe de l’acquittement par fenêtre glissante de taille


variable :
- n paquets transmissibles avant de recevoir l’Ack du plus ancien
- n : variable dans le temps
- le récepteur communique une nouvelle largeur de fenêtre
pour réguler le flux des données à sa convenance :
- n = 0 : débit nul
- n = 1 : débit acquittement positif simple,
- n augmente → le débit augmente

TCP pratique l’acquittement par fenêtre glissante dynamique


pour obtenir des communications fiabilisées et en contrôler le flux.
34

17
couches TCP/IP
Déroulement de comm. TCP/IP
Etablissement d’une connexion en TCP :
• Une fois la connexion établie, les données circulent dans les 2 sens
• Connexion en 3 étapes :
1- demande de connexion, émission du n° de séq. initial venant de A
2- acceptation de la connexion, accusé de réception du n° de
séq. initial venant de A, émission du n° de séq. initial venant de B
3- accusé de réception du numéro de séq. initial venant de B
→ machines d’accord, et connaissent leurs n° de séquence initiaux
SYN seq=x 1
Reception SYN - Ack : n° de séquence du
Reception 2 SYN seq=y prochain octet attendu
SYN et ACK ACK x+1
3
- TCP ignore les demandes
ACK y+1
Reception ACK de connexion alors que
t t celle-ci est déjà établie
A B 35

couches TCP/IP

Déroulement de comm. TCP/IP


Libération d’une connexion TCP :
• Rappel : connexions TCP : bidirectionnelles simultanées
• Déconnexion dans un sens à la fois :
- Demande de déconnexion (1)
- Récepteur de la demande de déconnexion : envoie Ack (2) et
informe les applications de la fermeture du flux de données,
- Récepteur de la demande de déconnexion : envoie Ack (2’)
-- fin de la déconnexion dans le 1er sens --
et demande la déconnexion dans le 2ième sens …
FIN seq=x 1
Reception FIN
Reception 2 ACK x+1 Informe les application
ACK (flux de données fermé)
Reception 2’ FIN seq=y, ACK x+1 (opération longue! )
FIN et ACK
ACK y+1 3
Reception ACK
t t
A B 36

18
couches TCP/IP
Transmission Control Protocol
Bilan : propriétés de TCP
• RFC 793 - 1981
• Transport de données fiable
• Support direct des protocoles applicatifs
• Mode connecté
– Connexion/Déconnexion en 3 temps
– Connexion orientée Client/Serveur
– Transfert de données full duplex et transparent
– Contrôle d’erreur par Checksum
– Correction d’erreur par retransmission
– Contrôle de flux avec fenêtre dynamique
– Séquencement par numérotation du flux d ’octets
– Données urgentes
37

19

Vous aimerez peut-être aussi