Zuverlässig oder schnell – die zwei Transportprotokolle des Internets
TCP 3-Way-Handshake
Du erklärst, wie eine TCP-Verbindung aufgebaut wird (SYN, SYN-ACK, ACK)
TCP vs. UDP vergleichen
Du erkennst die Unterschiede und kannst beide Protokolle gegenüberstellen
Wann welches Protokoll?
Du kannst entscheiden, welches Protokoll für welchen Anwendungsfall geeignet ist
Stell dir vor, du verschickst zwei Pakete. Das eine ist ein wertvolles Gemälde – du willst eine Bestätigung, dass es angekommen ist, und bei Verlust soll es erneut gesendet werden. Das andere ist eine Zeitung – wenn sie einen Tag zu spät ankommt oder eine Seite fehlt, ist das nicht so schlimm. Diese zwei Szenarien entsprechen exakt den zwei Transportprotokollen: TCP und UDP.
Ports
Unterscheidet mehrere Dienste auf demselben Gerät. Port 80 = HTTP, Port 443 = HTTPS, Port 22 = SSH.
Segmentierung
Große Datenmengen werden in kleinere Segmente zerlegt, übertragen und beim Empfänger wieder zusammengesetzt.
Multiplexing
Mehrere Anwendungen können gleichzeitig das Netzwerk nutzen – anhand der Portnummern werden sie auseinandergehalten.
TCP ist das Protokoll für Situationen, in denen jedes Byte ankommen muss – in der richtigen Reihenfolge und vollständig. Dafür zahlt man einen Preis: mehr Overhead durch Bestätigungen und einen Verbindungsaufbau.
Gesamtgröße TCP-Header: mind. 20 Byte
Bevor ein einziges Byte Nutzdaten fließt, führen Client und Server diesen Drei-Schritte-Tanz durch:
Nach dem Verbindungsaufbau teilt TCP die Nutzdaten in Segmente auf. Jedes Segment wird mit einer Sequenznummer versehen. Der Empfänger bestätigt den Empfang mit einem ACK. Bleibt eine Bestätigung aus, sendet der Sender das Segment erneut.
TCP schließt eine Verbindung geordnet in vier Schritten. Jede Seite kündigt das Ende getrennt mit einem FIN-Flag an und bestätigt das FIN der anderen Seite mit einem ACK. So können noch ausstehende Daten vollständig übertragen werden.
FIN_WAIT_1
Client hat FIN gesendet, wartet auf ACK
FIN_WAIT_2
ACK erhalten, wartet auf FIN des Servers
TIME_WAIT
Wartezeit (2× MSL), damit verspätete Pakete verworfen werden
CLOSED
Verbindung vollständig abgebaut
UDP ist das Protokoll, das auf alles verzichtet, was TCP langsam macht: kein Verbindungsaufbau, keine Bestätigungen, keine Neuübertragung. Stell dir eine Postkarte vor: Du schickst sie ab und hoffst, dass sie ankommt. Keine Sendungsverfolgung, keine Unterschrift. Das macht UDP extrem schnell und leichtgewichtig.
Gesamtgröße UDP-Header: nur 8 Byte (vs. 20 Byte bei TCP)
UDP ist nicht „schlechter" als TCP
UDP ist ein bewusster Kompromiss. Bei Video-Calls oder Online-Gaming ist ein verlorenes Paket verschmerzbar – ein verzögertes Paket (durch Neuübertragung) dagegen würde das Erlebnis ruinieren. UDP ist also für Echtzeitanwendungen das bessere Protokoll.
| Merkmal | TCP | UDP |
|---|---|---|
| Verbindungsaufbau | ✓ Ja (3-Way-Handshake) | ✕ Nein (verbindungslos) |
| Zuverlässigkeit | ✓ Garantiert (ACK) | ✕ Keine Garantie |
| Reihenfolge | ✓ Garantiert (Seq-Nr.) | ✕ Nicht garantiert |
| Fehlerkorrektur | ✓ Neuübertragung | ✕ Keine |
| Flusskontrolle | ✓ Ja (Window-Size) | ✕ Nein |
| Header-Größe | 20–60 Byte | nur 8 Byte |
| Geschwindigkeit | Langsamer | Schneller |
| Broadcast/Multicast | ✕ Nein | ✓ Ja |
| Typische Protokolle | HTTP/S, SSH, FTP, SMTP | DNS, DHCP, VoIP, Video |
Web-Browsing (HTTP/S)
Eine fehlende Zeile HTML würde die Seite zerstören.
SSH / Remote-Verwaltung
Jeder Tastendruck muss zuverlässig ankommen.
E-Mail (SMTP, IMAP)
Eine halb übertragene E-Mail ist wertlos.
Dateiübertragung (FTP)
Jedes Bit einer Datei muss vollständig übertragen werden.
Video-Calls / Streaming
Ein verlorenes Bild-Frame ist kaum merklich; Verzögerung wäre schlimmer.
Online-Games
Position eines Spielers vor 1 Sekunde interessiert niemanden mehr.
DNS-Abfragen
Kurze Anfrage, kurze Antwort – bei Ausbleiben einfach nochmals fragen.
DHCP
Broadcast an alle – TCP-Verbindungen wären hier gar nicht möglich.
Entscheidungshilfe
Frage 1: Darf kein Byte verloren gehen?
✓ Ja → TCP
✕ Nein → weiter zu Frage 2
Frage 2: Ist Latenz wichtiger als Vollständigkeit?
✓ Ja → UDP
✕ Nein → TCP
Frage 3: Broadcast oder Multicast nötig?
✓ Ja → UDP (TCP kann das nicht)
✕ Nein → TCP oder UDP je nach Anforderung
Ports sind Nummern von 0 bis 65535. Well-Known Ports (0–1023) sind reserviert für Standard-Dienste. Über die Portnummer weiß das Betriebssystem, welche Anwendung ein ankommendes Paket bekommen soll.
Wichtige TCP-Ports
Wichtige UDP-Ports
Portbereiche im Überblick
0 – 1023
Well-Known Ports (reserviert, nur root/admin darf diese öffnen)
1024 – 49151
Registered Ports (für bekannte Anwendungen registriert, z.B. 3306 MySQL)
49152 – 65535
Dynamic/Ephemeral Ports (Browser nutzt diese als Quellport)