Transmission Control Protocol (TCP): Aufbau, Handshake und Zuverlässigkeit

Das Transmission Control Protocol (TCP) ist eines der wichtigsten Protokolle des Internets und bildet zusammen mit IP das bekannte TCP/IP-Modell. Es sorgt für eine zuverlässige, geordnete und fehlerfreie Datenübertragung zwischen zwei Endpunkten und ist damit die Grundlage für viele Alltagsanwendungen wie Webbrowser, E-Mail-Clients und Dateiübertragungsdienste.


Rolle von TCP in der Kommunikation

TCP arbeitet verbindungsorientiert: Bevor Daten übertragen werden, wird eine sichere Verbindung zwischen Sender und Empfänger aufgebaut. Dies ermöglicht die Übertragung von Daten in der richtigen Reihenfolge und ohne Duplikate oder Verluste.


Aufbau des TCP-Headers

Ein TCP-Paket enthält unter anderem folgende Felder:

  • Quell- und Zielport: Identifizieren die Anwendungen auf Sender- und Empfängerseite.
  • Sequenznummern: Stellen sicher, dass alle Daten in der richtigen Reihenfolge ankommen.
  • Bestätigungsnummern (ACK): Bestätigen den Empfang von Daten.
  • Flags: Steuerinformationen für Verbindungsaufbau, -abbau und Datenübertragung.
  • Fenstergröße: Dient der Flusskontrolle, um Überlastungen zu vermeiden.

Drei-Wege-Handshake

Bevor Daten gesendet werden, erfolgt der sogenannte 3-Wege-Handshake:

3 Wege Handshake TCP
  1. SYN: Der Client sendet ein Synchronisationspaket an den Server.
  2. SYN-ACK: Der Server antwortet mit einer Bestätigung und eigener Synchronisation.
  3. ACK: Der Client bestätigt die Verbindung, und die Datenübertragung kann beginnen.

Dieser Mechanismus verhindert Datenverlust beim Verbindungsaufbau und stellt sicher, dass beide Seiten kommunikationsbereit sind.


Verbindungsabbau

Am Ende der Kommunikation wird die Verbindung durch einen Vier-Wege-Abbau (FIN-ACK-Abfolge) geordnet geschlossen, um sicherzustellen, dass keine Daten verloren gehen.


Fehler- und Flusskontrolle

TCP implementiert Mechanismen wie Checksummen zur Fehlererkennung und Fenstergrößen zur Flusskontrolle. Dies sorgt dafür, dass:

  • Übertragungsfehler erkannt und korrigiert werden können,
  • Empfänger nicht durch zu viele Daten überlastet werden.

Analyse mit Wireshark

Mit Wireshark lassen sich TCP-Verbindungen detailliert untersuchen. Filter wie

tcp

zeigen alle TCP-Pakete, während Filter wie

tcp.flags.syn == 1

den Verbindungsaufbau sichtbar machen.


Im nächsten Teil dieser Serie betrachten wir UDP im Detail, seine Vorteile, typischen Anwendungsbereiche und die Unterschiede zu TCP aus praktischer Perspektive.


Kommentare

Schreibe einen Kommentar

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