TCP garantiert die Zustellung von Daten in der richtigen Reihenfolge, waehrend UDP die Geschwindigkeit auf Kosten moeglicher Paketverluste maximiert. Die Wahl zwischen ihnen ist eine grundlegende architektonische Entscheidung, die Latenz, Zuverlaessigkeit und Skalierbarkeit der Anwendung beeinflusst. Das Verstaendnis der Unterschiede ist der Schluessel zum Entwurf von Netzwerkprotokollen und zur Auswahl der richtigen Technologie.
TCP¶
- Three-Way-Handshake — SYN, SYN-ACK, ACK vor Beginn der Datenuebertragung
- Garantierte Zustellung und Reihenfolge — verlorene Pakete werden automatisch erneut gesendet
- Flow/Congestion Control — TCP passt die Uebertragungsgeschwindigkeit dynamisch an
- Hoehere Latenz — Overhead durch Bestaetigungen, Reihenfolge und Retransmissionen
TCP ist ein zustandsbehaftetes Protokoll — es haelt eine Verbindung zwischen Client und Server aufrecht. Der Nagle-Algorithmus optimiert kleine Pakete, das Sliding Window steuert, wie viele Daten ohne Bestaetigung gesendet werden koennen. Congestion-Control-Algorithmen (CUBIC, BBR) gewaehrleisten faire Bandbreitenverteilung und verhindern Netzwerkueberlastung.
UDP¶
- Verbindungslos — kein Handshake, senden und hoffen
- Keine Garantien — Pakete koennen verloren gehen, dupliziert werden oder ausser der Reihe ankommen
- Minimaler Overhead — 8B Header gegenueber 20B+ bei TCP
- Niedrigere Latenz — kein Warten auf Bestaetigungen
UDP ist zustandslos — jedes Datagramm ist unabhaengig. Die Einfachheit von UDP ermoeglicht es Anwendungen, eigene Zuverlaessigkeitsmechanismen entsprechend ihren Beduerfnissen zu implementieren. Beispielsweise toleriert VoIP gelegentlichen Paketverlust (kurzer Audioausfall), kann aber die Latenz durch Retransmissionen nicht tolerieren.
Wann was¶
- TCP — HTTP/HTTPS, SSH, Datenbanken, E-Mail, Dateitransfer — ueberall wo Datenvollstaendigkeit wichtig ist
- UDP — DNS-Lookups, VoIP, Video-Streaming, Online-Spiele, VPN-Tunnel — wo Geschwindigkeit zaehlt
QUIC¶
HTTP/3 verwendet QUIC — ein Protokoll, das auf UDP aufbaut und die Zuverlaessigkeit von TCP mit der niedrigen Latenz von UDP kombiniert. Es fuegt Multiplexing (kein Head-of-Line Blocking), integrierte TLS 1.3-Verschluesselung und 0-RTT Connection Resumption hinzu. QUIC loest ein zentrales TCP-Problem: der Verlust eines Pakets blockiert keine anderen Streams.
TCP fuer Zuverlaessigkeit, UDP fuer Geschwindigkeit¶
QUIC ist die Zukunft — das Beste aus beiden Welten. Fuer neue Anwendungen sollten Sie QUIC/HTTP3 als Standard-Transportschicht in Betracht ziehen.