Poignée de main
Dans le monde réel, une poignée de main est une salutation habituelle entre deux personnes. De même, une poignée de main d'ordinateur sert de message d'accueil entre deux ordinateur systèmes. Il est couramment utilisé pour initialiser un réseau connexion entre deux hôtes.
Une poignée de main d'ordinateur peut être complétée entre deux systèmes quelconques communiquant l'un sur l'autre de la même manière. protocole. Les deux systèmes peuvent être un client et serveur ou simplement deux ordinateurs sur un P2P réseau. La poignée de main confirme l'identité des systèmes de connexion et permet une communication supplémentaire.
Le handshaking sur un réseau s'appelle communément 3-Way Handshake ou "SYN-SYN-ACK". Une poignée de main réussie comporte sept étapes:
- L'hôte A envoie une synchronisation (SYN) paquet accueillir l'hôte B.
- L'hôte B reçoit la demande SYN de l'hôte A.
- L'hôte B envoie un message d'accusé de réception de synchronisation (SYN-ACK) à l'hôte A.
- L'hôte A reçoit le message SYN-ACK de l'hôte B.
- L'hôte A envoie un message d'accusé de réception (ACK) à l'hôte B.
- L'hôte B reçoit le message ACK de l'hôte A.
- La connexion entre les deux systèmes est établie.
Lorsqu'un système initie une poignée de main, il existe trois résultats possibles:
- Aucune réponse - Si le système qui reçoit la négociation n'est pas disponible ou ne prend pas en charge le protocole utilisé par le système initiateur, il se peut qu'il ne réponde pas à la demande.
- Connexion rejetée - Le système qui reçoit la négociation est disponible et comprend la demande, mais refuse la connexion.
- Connexion acceptée - Le système recevant la négociation est disponible, reçoit la demande et accepte la connexion.
Le troisième résultat mentionné ci-dessus est le seul dans lequel la poignée de main est terminée. Si une négociation réussit, les deux systèmes peuvent commencer à communiquer et à transférer (données) via le protocole établi. Des exemples de protocoles qui utilisent le handshaking incluent TCP, TLS et SSL.