Vous êtes sur la page 1sur 31

1 CHAPITRE 3 : Couche Transport

Présentation du modèle de communication


TCP / IP : Couches et protocoles
Plan
2

1. Protocole UDP

2. Protocole TCP
Couche transport
3

 Elle est responsable du transport des messages


complets de bout en bout au travers du réseau
1. Protocole UDP
4

 UDP = User Datagram Protocol


 Emission des datagrammes UDP sans établissement de
connexion au préalable.
 L’arrivé des datagrammes ainsi que l’ordonnancement
ne sont pas garantis  Non fiable
 Identification de service : Port
 Les adresses IP identifient les machines.
 Les ports identifient les services.

 UDP est un protocole Rapide mais Non Fiable.


1. Protocole UDP
5

 UDP est basé sur des communication en une seule


phase : Echange de données.
1. Protocole UDP
6

 Format du datagramme UDP :


1. Protocole UDP
7

 Description des champs du datagramme UDP :

Champs Signification

Port source (16 bits) numéro de port de l’émetteur

Port destination (16 bits) numéro de port du récepteur

Length (16 bits) longueur du datagramme (entête +


données)
Checksum (16 bits) mécanisme de protection contre les
erreurs sur l’entête
1. Protocole UDP
8

 Liste de quelques ports standards sous UDP :


N° de port Mot-clé Désignation

7 Echo Retour du datagramme

37 Time Gestion du temps

53 DNS Serveur du Domaine de Noms

67 BOOTPS Protocole de configuration de serveur

68 BOOTPC Protocole de configuration du client

161 SNMP Protocole de gestion de simple réseau


2. Protocole TCP
9

 TCP = Transfert Control Protocol


 Service en mode connecté  Communication en 3
phases :
 Etablissement de connexion
 Echange de données
 Fermeture de connexion
 Service fiable  Transmission acquittées des segments
 Segmentation des données en segments
 Réception ordonnée des segments
 TCP est Moins Rapide que UDP
2. Protocole TCP - Connexion
10

 Une connexion de type circuit virtuelle est établie


 connexion = une paire d'extrémités de connexion
 extrémité de connexion = couple (adresse IP, numéro
port)
 Exemple de connexion :
 ( (124.32.12.1, 1034) , (19.24.67.2, 21) )
 Segmentation des données :
 TCP divise ce flot de données en segments en utilisant un
mécanisme de fenêtrage
 chaque segment est émis dans un datagramme IP
2. Protocole TCP – Segment TCP
11

 Segment = Unité de transfert du protocole TCP

 Echangé pour :
 Etablir des connexions
 Transférer des données

 Fermer des connexions


2. Protocole TCP – Structure d’un
12
Segment
 Un segment TCP est constitué d'un en-tête
(header) et des données (data) :
2. Protocole TCP – Numéro de Port
13

 Un Numéro de Port sert à identier l'application.


 Pour chaque port, un numéro lui est attribué codé sur 16 bits (soit 216 =
65536 ports distincts)
 L'attribution des ports est faite par le système d'exploitation, sur
demande d'une application.
2. Protocole TCP – Extraire les données
14
d’un Segment
 Data Offset : Pour extraire les données reçues d'un segment, il
contient la longueur (en mots de 4 octets) de l'en-tête TCP.
 Exemple : Si le champ Data Offset contient la valeur 5 : l'en-tête
TCP aura une longueur de 5x4 = 20 octets. Cela correspond à un
en-tête standard sans options.
2. Protocole TCP – Séquencer les
15
données à envoyer
 Le protocole TCP comptabilise tous les octets transmis.
 Le champ Sequence Number indique la place du premier octet de données
du segment à envoyer.
 Le champ Acknowledgment Number indique le prochain octet attendu par
l'émetteur du segment.
2. Protocole TCP – Séquencer les
16
données à envoyer
2. Protocole TCP – Fiabilité de la
17
transmission
 La fiabilité de la transmission est assurée par un mécanisme baptisé Positive
Acknowledgement with Re-transmission (PAR).
 L'émetteur démarre une alarme (timeout) à chaque envoi de segment :
 Si alarme expire avant l'arrivée d'un acquittement alors retransmission des données
du segment.
2. Protocole TCP – Contrôle d’erreur
18

 Le champ Checksum est codé sur 16 bits et permettra


de valider (contrôle d’erreur) le segment TCP.
2. Protocole TCP – Drapeaux
19

 Les 6 drapeaux (flags) sont essentiels dans la gestion d'une communication TCP :
 0x20 URG : valide le champ Pointeur Urgent
 0x10 ACK : valide le champ Acknowledgment Number
 0x08 PSH : indique au récepteur de délivrer immédiatement les données en attente
 0x04 RST : demande au récepteur une réinitialisation de la connexion ou met n à une
