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