UDP
Ein verbindungsloses Transportprotokoll auf Schicht 4 des OSI-Modells. UDP verzichtet bewusst auf Zuverlässigkeitsmechanismen und ermöglicht dadurch schnellen, latenzarmen Versand von Datenpaketen.
Auf dieser Seite
UDP (User Datagram Protocol) ist ein verbindungsloses Transportprotokoll, das auf Schicht 4 des OSI-Modells arbeitet. Es wurde 1980 in RFC 768 definiert und ermöglicht den schnellen Versand von Datenpaketen ohne vorherigen Verbindungsaufbau.
Im Gegensatz zu TCP verzichtet UDP bewusst auf Zuverlässigkeitsmechanismen wie Bestätigung, Reihenfolgegarantie oder Neuübertragung. Dadurch entsteht weniger Overhead, was UDP zur idealen Wahl für zeitkritische Anwendungen macht, bei denen Geschwindigkeit wichtiger ist als die garantierte Zustellung jedes einzelnen Pakets.
Funktionsweise von UDP
UDP arbeitet nach dem verbindungslosen Prinzip. Das bedeutet, dass vor der Datenübertragung keine Verbindung zwischen Sender und Empfänger hergestellt wird. Die Daten werden in Form von unabhängigen Datagrammen versendet, die jeweils separat behandelt werden.
Jedes Datagramm kann auf einem anderen Weg durch das Netzwerk geleitet werden und in beliebiger Reihenfolge beim Empfänger ankommen. UDP kümmert sich nicht darum, ob Pakete verloren gehen, dupliziert werden oder in falscher Reihenfolge eintreffen. Die Anwendung selbst ist dafür verantwortlich, mit diesen Situationen umzugehen.
Der Unterschied zu TCP
Während TCP einen Three-Way Handshake durchführt und jedes Paket bestätigt, sendet UDP die Daten einfach ab und hofft auf das Beste. Du kannst dir UDP wie eine Postkarte vorstellen: Du schreibst sie, wirfst sie ein, und ob sie ankommt, erfährst du nie mit Sicherheit. TCP hingegen ist wie ein Einschreiben mit Rückschein.
Aufbau des UDP-Headers
Der UDP-Header ist bewusst minimal gehalten und besteht aus nur 8 Bytes (64 Bit). Diese kompakte Struktur reduziert den Overhead erheblich im Vergleich zum 20–60 Byte großen TCP-Header.
| Feld | Größe | Beschreibung |
|---|---|---|
| Source Port | 16 Bit | Port des Absenders (optional) |
| Destination Port | 16 Bit | Port des Empfängers |
| Length | 16 Bit | Gesamtlänge des Datagramms (Header + Daten) |
| Checksum | 16 Bit | Prüfsumme zur Fehlererkennung (optional bei IPv4) |
Der Source Port ist optional und kann auf 0 gesetzt werden, wenn keine Antwort erwartet wird. Der Destination Port ist hingegen zwingend erforderlich, da er bestimmt, an welche Anwendung auf dem Zielrechner die Daten weitergeleitet werden. Viele UDP-basierte Dienste verwenden Well-known Ports wie Port 53 für DNS oder Port 67/68 für DHCP.
Die Prüfsumme
Die Prüfsumme (Checksum) ermöglicht eine grundlegende Fehlererkennung. Bei der Berechnung wird ein sogenannter Pseudo-Header einbezogen, der Teile des IP-Headers enthält (Quell- und Ziel-IP-Adresse, Protokollnummer 17 für UDP, Länge). Bei IPv4 ist die Prüfsumme optional, bei IPv6 hingegen verpflichtend.
Eigenschaften von UDP
Die charakteristischen Eigenschaften von UDP ergeben sich aus dem bewussten Verzicht auf Zuverlässigkeitsmechanismen. Das macht UDP für bestimmte Anwendungsfälle besonders geeignet.
- Verbindungslos: Kein Verbindungsaufbau erforderlich, sofortiger Versand möglich
- Unzuverlässig: Keine Garantie für Zustellung, Reihenfolge oder Duplikatfreiheit
- Geringe Latenz: Kein Handshake bedeutet weniger Verzögerung
- Minimaler Overhead: Nur 8 Bytes Header statt 20–60 Bytes bei TCP
- Keine Flusskontrolle: Sender sendet so schnell er kann
- Keine Staukontrolle: Passt Senderate nicht an Netzwerkauslastung an
- Broadcast-fähig: Kann Pakete an alle Geräte im Netzwerk senden
Vergleich: UDP vs. TCP
Die Wahl zwischen UDP und TCP hängt von den Anforderungen der jeweiligen Anwendung ab. Beide Protokolle haben ihre Berechtigung und werden auf der Transportschicht des TCP/IP-Modells eingesetzt.
| Eigenschaft | UDP | TCP |
|---|---|---|
| Verbindung | Verbindungslos | Verbindungsorientiert |
| Zuverlässigkeit | Keine Garantie | Garantierte Zustellung |
| Reihenfolge | Nicht garantiert | Garantiert |
| Geschwindigkeit | Schneller | Langsamer (Overhead) |
| Header-Größe | 8 Bytes | 20–60 Bytes |
| Flusskontrolle | Nein | Ja |
| Staukontrolle | Nein | Ja |
| Anwendungen | Streaming, VoIP, Gaming, DNS | Web, E-Mail, Dateitransfer |
Für Anwendungen, bei denen jedes Byte ankommen muss (Webseiten, E-Mails, Dateiübertragungen), ist TCP die richtige Wahl. Bei zeitkritischen Anwendungen wie VoIP, Video-Streaming oder Online-Gaming ist der Verlust einzelner Pakete weniger problematisch als Verzögerungen durch Neuübertragungen. In diesen Fällen wird UDP bevorzugt.
Typische Anwendungen von UDP
UDP wird überall dort eingesetzt, wo geringe Latenz wichtiger ist als 100%ige Zuverlässigkeit. Die folgenden Anwendungsbereiche nutzen UDP als Transportprotokoll:
DNS-Anfragen
Das Domain Name System verwendet standardmäßig UDP auf Port 53. DNS-Anfragen sind typischerweise klein und passen in ein einzelnes Datagramm. Da Namensauflösung schnell erfolgen muss, wäre der Overhead eines TCP-Verbindungsaufbaus unverhältnismäßig. Nur bei großen Antworten (über 512 Bytes) oder Zonentransfers wird auf TCP umgeschaltet.
DHCP
DHCP (Dynamic Host Configuration Protocol) nutzt UDP auf den Ports 67 (Server) und 68 (Client). Bei der automatischen IP-Adressvergabe kennt der Client zu Beginn weder seine eigene noch die IP-Adresse des Servers. Eine verbindungsorientierte Kommunikation wäre daher gar nicht möglich. UDP mit Broadcast-Unterstützung ist hier die einzig sinnvolle Lösung.
VoIP und Videokonferenzen
Bei Voice over IP und Videokonferenzen ist Echtzeitkommunikation entscheidend. Ein verlorenes Sprachpaket wird einfach übersprungen, da eine Neuübertragung zu spät käme. Moderne VoIP-Anwendungen nutzen UDP in Kombination mit RTP (Real-time Transport Protocol), das auf UDP aufbaut und zusätzliche Funktionen wie Zeitstempel und Sequenznummern bietet.
Online-Gaming
In Online-Spielen müssen Spielerpositionen, Aktionen und Ereignisse in Echtzeit übertragen werden. Ein Paket mit einer veralteten Spielerposition ist wertlos, wenn bereits eine neuere Position vorliegt. Daher setzen die meisten Multiplayer-Spiele auf UDP, oft mit einer eigenen Zuverlässigkeitsschicht für kritische Daten wie Punktestände oder Chat-Nachrichten.
Streaming
Video- und Audio-Streaming-Dienste nutzen häufig UDP-basierte Protokolle. Bei Live-Streams ist ein verlorenes Frame weniger störend als ständige Pufferung. Allerdings verwenden moderne Streaming-Plattformen wie Netflix oder YouTube mittlerweile häufig HTTPS (also TCP), da die Qualität von TCP-Verbindungen im Internet stark verbessert wurde und HTTP-Streaming einfacher durch Firewalls kommt.
UDP und Sicherheit
UDP bietet von sich aus keine Sicherheitsmechanismen. Die Daten werden im Klartext übertragen und sind nicht vor Manipulation geschützt. Die optionale Prüfsumme erkennt nur zufällige Übertragungsfehler, keine absichtlichen Änderungen.
Für sichere Kommunikation über UDP wird DTLS (Datagram Transport Layer Security) eingesetzt, das Pendant zu TLS für datagrambasierte Protokolle. DTLS bietet Verschlüsselung, Authentifizierung und Integritätsschutz, ohne die Vorteile von UDP aufzugeben.
UDP als Angriffsvektor
Da UDP verbindungslos ist, kann die Absenderadresse leicht gefälscht werden (IP-Spoofing). Dies wird bei verschiedenen Angriffen ausgenutzt:
- UDP Flood: Der Angreifer sendet massenhaft UDP-Pakete an zufällige Ports des Ziels
- DNS Amplification: Kleine Anfragen mit gefälschter Absenderadresse lösen große Antworten aus
- NTP Amplification: Ähnliches Prinzip mit dem Network Time Protocol
Um solche Angriffe zu erschweren, setzen Netzwerkadministratoren auf Rate Limiting, Ingress Filtering und andere Schutzmaßnahmen auf Firewall- und Router-Ebene.
QUIC: Die Evolution von UDP
Mit QUIC (Quick UDP Internet Connections) hat Google ein modernes Transportprotokoll entwickelt, das auf UDP aufbaut. QUIC kombiniert die Geschwindigkeitsvorteile von UDP mit Zuverlässigkeitsmechanismen und integrierter Verschlüsselung.
HTTP/3, die neueste Version des Web-Protokolls, nutzt QUIC statt TCP. Der Vorteil: Verbindungen werden schneller aufgebaut, und ein verlorenes Paket blockiert nicht mehr alle Datenströme (wie es bei TCP der Fall ist). QUIC zeigt, dass UDP als Basis für leistungsfähige, zuverlässige Protokolle dienen kann.
UDP in der Praxis
Das Verständnis von UDP gehört zum Grundlagenwissen für Fachinformatiker für Systemintegration. Bei der Konfiguration von Firewalls, der Fehlersuche in Netzwerken oder der Analyse von Datenverkehr ist es wichtig zu wissen, welche Dienste UDP nutzen und wie sich UDP-Traffic von TCP unterscheidet.
Auch Fachinformatiker für Anwendungsentwicklung begegnen UDP, wenn sie Netzwerkanwendungen programmieren. Die Wahl zwischen UDP und TCP ist eine grundlegende Designentscheidung, die von den Anforderungen der Anwendung abhängt.
Analyse mit Wireshark
Mit Tools wie Wireshark kannst du UDP-Traffic im Netzwerk analysieren. Im Gegensatz zu TCP siehst du bei UDP keine Handshake-Pakete oder Bestätigung. Jedes Datagramm steht für sich allein:
# Beispiel: DNS-Anfrage (UDP)
Frame: 74 bytes
Ethernet II: Src: aa:bb:cc:dd:ee:ff, Dst: 11:22:33:44:55:66
IPv4: Src: 192.168.1.100, Dst: 8.8.8.8, Protocol: UDP (17)
UDP: Src Port: 54321, Dst Port: 53, Length: 40, Checksum: 0x1a2b
DNS: Standard query for example.com
Quellen und weiterführende Links
- RFC 768 - User Datagram Protocol - Offizielle UDP-Spezifikation
- Elektronik-Kompendium: UDP - Deutschsprachige Erklärung
- Wikipedia: User Datagram Protocol - Umfassende Übersicht
- QUIC Working Group - IETF - Informationen zu QUIC
Prüfungsbezug
Passt zu deiner Prüfungsvorbereitung
Wenn dir dieser Begriff in Aufgaben, Projektdokumentation oder Fachgespräch begegnet, ordne ihn direkt in den Prüfungsstoff ein.