demande
 0x02 SYN : demande une synchronisation du Sequence Number (connexion)
 0x01 FIN : l'émetteur demande une déconnexion
2. Protocole TCP – Connexion TCP
20

 Une ouverture active de connexion TCP est établie en trois temps (Three Way
Handshake).
1. Le client TCP initialise la connexion en envoyant un segment incluant un SYN
(SYNchronize sequence numbers) et un numéro de séquence x.
2. Le serveur TCP lui répond par un segment avec les drapeaux SYN et ACK
(Acknowledgement) avec un numéro d'acquittement x+1 et son numéro de séquence y.
3. Le client TCP termine la connexion avec le tag ACK et le numéro d'acquittement y+1. Il
peut déjà envoyer des données en même temps.
2. Protocole TCP – Connexion TCP
21

 Exemple : Demande de connexion sous TCP de la


machine A à B avec un N° de séquence de A est de
904 et celui de B est de 2500.
A B
SYN, Seq=904
Demande de
connexion
SYN, Ack=905, Seq=2500 Connexion
acceptée

SYN=0, Ack=2501, Seq=905


Confirmation
2. Protocole TCP – Déconnexion TCP
22

 Une déconnexion TCP se fera en quatre temps. La


raison est qu'une connexion TCP est full-duplex, ce qui
implique que les deux directions doivent pouvoir être
fermées indépendamment l'une de l'autre.
2. Protocole TCP – Déconnexion TCP
23

 Exemple : Fermeture de connexion sous TCP N° de


séquence de A est de 8405 et celui de B est de 7506.

A B
Seq=8405, FIN=1
Demande fermeture
de connexion de A à B
SYN=0, Ack=8406 Fermeture
acceptée

Seq=7506, FIN=1 Demande fermeture de


connexion de B à A

Fermeture SYN=0, Ack=7507


acceptée
2. Protocole TCP – Contrôle de la
24
communication
 TCP s'appuie alors sur le mécanisme de la fenêtre
(Window) pour réaliser :
 Le contrôle de flux et de congestion,
 Le contrôle des erreurs, des pertes, duplication,
 L'optimisation de l'utilisation de la connexion.

 Une communication TCP sera considérée comme


fiable car elle est basée sur :
 La numérotation des octets (Sequence Number ),
 La détection des erreurs (checksum),
 La détection des pertes (timeout et acquittements successifs),
 La récupération des pertes (par retransmission).
2. Protocole TCP – Mécanisme de la
25
fenêtre
 La fenêtre définit le nombre d'octets pouvant être envoyés par anticipation
(sans attendre l'acquittement des octets précédemment transmis). Cela
dépend de la capacité du buffer (tampon) du récepteur.
 TCP utilise le mécanisme de la fenêtre coulissante ou glissante (sliding
window) : Nombre d'octets maximum pouvant être émis sans attendre
d'acquittement.
2. Protocole TCP – Mécanisme de la
26
fenêtre
2. Protocole TCP – Window
27

 Le champ Window (Fenêtre) est codé sur 16 bits et correspond au nombre d'octets
à partir du numéro d'acquittement que le récepteur est capable de recevoir.
 L’émetteur ne doit donc pas envoyer les segments après son numéro de séquence +
taille de la fenêtre.
 Cela permet aussi au récepteur de recevoir des segments hors séquence (trou) et de
profiter des délais d'attente pour réorganiser les données.
2. Protocole TCP – Window
28

 Chaque machine gère localement ses fenêtres pour chaque sens de


transmission (fenêtre d'émission et fenêtre de réception).
2. Protocole TCP – Données urgentes
29

 Cela permet de transmettre des données sans retard, qui doivent


être traitées de manière urgente :
 Le flag URG indiquera de prendre en compte le champ Urgent Pointeur.
 Les données urgentes sont toujours en tête du segment. Le Urgent
Pointeur pointera donc sur la première donnée normale (non urgente).
2. Protocole TCP – Options
30

 Les Options peuvent occuper un espace de taille variable (ou nulle) à la suite de
l'en-tête TCP. Les plus utilisées sont :
 timestamp : utilisée pour calculer la durée d'un aller-retour (RTT, Round Trip Time).
 wscale : facteur d'échelle qui permet de surpasser la limite des 16 bits du champ Window.
 sack : utilisation des acquittements sélectifs.
 Pour s'assurer que l'en-tête est toujours un multiple de 32 bits, il est parfois
nécessaire d'ajouter du padding (bourrage).
2. Protocole TCP – Liste Ports
31

 Liste de quelques ports standards sous TCP :


N° de port Mot-clé Désignation

21 FTP Protocole de transfert de fichiers

23 Telnet Session distante sur un serveur

25 SMTP Messagerie Electronique

53 DNS Domaine Noms de Serveurs

68 DHCP Configuration automatique d’adressage IP

80 HTTP WWW

Vous aimerez peut-être aussi