Bevor TCP Anwendungsdaten sendet, muss es den Status an beiden Enden der Verbindung herstellen. Dieser Einrichtungsprozess ist der TCP-Drei-Wege-Handshake. Es passiert so schnell, dass die meisten Benutzer es gar nicht bemerken. Wenn sich Websites jedoch langsam anfühlen, Ports geschlossen erscheinen oder Firewalls Anwendungen auf seltsame Weise unterbrechen, beginnt die Geschichte oft mit dem Handschlag.

Der TCP-Drei-Wege-Handshake

Die drei Pakete sind:

  1. SYN vom Kunden
  2. SYN-ACK vom Server
  3. ACK vom Kunden

Danach wird die Verbindung hergestellt und die normale Datenübertragung beginnt.

Schritt-für-Schritt-Erklärung

1. Client sendet SYN

Der Client sagt praktisch: „Ich möchte eine Verbindung herstellen, und hier ist meine anfängliche Sequenznummer.“

2. Der Server antwortet mit SYN-ACK

Der Server bestätigt die Sequenznummer des Clients und sendet seine eigene Startsequenznummer zurück.

3. Client sendet ACK

Der Client bestätigt die Sequenznummer des Servers. An dieser Stelle sind sich beide Seiten über die Grundvoraussetzungen einig, die für einen zuverlässigen Datenaustausch erforderlich sind.

Warum TCP einen Handshake benötigt

Der Händedruck ist nicht nur eine Zeremonie. Es löst echte Protokollprobleme:

  • bestätigt, dass beide Endpunkte senden und empfangen können
  • verhandelt die anfängliche Sequenzverfolgung
  • verhindert, dass verzögerte Pakete von älteren Sitzungen mit aktuellem Datenverkehr verwechselt werden
  • legt den für eine zuverlässige Lieferung erforderlichen Zustand fest

Ohne dieses Setup könnte TCP nicht das geordnete, zuverlässige Stream-Verhalten bereitstellen, das Anwendungen erwarten.

Warum TCP drei statt zwei Schritte verwendet

Ein zweistufiger Austausch würde nicht vollständig beweisen, dass beide Seiten bereit sind, die Sequenznummern des anderen zu übertragen und zu bestätigen. Das dritte Paket bestätigt, dass die Antwort des Servers empfangen wurde und dass der Verbindungsstatus in beide Richtungen synchronisiert ist.

Deshalb ist der Handshake ein „Drei-Wege“-Handshake und nicht einfach ein Anfrage-Antwort-Paar.

Was passiert, wenn der Handshake fehlschlägt

Handshake-Fehler fallen normalerweise in einige erkennbare Muster.

SYN gesendet, keine Antwort

Mögliche Ursachen:

  • Zielhost ist ausgefallen
  • Firewall verwirft Pakete stillschweigend
  • falsche IP oder falscher Port
  • Routing-Problem im Pfad

Häufige Symptome:

  • Verbindungszeitüberschreitung
  • Der Browser dreht sich eine Weile und schlägt dann fehl
  • telnet oder die Client-App bleibt hängen, bevor sie aufgibt

SYN gesendet, RST zurückgegeben

Mögliche Ursachen:

  • Port ist geschlossen
  • Dienst hört nicht zu
  • Firewall ist so konfiguriert, dass sie ablehnt statt verwirft

Häufiges Symptom:

  • sofort „Verbindung abgelehnt“

SYN und SYN-ACK erscheinen, dann wird die Sitzung beendet

Mögliche Ursachen:

  • asymmetrisches Routing
  • Stateful-Firewall-Problem
  • defektes NAT-Gerät
  • Fehlkonfiguration des Load Balancers
  • Hostbasiertes Sicherheitsprodukt stört nach der ersten Annahme

So sieht der Handshake in Wireshark aus

Wenn Sie Datenverkehr in Wireshark erfassen, sieht ein fehlerfreier TCP-Start normalerweise so aus:

  • SYN
  • SYN, ACK
  • ACK

Wenn Sie SYN-Pakete nur wiederholt erneut übertragen sehen, kommt die Serverantwort nie zurück. Wenn Sie ein RST sehen, hat das Ziel die Verbindung aktiv abgelehnt. Diese Transparenz ist der Grund, warum Paketerfassungen für die Fehlerbehebung im Netzwerk so nützlich sind.

Warum Händeschütteln für die Leistung wichtig ist

Jede TCP-Verbindung beginnt mit mindestens einem Roundtrip, bevor der Datenfluss beginnt.

Wenn die Latenz 100 ms beträgt:

  • Der Handshake kostet etwa eine Hin- und Rückfahrt
  • TLS fügt danach weitere Verhandlungen hinzu
  • kurzlebige Verbindungen fühlen sich spürbar langsamer an

Dies ist einer der Gründe, warum sich die moderne Leistungsoptimierung um die Wiederverwendung von Verbindungen, das HTTP-Keep-Alive-Verhalten, CDNs und Protokolle wie HTTP/2 und HTTP/3 kümmert.

TCP-Handshake und TLS sind nicht dasselbe

Dies ist eine häufige Ursache für Verwirrung.

  • TCP-Handshake stellt die Transportverbindung her.
  • TLS-Handshake handelt Verschlüsselung und Zertifikatsvertrauen über dieser Verbindung aus.

Wenn Sie also eine HTTPS-Website öffnen, führt das System normalerweise Folgendes aus:

  1. TCP-Handshake
  2. TLS-Handshake
  3. HTTP-Anfrage und -Antwort

Wenn eine Site nur langsam mit dem Laden beginnt, kann die Verzögerung in einer der Handshake-Schichten liegen.

Zusammenhang mit Port-Scanning

Viele Scanner verlassen sich auf das Handshake-Verhalten:

  • SYN-ACK bedeutet oft, dass der Port offen ist
  • RST bedeutet normalerweise geschlossen
  • keine Antwort bedeutet oft gefiltert oder gelöscht

Das macht den Handshake nicht nur für die Vernetzung, sondern auch für die Aufzählung und Sicherheitstests von zentraler Bedeutung.

SYN-Flood-Angriffe

Eine SYN-Flut missbraucht den Handshake, indem sie eine große Anzahl von SYN-Paketen sendet, ohne die endgültige Bestätigung abzuschließen. Der Server reserviert Ressourcen für viele halboffene Sitzungen und kann überlastet werden.

Häufige Abhilfemaßnahmen:

  • SYN-Cookies
  • Ratenbegrenzung
  • Upstream-Filterung
  • Firewall-Schutz
  • Load-Balancer-Optimierung

Verbindungsabbau ist anders

Beim Starten einer Sitzung wird der Drei-Wege-Handshake verwendet. Für das Schließen wird normalerweise ein anderer Prozess verwendet, der FIN- und ACK-Pakete in beide Richtungen umfasst.

Dieser Teardown ist wichtig, wenn feststeckende Sockets debuggt werden TIME_WAIT oder CLOSE_WAIT, aber es ist unabhängig vom anfänglichen Verbindungs-Handshake.

Fazit

Der TCP-Handshake ist der dreistufige Start für eine zuverlässige TCP-Kommunikation:

  • SYN
  • SYN-ACK
  • ACK

Es ist wichtig, weil jede auf TCP basierende Webanfrage, SSH-Sitzung, Datenbankverbindung oder jeder API-Aufruf davon abhängt. Wenn bei einer Verbindung eine Zeitüberschreitung auftritt, sie abgelehnt wird oder sich langsam anfühlt, bevor Daten übertragen werden, ist der Handshake einer der ersten Orte, die untersucht werden müssen.