Zum Inhalt springen

User Datagram Protocol

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. Oktober 2005 um 15:41 Uhr durch 80.108.202.152 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

UDP im TCP/IP-Protokollstapel

Anwendung DNS DHCP NTP ...
Transport UDP
Netzwerk IP
Netzzugang Ethernet Token
Ring
FDDI ...

Das User Datagram Protocol (UDP) ist ein minimales, verbindungsloses Netzprotokoll. Es gehört zur Transportschicht der TCP/IP-Protokollfamilie und ist im Gegensatz zu TCP nicht auf Zuverlässigkeit ausgelegt.

UDP erfüllt im Wesentlichen den Zweck, die durch die IP-Schicht hergestellte Endsystemverbindung um eine Anwendungsschnittstelle (Ports) zu erweitern. Die Qualität der darunter liegenden Dienste, insbesondere die Zuverlässigkeit der Übertragung, erhöht UDP hingegen nicht.

UDP-Datagramm

Das UDP-Paket wird zur Übertragung in ein IP-Paket gekapselt. Neben dem eigentlichen UDP-Header besitzt das UDP-Datagramm noch einen sog. Pseudo-Header.

UDP-Datagramm-Schema
UDP-Datagramm-Schema



0 8 16 24 31
Quell-Port Ziel-Port
Länge Prüfsumme
Daten

Der UDP-Header besteht aus vier Headerfeldern, von denen zwei optional sind. Die Quell- und Ziel-Port Felder sind 16 Bit groß und identifizieren den sendenden und den empfangenden Prozess. Da UDP verbindungslos ist, ist der Quell-Port optional. Er wird dann auf 0 gesetzt. Den Portfeldern folgt das verbindliche Längenfeld, das die Größe der Daten und des Headers des UDP-Datagramms in Oktetten enthält. Der kleinstmögliche Wert sind 8 Oktette. Das letzte Headerfeld ist eine 16 Bit große Prüfsumme über den Header, den so genannten Pseudo-Header und den Daten. Die Prüfsumme ist auch optional, wird aber in der Praxis fast immer benutzt (falls nicht, wird sie ebenfalls auf 0 gesetzt).

Dem Header folgen anschließend die Nutzdaten.

Pseudo- Header

UDP-Pseudo-Header
UDP-Pseudo-Header



Für die Erzeugung der UDP-Prüfsumme gibt es den Pseudo-Header. Damit werden Teile des IP-Headers in die UDP-Prüfsumme übernommen. Er dient nur zur Erzeugung der Prüfsumme und wird nicht übertragen. Er hat eine Länge von 12 Byte und setzt sich zusammen aus IP-Quelladresse (32 Bit), IP-Ziel-Adresse (ebenfalls 32 Bit), 8 Bit Leerfeld, 8 Bit Protokoll-ID (UDP hat die ID 17) und der Länge des UDP-Datagramms (16 Bit).

Eigenschaften

Verbindungslos bedeutet, dass nicht erst eine Verbindung zum Gegenüber aufgebaut wird (mittels Handshaking wie bei TCP), sondern dass sofort die Daten zu der Gegenstelle geschickt werden. Es wird nicht garantiert, dass ein einmal gesendetes Paket ankommt oder dass Pakete in der gleichen Reihenfolge ankommen, in der sie gesendet wurden; eine Quittierung ist nicht vorgesehen. Die Kommunikationspartner können also nicht feststellen, ob Pakete verloren gingen oder wie lange sie verzögert wurden (Delay). Auch eine Vervielfältigung von Paketen kann auftreten. Eine Anwendung, die UDP nutzt, muss daher gegenüber verloren gegangenen und umsortierten Paketen unempfindlich sein oder selbst entsprechende Korrekturmaßnahmen beinhalten.

Da vor Übertragungsbeginn nicht erst eine Verbindung aufgebaut werden muss, können die Hosts schneller mit dem Datenaustausch beginnen. Dies fällt vor allem bei Anwendungen ins Gewicht, bei denen nur kleine Datenmengen ausgetauscht werden müssen. Ein Beispiel hierzu ist das Domain Name System, das auf UDP aufsetzt: hier werden üblicherweise nur zwei Pakete ausgetauscht, ein Paket mit der Anfrage und eines mit der Antwort. Hierzu erst noch per Drei-Wege-Handshake eine Verbindung aufzubauen würde lediglich Overhead erzeugen. Daneben bietet die ungesicherte Übertragung auch den Vorteil von geringen Übertragungsverzögerungsschwankungen: geht bei einer TCP-Verbindung ein Paket verloren, so muss es erneut angefordert werden. Dies braucht Zeit, die Übertragungsdauer kann daher schwanken, was für Multimediaanwendungen schlecht ist. Bei VoIP z.B. würde es zu plötzlichen Aussetzern kommen bzw die Wiedergabepuffer müssten größer angelegt werden. Solche Anwendungen setzen daher auf UDP, verlorengeganene Pakete bringen hier nicht die gesamte Übertragung ins Stocken. Verweis auf Portnummern.

Siehe auch

UDPsec, Vorschlag einer Modifikation von UDP für verbesserte Sicherheit

Vorlage:WikiReader Internet