Manchmal ist Geschwindigkeit wichtiger als Vollständigkeit. Beim Video-Streaming, Online-Gaming oder VoIP-Telefonieren ist es besser ein gelegentlich fehlendes Paket zu ignorieren als auf die Wiederholung zu warten – denn veraltete Daten sind nutzlos. Genau für solche Anwendungsfälle gibt es das User Datagram Protocol (UDP).
UDP ist ein verbindungsloses Transportprotokoll auf Schicht 4 des OSI-Modells. Es sendet Datenpakete (Datagramme) ohne vorherigen Verbindungsaufbau, ohne Bestätigung und ohne Garantie der Zustellung oder Reihenfolge.
Client Server
│ │
│──── Datagramm 1 ─────────────▶│ Kein Handshake
│──── Datagramm 2 ─────────────▶│ Kein ACK
│──── Datagramm 3 ──────────────X Verloren – kein Retry
│──── Datagramm 4 ─────────────▶│ Einfach weitergesendet
│ │
└── Fertig. Keine Abmeldung. ┘UDP kümmert sich nicht darum ob die Pakete ankommen. Die Anwendung selbst muss entscheiden ob fehlende Pakete ein Problem darstellen oder einfach ignoriert werden können.
Der UDP-Header ist extrem schlank – nur 8 Byte im Vergleich zu mindestens 20 Byte bei TCP:
Feld | Größe | Bedeutung |
|---|---|---|
Source Port | 16 Bit | Quell-Port |
Destination Port | 16 Bit | Ziel-Port |
Length | 16 Bit | Gesamtlänge des UDP-Datagramms |
Checksum | 16 Bit | Fehlererkennung (optional bei IPv4) |
Kein Sequenznummer-Feld, kein ACK-Feld, keine Flags – UDP ist so einfach wie möglich gehalten.
Merkmal | TCP | UDP |
|---|---|---|
Verbindungsaufbau | 3-Way-Handshake erforderlich | Keiner – sofort senden |
Zustellgarantie | Ja – erneute Übertragung bei Verlust | Nein – Verlust wird ignoriert |
Reihenfolge | Garantiert durch Sequenznummern | Nicht garantiert |
Header-Größe | Mindestens 20 Byte | Genau 8 Byte |
Geschwindigkeit | Langsamer durch Overhead | Sehr schnell |
Flusskontrolle | Ja (Window Size) | Nein |
Staukontrolle | Ja (Congestion Control) | Nein |
Nicht möglich | Möglich | |
Typische Anwendungen | HTTP, FTP, SMTP, SSH | DNS, VoIP, Streaming, Gaming |
Anwendungsfall | Protokoll | Begründung |
|---|---|---|
Webseiten aufrufen | TCP (HTTP/HTTPS) | Vollständigkeit wichtiger als Geschwindigkeit |
Datei herunterladen | TCP (FTP/HTTPS) | Jedes Byte muss ankommen |
VoIP-Telefonie | UDP | Latenz wichtiger als Vollständigkeit |
Video-Streaming | UDP | Kurze Aussetzer besser als Pausen |
Online-Gaming | UDP | Echtzeitdaten – alte Pakete wertlos |
DNS-Abfrage | UDP (kurze Anfragen) | Schnelle kleine Antworten |
DNS-Zonentransfer | TCP (große Datenmengen) | Vollständigkeit erforderlich |
DHCP | UDP | Broadcast-basiert, keine Verbindung möglich |
SNMP-Monitoring | UDP | Statusmeldungen – Verlust tolerierbar |
TFTP | UDP | Einfaches Protokoll für Netzwerk-Boots |
Port | Protokoll | Verwendung |
|---|---|---|
53 | DNS | Domain-Namensauflösung |
67 | DHCP Server | IP-Adressvergabe (Server) |
68 | DHCP Client | IP-Adressvergabe (Client) |
69 | TFTP | Trivial File Transfer Protocol |
123 | NTP | Zeitsynchonisierung |
161 | SNMP | Netzwerk-Monitoring |
162 | SNMP Trap | SNMP-Benachrichtigungen |
514 | Syslog | System-Logging |
5060 | SIP | VoIP-Signalisierung |
Da UDP keine Verbindung aufbaut ist es anfälliger für bestimmte Angriffe:
Angriff | Beschreibung | Schutz |
|---|---|---|
UDP-Flood | Massenhaft UDP-Pakete senden um den Server zu überlasten | Rate-Limiting, Firewall-Regeln |
UDP-Amplification | Kleine Anfrage erzeugt große Antwort (z.B. DNS, NTP) – mit gefälschter Quell-IP | Response Rate Limiting, BCP38 |
IP-Spoofing | Quell-IP fälschen da kein Handshake Echtheit prüft | Ingress-Filterung, DNSSEC |
Seit HTTP/3 nutzt das Web nicht mehr TCP sondern QUIC – ein modernes Protokoll das auf UDP aufbaut aber Zuverlässigkeit in der Anwendungsschicht implementiert:
HTTP/1.1 und HTTP/2 → TCP
HTTP/3 → QUIC (basiert auf UDP)
Vorteile von QUIC gegenüber TCP:
- Schnellerer Verbindungsaufbau (0-RTT möglich)
- Kein Head-of-Line-Blocking
- Verbindung bleibt bei IP-Wechsel bestehen (z.B. WLAN → LTE)
- Verschlüsselung (TLS 1.3) ist fest integriertUDP ist ein verbindungsloses Transportprotokoll auf OSI-Schicht 4
Kein Handshake, keine ACKs, keine Garantie – dafür sehr schnell
Der UDP-Header ist nur 8 Byte klein (TCP: mindestens 20 Byte)
UDP wird verwendet wenn Geschwindigkeit wichtiger ist als Vollständigkeit
Typische Anwendungen: DNS, DHCP, VoIP, Streaming, Online-Gaming, NTP
UDP unterstützt Broadcast und Multicast – TCP nicht
HTTP/3 nutzt QUIC das auf UDP basiert aber Zuverlässigkeit selbst implementiert
UDP ist anfälliger für Spoofing und Amplification-Angriffe als TCP