Das TCP (Transmission Control Protocol) ist ein verbindungsorientiertes Transportprotokoll der Internet-Protokollfamilie. Es stellt zwischen zwei Endpunkten einen zuverlässigen, geordneten Datenstrom her: Pakete kommen vollständig, in der ursprünglichen Reihenfolge und ohne Duplikate beim Empfänger an — oder die Übertragung wird wiederholt.

TCP ist die Grundlage vieler Anwendungsprotokolle, darunter HTTP, HTTPS, SSH, SMTP und IMAP. Überall, wo Datenintegrität wichtiger ist als minimale Latenz, kommt TCP zum Einsatz.

Verbindungsaufbau

Eine TCP-Verbindung wird über den Three-Way-Handshake etabliert:

  1. Der Client sendet ein Paket mit gesetztem SYN-Flag.
  2. Der Server antwortet mit SYN und ACK.
  3. Der Client bestätigt mit einem ACK.

Erst nach Abschluss dieses Austauschs werden Nutzdaten übertragen. Der Abbau erfolgt symmetrisch über FIN-Pakete.

Zuverlässigkeit und Flusskontrolle

TCP erreicht seine Zuverlässigkeit durch mehrere Mechanismen:

  • Sequenznummern ordnen jedes Byte des Datenstroms eindeutig zu.
  • Bestätigungen (ACKs) quittieren empfangene Daten.
  • Retransmissions wiederholen verlorene Pakete automatisch.
  • Flusskontrolle über das Receive Window verhindert, dass der Sender den Empfänger überlastet.
  • Staukontrolle (z. B. Algorithmen wie Reno, Cubic oder BBR) reagiert auf Paketverluste im Netzwerk und drosselt die Senderate.

Abgrenzung zu UDP

Im Gegensatz zu UDP garantiert TCP Zustellung und Reihenfolge — auf Kosten von Latenz und Overhead. Anwendungen, die Echtzeit über Vollständigkeit stellen (Streaming, VoIP, DNS-Anfragen), nutzen häufig UDP statt TCP.

/ Weiter

Zurück zu IT

Zur Übersicht