UDP und verbindungsloser Transport
Das User Datagram Protocol ist der leichtgewichtige, verbindungslose Transportdienst des Internets, der dem Best-Effort-Dienst von IP kaum mehr als Prozess-Multiplexing und eine optionale Prüfsumme hinzufügt. Anwendungen profitieren so von minimalem Overhead und geringer Latenz, allerdings auf Kosten von Zuverlässigkeitsgarantien.
Definition
Das User Datagram Protocol ist ein verbindungsloses Transportprotokoll, das eine Best-Effort-, nachrichtenorientierte Zustellung zwischen Prozessen ermöglicht. Es fügt der Netzwerkschicht portbasiertes Multiplexing und eine optionale Prüfsumme hinzu, bietet jedoch keine Zuverlässigkeit, Reihenfolgegarantie, Flusskontrolle oder Überlastungskontrolle.
Scope
Dieses Thema behandelt den verbindungslosen Transport: das UDP-Segmentformat, sein Multiplexing und Demultiplexing mittels Portnummern, seine optionale Prüfsumme und die Gründe, warum eine Anwendung es gegenüber TCP wählen würde – keine Verzögerung beim Verbindungsaufbau, keine Drosselung durch Überlastungskontrolle, feinere Kontrolle darüber, was und wann gesendet wird, und geringer Overhead pro Paket. Es werden typische UDP-basierte Anwendungen und die Verantwortlichkeiten (wie Zuverlässigkeit oder Ratenkontrolle) untersucht, die auf die Anwendung übergehen. Die Zuverlässigkeits- und Überlastungsmechanismen von TCP sind ausgeschlossen.
Core questions
- Welche minimalen Dienste fügt UDP zusätzlich zu IP hinzu?
- Wie multiplexiert und demultiplexiert UDP Daten mithilfe von Portnummern?
- Warum würde eine Anwendung UDP gegenüber TCP bevorzugen?
- Welche Verantwortlichkeiten, wie Zuverlässigkeit und Ratenkontrolle, gehen bei UDP auf die Anwendung über?
- Welche Arten von Anwendungen verwenden typischerweise UDP?
Key concepts
- verbindungsloser Dienst
- Datagramm- (Nachrichten-) Orientierung
- UDP-Segmentformat
- portbasiertes Multiplexing/Demultiplexing
- optionale Prüfsumme
- geringer Overhead und geringe Latenz
- keine Überlastungskontrolle
- Zuverlässigkeit auf Anwendungsebene
Key theories
- Minimaler verbindungsloser Dienst
- UDP stellt den Best-Effort-Datagramm-Dienst von IP den Anwendungen nahezu unverändert zur Verfügung, indem es lediglich Multiplexing über Ports und eine optionale Prüfsumme hinzufügt. Es gibt daher keinen Aufbau, keinen Zustand und keine automatische Wiederherstellung – es tauscht Garantien gegen Einfachheit und geringe Latenz ein.
- Anwendungsgesteuerter Transport
- Durch das Vermeiden der Überlastungskontrolle und Zuverlässigkeit von TCP gibt UDP einer Anwendung direkte Kontrolle über das Timing und darüber, was erneut übertragen werden soll. Dies eignet sich für Echtzeit- und benutzerdefinierte Protokolle, verpflichtet die Anwendung jedoch, Verluste zu handhaben und eine Überlastung des Netzwerks selbst zu vermeiden.
Clinical relevance
UDP bildet die Grundlage für Dienste, bei denen geringe Latenz oder feine Kontrolle wichtiger sind als garantierte Zustellung: DNS-Lookups, Echtzeit-Sprach- und Videoübertragung, Online-Spiele und Netzwerkmanagement. Neuere Transportprotokolle wie QUIC bauen genau auf UDP auf, um die Kontrolle über den Transport zu erlangen und gleichzeitig die Einschränkungen von TCP zu umgehen, wodurch der verbindungslose Transport für moderne Netzwerke mit geringer Latenz von zentraler Bedeutung wird.
History
UDP wurde 1980 in RFC 768 als minimaler Transportdienst für Anwendungen spezifiziert, die die Mechanismen von TCP nicht benötigten, als TCP und IP in separate Protokolle unterteilt wurden. Es ist im Wesentlichen unverändert geblieben, und seine Rolle hat zugenommen, da latenzempfindliche Anwendungen sich verbreiteten und Entwickler neue Transportfunktionen, einschließlich des QUIC-Protokolls, darauf aufbauten.
Key figures
- Jon Postel
- James F. Kurose
- Keith W. Ross
Related topics
Seminal works
- rfc768
- kurose2021
Frequently asked questions
- Wenn UDP unzuverlässig ist, warum wird es dann verwendet?
- Für viele Anwendungen ist eine schnelle Zustellung wichtiger als eine perfekte Zustellung. Echtzeit-Sprach- und Videoübertragungen können gelegentliche Verluste tolerieren, aber keine Verzögerungen; DNS profitiert von einer schnellen Einzelabfrage, und einige Anwendungen implementieren ihre eigene Zuverlässigkeit. Der Mangel an Verbindungsaufbau und Überlastungsdrosselung bei UDP bietet ihnen geringere Latenz und mehr Kontrolle.
- Leistet UDP mehr als IP?
- Ja, aber wenig. UDP fügt Portnummern hinzu, damit Daten den richtigen Anwendungsprozess auf einem Host erreichen (Multiplexing und Demultiplexing), und eine optionale Prüfsumme zur Erkennung von Beschädigungen. Darüber hinaus lässt es die Best-Effort-, verbindungslose Zustellung von IP unverändert.