Three-way handshake

From Wikipedia, the free encyclopedia

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.

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

Bibliographie

Notes et références

Related Articles

Wikiwand AI