TCP-Handshake
TCP (Transmission Control Protocol) verwendet einen Drei-Wege-Handshake (auch als TCP-Handshake, Drei-Nachrichten-Handshake und/oder SYN-SYN-ACK bekannt), um eine TCP/IP-Verbindung über ein IP-basiertes Netzwerk aufzubauen. Ähnlich wird ein Vier-Wege-Handshake verwendet, um die Verbindung zu beenden.
Die drei Nachrichten, die von TCP gesendet werden, um eine TCP-Sitzung auszuhandeln und zu starten, sind SYN, SYN-ACK und ACK für SYNchronisieren, SYNchronisieren-ACKnowledgement und ACKnowledge. Der Drei-Nachrichten-Mechanismus ist so konzipiert, dass zwei Computer, die Informationen austauschen möchten, die Parameter der Verbindung verhandeln können, bevor Daten wie HTTP-Browseranfragen übertragen werden.
- Der Initiator, normalerweise der Browser, sendet ein TCP-SYNchronize-Paket an den anderen Host, in der Regel den Server.
- Der Server empfängt das SYN und sendet ein SYNchronize-ACKnowledgement zurück.
- Der Initiator empfängt das SYN-ACK des Servers und sendet ein ACKnowledge. Der Server empfängt ACK und die TCP-Socket-Verbindung wird hergestellt.
Dieser Handshake-Schritt erfolgt nach einer DNS-Abfrage und vor dem TLS-Handshake, wenn eine sichere Verbindung erstellt wird. Die Verbindung kann unabhängig von jeder Seite der Verbindung über einen Vier-Wege-Handshake beendet werden, bei dem ein Paar von FIN (finish) und ACK-Nachrichten unabhängig von jeder Seite gesendet und empfangen werden.
- Der Initiator sendet ein FIN-Paket an den anderen Host.
- Der andere Host sendet ein ACK-Paket zurück an den Initiator.
- Jetzt ist die Verbindung halbgeschlossen, und der andere Host kann weiterhin Daten senden. (Zum Beispiel kann der Server das Senden von Daten an den Client abschließen, wenn der Client seine Verbindung zum Server geschlossen hat.)
- Der andere Host sendet ein FIN-Paket an den Initiator.
- Der Initiator sendet ein ACK-Paket zurück an den anderen Host.
Siehe auch
- Transport Layer Security (TLS)-Protokoll
- Verwandte Glossarbegriffe:
- Transport Layer Security auf Wikipedia