Poignée de main à trois

Définition - Que signifie la poignée de main à trois?

Une négociation à trois est une méthode utilisée dans un réseau TCP / IP pour créer une connexion entre un hôte / client local et un serveur.

Il s'agit d'une méthode en trois étapes conçue pour permettre aux deux extrémités de communication d'initier et de négocier les paramètres de la connexion de socket TCP réseau en même temps avant que des données telles que HTTP et SSH ne soient transmises.

Plusieurs connexions de socket TCP peuvent être transmises simultanément dans les deux sens. Une prise de contact à trois est également appelée prise de contact TCP ou SYN-SYN-ACK, et nécessite à la fois le client et le serveur d'échanger des paquets SYN (synchronisation) et ACK (accusé de réception) avant que la communication de données ne commence.

En fait, son nom provient des trois messages transmis par TCP avant qu'une session entre les deux extrémités ne soit initiée.

Definir Tech explique la poignée de main à trois

Une négociation à trois est principalement utilisée pour créer une connexion de socket TCP afin de transmettre de manière fiable des données entre les périphériques. Par exemple, il prend en charge la communication entre un navigateur Web côté client et un serveur chaque fois qu'un utilisateur navigue sur Internet.

Dès qu'un client demande une session de communication avec le serveur, un processus de prise de contact à trois initie le trafic TCP en suivant trois étapes.

Les trois étapes d'une poignée de main à trois

Étape 1: Une connexion entre le serveur et le client est établie

Tout d'abord, une connexion entre le serveur et le client est établie, le serveur cible doit donc avoir des ports ouverts qui peuvent accepter et initier de nouvelles connexions. Le poste client envoie un paquet de données SYN (Synchronize Sequence Number) sur un réseau IP à un serveur sur le même réseau ou sur un réseau externe.

Ce paquet SYN est un numéro de séquence aléatoire que le client souhaite utiliser pour la communication (par exemple, X). L'objectif de ce paquet est de demander / déduire si le serveur est ouvert pour de nouvelles connexions.

Étape 2: Le serveur reçoit le paquet SYN du poste client

Lorsque le serveur reçoit le paquet SYN du poste client, il répond et renvoie un accusé de réception - le paquet ACK (Acknowledgment Sequence Number) ou le paquet SYN / ACK. Ce paquet comprend deux numéros de séquence.

Le premier est ACK one, qui est défini par le serveur sur un de plus que le numéro de séquence qu'il a reçu du client (par exemple X + 1).

Le second est le SYN envoyé par le serveur, qui est un autre numéro de séquence aléatoire (par exemple, Y).

Cette séquence indique que le serveur a correctement accusé réception du paquet du client, et qu'il envoie également le sien pour être acquitté.

Étape 3: Le nœud client reçoit le SYN / ACK du serveur et répond avec un paquet ACK

Le poste client reçoit le SYN / ACK du serveur et répond avec un paquet ACK. Une fois de plus, chaque côté doit accuser réception du numéro de séquence reçu en l'incrémentant de un.

C'est donc au tour du client d'accuser réception du paquet du serveur en ajoutant un au numéro de séquence (dans ce cas, Y + 1), et de le renvoyer au serveur.

Une fois ce processus terminé, la connexion est créée et l'hôte et le serveur peuvent communiquer.

Toutes ces étapes sont nécessaires pour vérifier les numéros de série provenant des deux côtés, garantissant la stabilité de la connexion.

Puisque les deux hôtes doivent accuser réception des paramètres de connexion de l'autre côté, un segment manquant ou dans le désordre peut être rapidement détecté avant que le processus de transfert de données réel ne soit lancé.