Three-way handshake

Selon le protocole de communication TCP, une connexion entre deux hôtes s'établit en trois étapes : c'est le three-way handshake. À la connexion, on définit les numéros de séquence que l'on utilisera pour le transfert de données TCP.

Fonctionnement

modifier
Des données sont transmises au serveur, puis du serveur à l'utilisateur qui en renvoie à nouveau.
Schéma de l'établissement d'une connexion TCP.

Comme son nom l'indique, le three-way handshake se déroule en trois étapes[1] :

  1. SYN : Le client qui désire établir une connexion avec un serveur va envoyer un premier paquet SYN (synchronized) au serveur. Le numéro de séquence de ce paquet est un nombre aléatoire A.
  2. SYN-ACK : Le serveur va répondre au client à l'aide d'un paquet SYN-ACK (synchronize, acknowledge). Le numéro du ACK est égal au numéro de séquence du paquet précédent (SYN) incrémenté de un (A + 1) tandis que le numéro de séquence du paquet SYN-ACK est un nombre aléatoire B.
  3. ACK : Pour terminer, le client va envoyer un paquet ACK au serveur qui va servir d'accusé de réception. Le numéro de séquence de ce paquet est augmenté de 1 par rapport au dernier qu'il a envoyé (soit A + 1), et le numéro du ACK est égal au numéro de séquence du paquet précédent (SYN-ACK) incrémenté de un (B + 1).

Une fois le three-way handshake effectué, le client et le serveur ont reçu un acquittement de la connexion. Les étapes 1 et 2 définissent le numéro de séquence pour la communication du client au serveur et les étapes 2 et 3 définissent le numéro de séquence pour la communication dans l'autre sens. Une communication full-duplex est maintenant établie entre le client et le serveur.

Articles connexes

modifier

Bibliographie

modifier
  • TCP/IP tutorial and technical overview, IBM International Technical Support Organization, coll. « IBM redbooks », (ISBN 978-0-7384-9468-5), p. 162-163

Notes et références

modifier
  1. TCP/IP tutorial and technical overview, IBM International Technical Support Organization, coll. « IBM redbooks », (ISBN 978-0-7384-9468-5), p. 162-163