UDP - User Datagram Protocol

UDP ist ein verbindungsloses Transport-Protokoll und arbeitet auf der Schicht 4, der Transportschicht, des OSI-Schichtenmodells. Es hat damit eine vergleichbare Aufgabe, wie das verbindungsorientierte TCP. Allerdings arbeitet es verbindungslos und damit unsicher. Das bedeutet, der Absender weiß nicht, ob seine verschickten Datenpakete angekommen sind. Während TCP Bestätigungen beim Datenempfang sendet, verzichtet UDP darauf. Das hat den Vorteil, dass der Paket-Header viel kleiner ist und die Übertragungsstrecke keine Bestätigungen übertragen muss.
Typischerweise wird UDP bei DNS-Anfragen, VPN-Verbindungen, Audio- und Video-Streaming verwendet.

Das User Datagram Protocol (UDP) im TCP/IP-Protokollstapel

Schicht Dienste / Protokolle / Anwendungen
Anwendung HTTP IMAP DNS SNMP
Transport TCP UDP
Internet IP (IPv4 / IPv6)
Netzzugang Ethernet, WLAN, ...

Funktionsweise von UDP

UDP hat die selbe Aufgabe wie TCP, nur das nahezu alle Kontrollfunktionen fehlen, dadurch schlanker und einfacher zu verarbeiten ist.
So besitzt UDP keinerlei Methoden die sicherstellen, dass ein Datenpaket beim Empfänger ankommt. Ebenso entfällt die Nummerierung der Datenpakete. UDP ist nicht in der Lage die Datenpakete in der richtigen Reihenfolge zusammenzusetzen. Statt dessen werden die UDP-Pakete direkt an die Anwendung weitergeleitet. Für eine sichere Datenübertragung ist deshalb die Anwendung zuständig.
In der Regel wird UDP für Anwendungen und Dienste verwendet, die mit Paketverlusten umgehen können oder sich selber um das Verbindungsmanagement kümmern. UDP eignet sich auch für Anwendungen, die nur einzelne, nicht zusammenhängende Datenpakete transportieren müssen.

Anwendungsunterstützung durch Ports (Application Support)

Port-Struktur von UDP

Die Gemeinsamkeit von UDP und TCP ist die Port-Struktur, die mehreren Anwendungen gleichzeitig mehrere Verbindungen über das Netzwerk ermöglicht.
In jedem UDP-Datenpaket ist eine Nummer hinterlegt, die einen Port definiert, hinter dem sich eine Anwendung oder ein Dienst befindet, die diesen Port abhören und die Daten entgegennehmen. Die Port-Nummern beginnen von 0 an zu zählen und sind bis zur Port-Nummer 1.023 fest einer Anwendung zugeordnet. Die Port-Nummern bis 49.151 sind für Anwendungen registriert. Alle Port-Nummern darüber, können frei verwendet werden. Zum Beispiel als Absender-Port-Nummer. Der Empfänger eines Datenpakets schickt die Datenpakete an diesen Port zurück.
Mit der Port-Struktur wird sichergestellt, dass die Datenpakete an die richtige Anwendung übergeben werden.

Aufbau des UDP-Headers

Aufbau des UDP-Headers
UDP-Pakete setzen sich aus dem Header-Bereich und dem Daten-Bereich zusammen. Im Header sind alle Informationen enthalten, die eine einigermaßen geordnete Datenübertragung zulässt und die ein UDP-Paket als ein solches erkennen lassen. Der UDP-Header ist in 32-Bit-Blöcke unterteilt. Er besteht aus zwei solcher Blöcke, die den Quell- und Ziel-Port, die Länge des gesamten UDP-Pakets und die Check-Summe enthalten. Der UDP-Header ist mit insgesamt 8 Byte sehr schlank und lässt sich mit wenig Rechenleistung verarbeiten.

Bedeutung der Felder im UDP-Header

FeldinhaltBitBeschreibung
Quell-Port
(Source-Port)
16 Hier steht der Quell-Port, von der die Anwendung das UDP-Paket verschickt. Bei einer Stellenanzahl von 16 Bit beträgt der höchste Port 65535.
Ziel-Port
(Destination-Port)
16 Hier steht der Ziel-Port, über welchen das UDP-Paket der Anwendung zugestellt wird. Bei einer Stellenanzahl von 16 Bit beträgt der höchste Port 65535.
Länge16 In diesem Feld wird angegeben, wie lang das gesamte UDP-Paket ist. Über diesen Wert kann die Vollständigkeit des UDP-Paketes ermittelt werden.
Check-Summe16 Über dieses Feld wird kontrolliert, ob das UDP-Paket fehlerfrei übertragen wurde. Die Check-Summe bietet keinen Schutz vor Datenverlust.

Anwendungen von UDP

In der Regel wird UDP für Anwendungen und Dienste verwendet, die mit Paketverlusten umgehen können oder sich selber um das Verbindungsmanagement kümmern. Typisch sind DNS-Anfragen, VPN-Verbindungen, Audio- und Video-Streaming. Ebenfalls eignet sich UDP für Anwendungsprotokolle, deren Datenumfang in ein Datenpaket hineinpasst. Beispielsweise bei einer DNS-Anfrage. Hier lohnt es sich nicht erst eine Verbindung aufzubauen und diese später wieder abzubauen. Geht dieses eine Datenpaket verloren, dann stellt man einfach die DNS-Anfrage noch mal.

Auch Tunnelprotokolle, nicht nur bei VPN, verwenden in der Regel UDP statt TCP. Das ist deshalb so, weil der Payload der Anwendungsprotokolle bereits in TCP-Paketen eingepackt ist und es keinen Sinn macht diese noch einmal in TCP-Pakete zu packen. In so einem Fall wirken sich TCP-Optimierungen wie Slow Start und Congestion Window negativ aufeinander aus.
Außerdem könnte man bei Verwendung eines TCP-Tunnels Anwendungen keine echtzeitorientierten Protokolle nutzen. Wie zum Beispiel Audio- und Video-Streaming. Hier ist man auf eine kontinuierliche Datenübertragung angewiesen, was mit TCP nicht möglich ist, weil die Daten hier nur fließen, wenn auch Bestätigungspakete zurückkommen.
Für Echtzeitanwendungen ist UDP viel besser geeignet, weil es hier kein begrenzendes Verbindungsmanagement gibt.

RTP - Realtime Transport Protocol

UDP hat leider keine Funktionen, um Paketverluste festzustellen. Und bei TCP muss jedes verlorene Paket erneut gesendet werden. RTP baut auf UDP auf, damit der Empfänger wenigstens die Möglichkeit hat, Paketverluste festzustellen. Bei RTP geht es darum, dass Paketverluste bis zu einem bestimmten Grad akzeptabel sind.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Alles was Sie über Kommunikationstechnik wissen müssen.

Kommunikationstechnik-Fibel

Die Kommunikationstechnik-Fibel ist ein Buch über die Grundlagen der Kommunikationstechnik, Übertragungstechnik, Netze, Funktechnik, Mobilfunk, Breitbandtechnik und Voice over IP.

Das will ich haben!