UDP (User Datagram Protocol)

Was ist UDP (User Datagram Protocol)?

UDP┬áist Teil der Internet Protocol-Suite, die zur Daten├╝bertragung zwischen Programmen verwendet wird, die auf verschiedenen Computern in einem Netzwerk ausgef├╝hrt werden. UDP wird verwendet, um kurze Nachrichten zu senden, die Datagramme genannt werden, und ist insgesamt ein im Vergleich zu TCP weniger zuverl├Ąssiges, verbindungsloses Protokoll. UDP┬á ist offiziell in RFC 768 definiert und wurde von David P. Reed formuliert. Das Benutzer-Datagramm-Protokoll ist ein OSI-Transportschicht-Protokoll (Open System Interconnection) f├╝r Client-Server-Netzwerkanwendungen. UDP verwendet ein einfaches ├ťbertragungsmodell, verzichtet jedoch auf Handshake-Dialoge, die Zuverl├Ąssigkeit, Kontinuit├Ąt und Datenintegrit├Ąt garantieren. Das Protokoll geht davon aus, dass eine Fehlerpr├╝fung und -korrektur nicht erforderlich ist, wodurch eine dahingehende Pr├╝fung auf der Netzwerkschnittstellenebene vermieden wird.

Ist UDP besser als TCP?

Die Antwort auf diese Frage h├Ąngt vom Kontext ab, da UDP zwar eine bessere Leistung, aber m├Âglicherweise auch eine schlechtere Qualit├Ąt als TCP bewirkt. Ein gutes Beispiel daf├╝r, wann UDP gegen├╝ber TCP bevorzugt wird, sind Anwendungen, die mit weniger Latenz besser laufen, wie zum Beispiel Online-Spiele, Video-Chats oder Sprach├╝bertragungen. Pakete k├Ânnen zwar verloren gehen, aber insgesamt entstehen weniger Verz├Âgerungen, die die Qualit├Ąt beeintr├Ąchtigen – insofern wird oft kein sp├╝rbarer Qualit├Ątsverlust wahrgenommen. Um eine h├Âhere Leistung zu erreichen, erlaubt das Protokoll, dass einzelne Pakete fallen gelassen werden (ohne Wiederholung der ├ťbertragung) und UDP-Pakete in einer anderen Reihenfolge empfangen werden k├Ânnen als sie gesendet wurden, sofern die Anwendung dies zul├Ąsst oder verlangt. Diese ├ťbertragungsart erm├Âglicht im Vergleich zu TCP geringeres Datenvolumen und kleinere Verz├Âgerungen. Da die Pakete grunds├Ątzlich immer gesendet werden und keine Fehlerpr├╝fung stattfindet, f├╝hrt dies zu weniger Bandbreitenlast.

UDP als Tunnelprotokoll

Eine zunehmend beliebte Verwendung von UDP ist dessen Einsatz als Tunnelprotokoll, bei dem ein Tunnelendpunkt die Pakete eines anderen Protokolls in UDP-Datagramme kapselt und an einen anderen Tunnelendpunkt ├╝bertr├Ągt. Dieser Punkt entkapselt die UDP-Datagramme und die in der Nutzlast enthaltenen urspr├╝nglichen Pakete werden weitergeleitet. Durch Tunnel werden virtuelle Verbindungen hergestellt, die scheinbar direkt mit Standorten verbunden sind, die in der physischen Internettopologie entfernt sind, und k├Ânnen zum Erstellen virtueller (privater) Netzwerke verwendet werden. Die Verwendung von UDP als Tunnelprotokoll ist attraktiv, wenn das Payload-Protokoll nicht von Middleboxen unterst├╝tzt wird, welche entlang des Pfades existieren k├Ânnen, da viele Middleboxen UDP-├ťbertragungen unterst├╝tzen. UDP bietet keine Kommunikationssicherheit. Anwendungen, die ihre Kommunikation vor Abh├Âren, Manipulation oder Nachrichtenf├Ąlschung sch├╝tzen m├╝ssen, m├╝ssen daher Sicherheitsdienste unter Verwendung zus├Ątzlicher Protokollmechanismen separat bereitstellen.

UDP Protokolllheader

Ein Computer kann UDP-Pakete senden, ohne zuerst eine Verbindung zum Empf├Ąnger herzustellen. Ein UDP-Datagramm wird in einem einzelnen IP-Paket ├╝bertragen und ist daher auf eine maximale Nutzlast von 65,507 Byte f├╝r IPv4 und 65,527 Byte f├╝r IPv6 beschr├Ąnkt. Die ├ťbertragung gro├čer IP-Pakete erfordert normalerweise eine IP-Fragmentierung. Fragmentierungen verringern die Zuverl├Ąssigkeit und Effizienz der Kommunikation und sollten daher vermieden werden. Um ein UDP-Datagramm zu ├╝bertragen, vervollst├Ąndigt ein Computer die entsprechenden Felder im UDP-Header (PCI) und leitet die Daten zusammen mit dem Header zur ├ťbertragung durch die IP-Netzwerkschicht weiter. Der UDP-Protokoll-Header besteht aus 8 Bytes an Protocol Control Information (PCI).

