UDP
Einführung
Das User Datagram Protocol (UDP) ist ein verbindungsloses Transportprotokoll, das auf der Transportschicht des OSI-Modells bzw. des TCP/IP-Modells arbeitet. Es bietet einen minimalen Übertragungsdienst für Anwendungen, die auf einfache, schnelle und ungesicherte Datenübertragung angewiesen sind. UDP ist das zweitwichtigste Transportprotokoll neben dem Transmission Control Protocol (TCP).
Geschichte
UDP wurde 1980 in RFC 768 von David P. Reed spezifiziert. Es wurde als schlanke Alternative zu TCP konzipiert und ist bis heute in nahezu allen Betriebssystemen implementiert.
Hauptmerkmale
- Verbindungslos – keine Verbindungsaufbauphase vor der Datenübertragung.
- Unzuverlässig – keine Garantie für Zustellung, Reihenfolge oder Fehlerkorrektur.
- Geringer Overhead – nur 8 Byte Header.
- Schnelle Übertragung – ideal für Echtzeitanwendungen.
- Portbasiert – unterstützt Multiplexing mehrerer Anwendungen über Ports.
Aufbau des UDP-Headers
Der UDP-Header ist minimalistisch und besteht aus:
- Quellport (16 Bit)
- Zielport (16 Bit)
- Länge des Datagramms (16 Bit)
- Prüfsumme (16 Bit) – optional bei IPv4, verpflichtend bei IPv6
UDP überträgt Nutzdaten direkt ohne weitere Mechanismen wie Sequenznummern oder Flusskontrolle.
Arbeitsweise
- Anwendungen senden Datagramme (Pakete) an einen Zielhost und -port.
- Jedes Datagramm wird unabhängig verarbeitet und zugestellt.
- Empfangende Anwendungen müssen selbst Fehlerbehandlung oder Neuübertragungen implementieren, falls erforderlich.
Ports und Multiplexing
UDP nutzt Portnummern zur Unterscheidung verschiedener Dienste auf demselben Host. Bekannte Beispiele:
- Port 53 – DNS
- Port 67/68 – DHCP
- Port 123 – NTP
- Port 161 – SNMP
Anwendungsgebiete
UDP wird oft in Szenarien verwendet, in denen Geschwindigkeit wichtiger ist als Zuverlässigkeit:
- DNS (Domain Name System)
- DHCP (Dynamic Host Configuration Protocol)
- Streaming (Audio/Video)
- Online-Spiele (geringe Latenz)
- VoIP (Voice over IP)
- IoT-Anwendungen
Vergleich zu TCP
| Merkmal | UDP | TCP |
|---|---|---|
| Verbindung | Verbindungslos | Verbindungsorientiert |
| Zuverlässigkeit | Keine | Zuverlässig, geordnet |
| Overhead | 8 Byte Header | 20 Byte Header (ohne Optionen) |
| Flusskontrolle | Keine | Ja (Sliding Window) |
| Typische Anwendungen | DNS, Streaming, VoIP | Web, E-Mail, FTP |
Vorteile
- Sehr geringer Overhead.
- Kein Handshake vor der Datenübertragung.
- Weniger Latenz – ideal für Echtzeitanwendungen.
- Einfach in der Implementierung.
Nachteile
- Keine Garantie für Zustellung oder Reihenfolge.
- Keine integrierte Flusskontrolle oder Überlastkontrolle.
- Sicherheit muss durch höhere Protokollschichten implementiert werden.
Sicherheitsaspekte
- UDP ist anfällig für IP-Spoofing und Amplification-Angriffe (z. B. bei DDoS).
- Schutzmaßnahmen:
- Einsatz von DTLS (Datagram Transport Layer Security) zur Verschlüsselung und Authentifizierung.
- Rate-Limiting und Firewalls zur Eindämmung von Angriffen.
- Filterregeln zur Portabsicherung.
Erweiterungen und verwandte Technologien
- QUIC – modernes Transportprotokoll, das auf UDP aufsetzt und Funktionen wie Verschlüsselung und Multiplexing integriert.
- UDP-Lite – Variante von UDP, bei der nur Teile der Daten durch Prüfsummen abgesichert werden.
Literatur und Standards
- RFC 768 – User Datagram Protocol
- RFC 6347 – Datagram Transport Layer Security (DTLS)
- Andrew S. Tanenbaum: Computer Networks