En informatique, en télécommunications et dans les domaines associés, le handshaking (ou handshake ; en français, établissement d'une liaison[1]) est un processus automatisé de négociation qui établit les paramètres d'une communication entre deux entités avant que la communication commence.
Un handshake est fait au moment où un ordinateur veut entreprendre une communication avec un appareil plus ou moins éloigné, par exemple un modem, une imprimante ou un serveur. Sur les anciens modems 56 kb/s, le processus de handshaking durait 20 secondes et était audible, chaque son émis par le modem de l'utilisateur correspondant à une étape du handshaking. Ce son si caractéristique est entré dans la mémoire collective de ceux ayant connu l'arrivée d'internet dans les années 1990[2].
Le handshaking peut négocier les paramètres que des équipements et systèmes situés aux deux extrémités du lien de communication pourront utiliser, y compris le débit binaire, l'encodage alphabétique, la parité, la procédure d'interruption et d'autres protocoles et détails techniques. Cependant, dans les RFC concernant TCP/IP, le terme « handshake » fait plutôt référence au TCP three-way handshake. Par exemple, le terme handshake n'est pas présent dans les RFC couvrant FTP ou SMTP, exception faite lors du Transport Layer Security (TLS) setup en FTP (RFC 4217[3]). À la place du terme handshake, FTP RFC 3659[4] y utilise « conversation » pour le passage des commandes.
Un simple protocole de handshaking pourrait simplement avoir le receveur informant via un message disant : « J'ai reçu ton dernier message et je suis prêt à ce que tu m'en renvoies un autre. » Un autre protocole plus complexe pourrait autoriser l'émetteur à demander au récepteur s'il est prêt à recevoir ou autoriser le récepteur de répondre négativement à l'émetteur pour l'informer qu'il n'a pas reçu correctement un message et lui demander un autre envoi.
Le handshaking permet la connexion entre des systèmes ou équipements relativement hétérogènes à travers un canal de communication sans nécessiter d'intervention humaine pour fixer les paramètres.