Der TCP-Drei-Wege-Handshake im Transmission Control Protocol (auch TCP-Handshake; Three Message Handshake und/oder SYN-SYN-ACK genannt) ist die Methode, die von TCP zum Aufbau einer TCP/IP-Verbindung über ein auf dem Internet Protocol basierendes Netzwerk verwendet wird. Das Drei-Wege-Handshake-Verfahren von TCP wird oft als „SYN-SYN-ACK“ (oder genauer SYN, SYN-ACK, ACK) bezeichnet, da es drei von TCP übertragene Nachrichten gibt, um eine TCP-Sitzung zwischen zwei Computern auszuhandeln und zu starten. Der TCP-Handshake-Mechanismus ist so konzipiert, dass zwei Computer, die versuchen zu kommunizieren, die Parameter der Netzwerk-TCP-Socket-Verbindung aushandeln können, bevor sie Daten wie SSH- und HTTP-Webbrowser-Anfragen übertragen.

Dieser 3-Wege-Handshake-Prozess ist auch so konzipiert, dass beide Enden gleichzeitig separate TCP-Socket-Verbindungen initiieren und aushandeln können. Die Möglichkeit, mehrere TCP-Socket-Verbindungen in beide Richtungen gleichzeitig auszuhandeln, erlaubt es, eine einzelne physikalische Netzwerkschnittstelle, wie z. B. Ethernet, zu multiplexen, um mehrere TCP-Datenströme gleichzeitig zu übertragen.

TCP-3-Way-Handshake-Diagramm

Unten sehen Sie ein (sehr) vereinfachtes Diagramm des TCP-3-Way-Handshake-Prozesses. Schauen Sie sich das Diagramm auf der rechten Seite an, während Sie die Liste der Ereignisse auf der linken Seite betrachten.

EVENT DIAGRAM

Host A sendet ein TCP SYNchronize-Paket an Host B

Host B empfängt A’s SYN

Host B sendet ein SYNchronize-ACKnowledge

Host A empfängt das SYN-ACK von B

Host A sendet ACKnowledge

Host B empfängt ACK.
TCP-Socket-Verbindung ist ESTABLISHED.

tcp three-way handshake,syn,syn-ack,ack
TCP Three Way Handshake
(SYN,SYN-ACK,ACK)

SYNchronize- und ACKnowledge-Nachrichten werden durch ein entweder das SYN-Bit, oder das ACK-Bit im TCP-Header angezeigt, und bei der SYN-ACK-Nachricht sind sowohl das SYN- als auch das ACK-Bit im TCP-Header eingeschaltet (auf 1 gesetzt).

TCP weiß, ob die Netzwerk-TCP-Socket-Verbindung geöffnet, synchronisiert, aufgebaut ist, indem es beim Aufbau einer Netzwerk-TCP-Socket-Verbindung die Nachrichten SYNchronize und ACKnowledge verwendet.

Wenn die Kommunikation zwischen zwei Rechnern endet, wird eine weitere 3-Wege-Kommunikation durchgeführt, um die TCP-Socket-Verbindung abzubauen. Dieser Auf- und Abbau einer TCP-Socket-Verbindung ist ein Teil dessen, was TCP als zuverlässiges Protokoll qualifiziert. TCP quittiert außerdem den erfolgreichen Empfang von Daten und garantiert, dass die Daten in der richtigen Reihenfolge wieder zusammengesetzt werden.

Beachten Sie, dass UDP verbindungslos ist. Das bedeutet, dass UDP keine Verbindungen aufbaut, wie es TCP tut, also führt UDP diesen 3-Wege-Handshake nicht durch und wird aus diesem Grund als unzuverlässiges Protokoll bezeichnet. Das bedeutet nicht, dass UDP keine Daten übertragen kann, es handelt nur nicht aus, wie die Verbindung funktionieren wird, UDP sendet einfach und hofft auf das Beste.

Protokolle, die in TCP gekapselt sind

Bei FTP, Telnet, HTTP, HTTPS, SMTP, POP3, IMAP, SSH und allen anderen Protokollen, die über TCP laufen, wird ebenfalls ein Drei-Wege-Handshake durchgeführt, wenn die Verbindung geöffnet wird. HTTP-Webanfragen, SMTP-E-Mails, FTP-Dateiübertragungen verwalten alle die Nachrichten, die sie jeweils senden. TCP kümmert sich um die Übertragung dieser Nachrichten.

TCP „reitet“ im Protokollstapel auf dem Internetprotokoll (IP), weshalb das kombinierte Paar von Internetprotokollen TCP/IP (TCP over IP) genannt wird. TCP-Segmente werden innerhalb des Nutzlastteils der IP-Pakete übergeben. IP kümmert sich um IP-Adressierung und Routing und bringt die Pakete von einem Ort zum anderen, aber TCP verwaltet die eigentlichen Kommunikations-Sockets zwischen den Endpunkten (Computer an beiden Enden des Netzwerks oder der Internetverbindung).

VERWANDTE TUTORIALS

  • Weitere Tutorials zum Transmission Control Protocol (TCP)
    • TCP Sockets (virtuelle Ports)
    • TCP Header
    • TCP Flow Control
  • Weitere Tutorials zum Internet Protocol (IP)
  • Mehr Tutorials zum User Datagram Protocol (UDP)

TCP-Tutorials

  • Einführung in das Transmission Control Protocol (TCP)
  • TCP: Ein zuverlässiges Protokoll
  • TCP Header
  • TCP 3.Way Handshake
  • TCP-Verbindungen
  • TCP-Sockets
  • TCP-Datenübertragung
  • TCP-Segmentierung und Reassemblierung
  • TCP-Flusskontrolle
  • TCP Multiplexing
  • TCP Precedence
  • TCP Transport Stream Push (TCP Push)
Setzen Sie ein Lesezeichen für diese Seite und TEILEN:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.