Fachkonzept - Verbindungsaufbau
Drei-Wege-Handschlag im Alltag
Wie verabredet man sich zu einem Treffen, wenn die Nachrichten über ein unsicheres Übertragungsmedium transportiert werden?
Beim Drei-Wege-Handschlag sendet zunächst einer der beiden Kommunikationspartner einen Vorschlag zu einem Treffen. Der andere Kommunikationspartner reagiert hierauf mit einer Bestätigung. Diese wird wiederum in einem dritten Schritt bestätigt.
Ein Drei-Wege-Handschlag-Protokoll zum Aufbau einer Client-Server-Kommunikation
Das Drei-Wege-Handschlag-Verfahren wird auch bei Protokollen wie TCP zum Verbindungsaufbau zwischen einem Client und einem Server benutzt.
In einem ersten Schritt sendet der Client-Prozess ein SYN-Datenpaket ("SYNchronize sequence numbers"). In diesem Datenpaket wird dem Server-Prozess zur Synchronisation eine Anfangssequenznummer x mitgeteilt, von welcher ausgehend alle weiteren Pakete nummeriert werden, die der Client-Prozess in dieser TCP-Sitzung sendet.
In einem zweiten Schritt sendet der Server-Prozess dem Client-Prozess ebenfalls ein SYN-Datenpaket und eine eigene Anfangssequenznummer y. Zudem bestätigt der Server-Prozess die Anfangssequenznummer x des Client-Prozesses, indem er die nächste erwartete Sequenznummer ACK=x+1 eines vom Client gesendeten Datenpakets zurückschickt ("ACKnowledgement").
In einem dritten Schritt antwortet der Client-Prozess mit einer Bestätigung der Anfangssequenznummer y des Server-Prozesses, indem er die nächste erwartete Sequenznummer ACK=y+1 eines Datenpakets vom Server zurückschickt.