UDP Header-Felder

Der UDP-Header besteht aus vier Feldern mit je 2 Byte L├Ąnge.

UDP-Pakete von einem Client verwenden diesen als Service Access Point (SAP), um die Sitzung auf dem lokalen Client anzugeben, von dem das Paket ausgeht. UDP-Pakete von einem Server tragen den Server SAP in diesem Feld.
UDP-Pakete, die von einem Client kommen, verwenden diesen als Service Access Point (SAP), um den vom Remote-Server ben├Âtigten Service anzugeben. UDP-Pakete von einem Server tragen in diesem Feld den Client SAP.

Das Size-Feld enth├Ąlt Anzahl an Bytes, die die kombinierten UDP-Headerinformationen und Nutzdaten umfassen. Da die Headerl├Ąnge konstant ist, beschreibt dieses Feld effektiv die L├Ąnge des Datenabschnitts variabler Gr├Â├če (manchmal auch Nutzlast beziehungsweise Payload genannt).

Die Gr├Â├če von Datagrammen variiert abh├Ąngig von der Betriebsumgebung, betr├Ągt aber maximal 65535 Bytes.

Dieses Header-Feld enth├Ąlt eine Pr├╝fsumme, um zu verifizieren, dass die Ende-zu-Ende-Daten nicht durch Router oder Br├╝cken im Netzwerk oder durch die Verarbeitung in einem Endsystem besch├Ądigt wurden. UDP-Pr├╝fsummen sch├╝tzen Nachrichtendaten vor Manipulationen. Der Pr├╝fsummenwert stellt eine Codierung der Datagrammdaten dar, die zuerst vom Sender und sp├Ąter vom Empf├Ąnger berechnet werden. Sollte ein einzelnes Datagramm manipuliert werden oder w├Ąhrend der ├ťbertragung besch├Ądigt werden, erkennt das UDP-Protokoll eine Nicht├╝bereinstimmung bei der Pr├╝fsummenberechnung. Der Algorithmus zur Berechnung der Pr├╝fsumme ist der Standard Internet Checksum-Algorithmus.

Anforderungen an UDP (User Datagram Protocol) Anwendungen

Anwendungsentwicklern ist allgemein bekannt, das User Datagram Protocol keine Zuverl├Ąssigkeit bietet, da zum Beispiel mit dem UDP-Protokoll keine verlorenen Pakete erneut ├╝bertragen werden. Oft ist dies ein Hauptgrund, UDP f├╝r die Daten├╝bermittlung nicht in Betracht zu ziehen. Anwendungen, die eine zuverl├Ąssige Nachrichten├╝bermittlung unbedingt erfordern, m├╝ssen daher geeignete Protokollmechanismen in ihren Routinen implementieren (beispielsweise tftp). Der Best-Effort-Dienst von UDP sch├╝tzt nicht vor Datagrammduplizierung, das bedeutet eine Anwendung kann mehrere Kopien desselben UDP-Datagramms empfangen. Anwendungsentwickler m├╝ssen daher sicherstellen, dass ihre Anwendung die Datagrammduplizierung ordnungsgem├Ą├č verarbeitet, und m├╝ssen gegebenenfalls geeignete Mechanismen zum Erkennen von Duplikaten implementieren. Die Notwendigkeit, alle diese Protokollmechanismen zu codieren, kann durch Verwendung von TCP vermieden werden.

UDP Ports

Im Allgemeinen legen Clients den Quell-Port auf eine eindeutige Zahl fest, die sie selbst w├Ąhlen – normalerweise basierend auf dem Programm, das die Verbindung gestartet hat. Da diese Nummer vom Server in dessen Antworten zur├╝ckgegeben wird, kann der Absender wissen, an welche “Konversation” eingehende Pakete gesendet werden sollen. Der Zielport von Paketen, die vom Client gesendet werden, wird normalerweise auf einen der sogenannten Well-Known Ports gesetzt. Diese entsprechen ├╝blicherweise bestimmten weit verbreiteten Anwendungsarten, so wird Port 23 gerne f├╝r Telnet und Port 80 f├╝r Webserver verwendet. Ein Serverprozess (Programm) ├╝berwacht UDP-Pakete, die f├╝r eine bestimmte Well-Known Portnummer empfangen wurden, und teilt seiner lokalen UDP-Schicht mit, dass Pakete mit dieser Zielportnummer an das Serverprogramm gesendet werden sollen.

Tipp

Wenn Sie noch Fragen bez├╝glich eines Online Marketing Themas haben, dann k├Ânnen Sie gerne unseren Glossar besuchen und sich ├╝ber das Thema informieren, wo Sie noch speziell Fragen haben.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte