Fiche Protocoles TCP et UDP
Le protocole TCP
Transmission Control Protocol (TCP) est un protocole de transport fiable, de couche 4 (transport), en mode connecté (protocole opérant un contrôle de transmission des données pendant une communication établie entre deux machines grâce à un système d'accusés de réception).
Les flux de données échangés entre une application émettrice (client) et une application réceptrice (serveur) sont découpés en segments. À chaque extrémité (client et serveur) de la connexion TCP est associé un numéro de port sur 16 bits (de 1 à 65535) identifiant chacune des applications émettrice ou réceptrice.
Une session TCP fonctionne en trois phases : l'établissement de la connexion, les transferts de données, la fin de la connexion.
•
•
•
•
•
•
•
L'établissement de la connexion se fait par une poignée de main en trois temps (handshaking) :
1. Le client envoie un segment SYN au serveur,
2. Le serveur lui répond par un segment SYN/ACK,
3. Le client confirme par un segment ACK.
•
SYN = SYNchronization (demande de synchronisation)
ACK = ACKnowledgement (accusé de réception)
•
Pendant la phase de transferts de données, un système d'accusés de réception permet une transmission fiable
(sans perte et dans l'ordre) des données. En particulier, des numéros de séquence sont utilisés afin d'ordonner les segments TCP reçus et de détecter les données perdues, les sommes de contrôle permettent la détection d'erreurs, et les acquittements ainsi que les temporisations permettent la détection des segments perdus ou retardés. •
•
•
Port Source (16 bits) : Port relatif à l'application en cours sur la machine source
Port Destination (16 bits) : Port relatif à l'application en cours sur la machine de destination
Numéro d'ordre (32 bits) : Lorsque le drapeau SYN est à 0, le numéro d'ordre est celui du premier mot du segment en cours. Lorsque SYN est à 1, le numéro d'ordre est égal au numéro d'ordre initial utilisé pour synchroniser les numéros de