← Protocoles

TCP : le handshake

TransportAnimé
Clientton navigateurCLOSEDServeurle siteLISTEN

Avant d'échanger des données, un client et un serveur TCP s'accordent sur des numéros de séquence en trois messages : SYN, SYN-ACK, ACK. Lancez la lecture, ou avancez étape par étape.

  1. Le client veut ouvrir une connexion. Il envoie un segment SYN avec un numéro de séquence de départ, x, choisi au hasard.
  2. Le serveur accepte. Il répond avec son propre numéro de séquence, y, et confirme le SYN du client avec ack = x + 1 (le prochain octet qu'il attend).
  3. Le client confirme à son tour avec ack = y + 1. La connexion est ouverte des deux côtés : on peut échanger des données.
  4. Premières données : le client envoie sa requête. Chaque octet envoyé a un numéro de séquence.
  5. Le serveur confirme avoir bien reçu les 5 octets en indiquant le prochain qu'il attend. C'est ainsi que TCP sait ce qui est arrivé, et ce qu'il faut renvoyer.