UDP

Was ist UDP?

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.

Wie funktioniert UDP?

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.

UDP-Paketaufbau (Header)

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.

TCP vs. UDP – Detaillierter Vergleich

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

Broadcast/Multicast

Nicht möglich

Möglich

Typische Anwendungen

HTTP, FTP, SMTP, SSH

DNS, VoIP, Streaming, Gaming

Wann UDP, wann TCP?

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

Wichtige UDP-Ports

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

UDP und Sicherheit

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

QUIC – UDP als Basis für modernes HTTP

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 integriert

Zusammenfassung

  • UDP 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