Poignée de main TCP
TCP (Transmission Control Protocol) utilise une poignée de main en trois temps (également appelée poignée de main TCP, poignée de main en trois messages, et/ou SYN-SYN-ACK) pour établir une connexion TCP/IP sur un réseau basé sur IP. De même, une poignée de main en quatre temps est utilisée pour terminer la connexion.
Les trois messages transmis par TCP pour négocier et démarrer une session TCP sont surnommés SYN, SYN-ACK et ACK pour SYNchronize, SYNchronize-ACKnowledgement et ACKnowledge respectivement (que l'on traduirait par Synchronisation, Accusé de réception de Synchronisation et Accusé de réception). Ce mécanisme en trois messages permet à deux ordinateurs souhaitant échanger des informations de négocier les paramètres de la connexion avant de transmettre des données telles que des requêtes HTTP de navigateur.
- L'initiateur, généralement le navigateur, envoie un paquet TCP SYNchronize à l'autre hôte, généralement le serveur.
- Le serveur reçoit le SYN et renvoie un SYNchronize-ACKnowledgement.
- L'initiateur reçoit le SYN-ACK du serveur et envoie un ACKnowledge. Le serveur reçoit l'ACK et la communication du connecteur TCP est établie.
Cette étape de poignée de main intervient après une recherche DNS et avant la poignée de main TLS lors de la création d'une connexion sécurisée. La connexion peut être terminée indépendamment par chaque côté via une poignée de main en quatre temps, où une paire de messages FIN (finish) et ACK est envoyée et reçue indépendamment par chaque côté.
- L'initiateur envoie un paquet FIN à l'autre hôte.
- L'autre hôte renvoie un paquet ACK à l'initiateur.
- À ce stade, la connexion est à moitié fermée et l'autre hôte peut encore envoyer des données. (Par exemple, le serveur peut terminer l'envoi de données au client lorsque le client a fermé sa connexion au serveur.)
- L'autre hôte envoie un paquet FIN à l'initiateur.
- L'initiateur renvoie un paquet ACK à l'autre hôte.
Voir aussi
- Le protocole de Transport Layer Security (TLS)
- Terme associé du glossaire :
- Transport Layer Security sur Wikipédia