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:

- SYN: Der Client sendet ein Synchronisationspaket an den Server.
- SYN-ACK: Der Server antwortet mit einer Bestätigung und eigener Synchronisation.
- 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.
Schreibe einen Kommentar