logo

Benutzer-Datagram-Protokoll (UDP)

Benutzer-Datagram-Protokoll (UDP) ist ein Transport Layer-Protokoll. UDP ist Teil der Internetprotokoll-Suite, die als UDP/IP-Suite bezeichnet wird. Im Gegensatz zu TCP ist es ein unzuverlässiges und verbindungsloses Protokoll. Es ist also nicht erforderlich, vor der Datenübertragung eine Verbindung herzustellen. UDP hilft beim Aufbau von Verbindungen mit geringer Latenz und Verlusttoleranz über das Netzwerk. Das UDP ermöglicht die Prozess-zu-Prozess-Kommunikation.

Was ist das User Datagram Protocol?

Obwohl das Transmission Control Protocol (TCP) das dominierende Transportschichtprotokoll ist, das bei den meisten Internetdiensten verwendet wird; bietet sichere Lieferung, Zuverlässigkeit und vieles mehr, aber all diese Dienste kosten uns zusätzlichen Overhead und Latenz. Hier kommt UDP ins Spiel. Für Echtzeitdienste wie Computerspiele, Sprach- oder Videokommunikation und Live-Konferenzen; wir brauchen UDP. Da eine hohe Leistung erforderlich ist, ermöglicht UDP das Verwerfen von Paketen, anstatt verzögerte Pakete zu verarbeiten. Bei UDP gibt es keine Fehlerprüfung, wodurch auch Bandbreite gespart wird.



UDP-gif

UDP-Header

Der UDP-Header ist ein 8 Byte fester und einfacher Header, während er für TCP zwischen 20 Byte und 60 Byte variieren kann. Die ersten 8 Bytes enthalten alle notwendigen Header-Informationen und der restliche Teil besteht aus Daten. UDP-Portnummernfelder sind jeweils 16 Bit lang, daher ist der Bereich für Portnummern von 0 bis 65535 definiert; Portnummer 0 ist reserviert. Portnummern helfen dabei, verschiedene Benutzeranfragen oder Prozesse zu unterscheiden.

UDP-Header



UDP-Header

  1. Quellport: Der Quellport ist ein 2 Byte langes Feld, das zur Identifizierung der Portnummer der Quelle verwendet wird.
  2. Zielhafen: Es handelt sich um ein 2 Byte langes Feld, das zur Identifizierung des Ports des Zielpakets verwendet wird.
  3. Länge: Länge ist die Länge von UDP einschließlich des Headers und der Daten. Es ist ein 16-Bit-Feld.
  4. Prüfsumme: Die Prüfsumme ist ein 2 Byte langes Feld. Es ist das 16-Bit-Einserkomplement der Einerkomplementsumme des UDP-Headers, des Pseudo-Headers der Informationen aus dem IP-Header und der Daten, am Ende (falls erforderlich) mit Null-Oktetten aufgefüllt, um ein Vielfaches von zwei zu bilden Oktette.

Anmerkungen - Im Gegensatz zu TCP ist die Berechnung der Prüfsumme bei UDP nicht zwingend erforderlich. UDP bietet keine Fehlerkontrolle oder Flusskontrolle. Daher ist UDP für die Fehlerberichterstattung auf IP und ICMP angewiesen. Außerdem stellt UDP Portnummern bereit, sodass zwischen Benutzeranfragen unterschieden werden kann.

Anwendungen von UDP

  • Wird für die einfache Anfrage-Antwort-Kommunikation verwendet, wenn die Datenmenge geringer ist und daher weniger Bedenken hinsichtlich der Fluss- und Fehlerkontrolle bestehen.
  • Es ist ein geeignetes Protokoll für Multicasting, da UDP Paketvermittlung unterstützt.
  • UDP wird für einige Routing-Update-Protokolle wie RIP (Routing Information Protocol) verwendet.
  • Wird normalerweise für Echtzeitanwendungen verwendet, die ungleichmäßige Verzögerungen zwischen Abschnitten einer empfangenen Nachricht nicht tolerieren können.
  • UDP wird häufig im Online-Gaming verwendet, wo geringe Latenz und Hochgeschwindigkeitskommunikation für ein gutes Spielerlebnis unerlässlich sind. Spieleserver senden oft kleine, häufige Datenpakete an Clients, und UDP eignet sich gut für diese Art der Kommunikation, da es schnell und leichtgewichtig ist.
  • Streaming-Media-Anwendungen wie IPTV, Online-Radio und Videokonferenzen verwenden UDP, um Audio- und Videodaten in Echtzeit zu übertragen. Der Verlust einiger Pakete kann bei diesen Anwendungen toleriert werden, da die Daten kontinuierlich fließen und keine erneute Übertragung erforderlich ist.
  • VoIP-Dienste (Voice over Internet Protocol) wie Skype und WhatsApp nutzen UDP für die Sprachkommunikation in Echtzeit. Die Verzögerung bei der Sprachkommunikation kann sich bemerkbar machen, wenn Pakete aufgrund der Überlastungskontrolle verzögert werden. Daher wird UDP verwendet, um eine schnelle und effiziente Datenübertragung sicherzustellen.
  • DNS (Domain Name System) verwendet auch UDP für seine Abfrage-/Antwortnachrichten. DNS-Anfragen sind in der Regel klein und erfordern eine schnelle Antwortzeit, weshalb UDP ein geeignetes Protokoll für diese Anwendung ist.
  • DHCP (Dynamic Host Configuration Protocol) verwendet UDP, um Geräten in einem Netzwerk dynamisch IP-Adressen zuzuweisen. DHCP-Nachrichten sind normalerweise klein und die durch Paketverlust oder Neuübertragung verursachte Verzögerung ist für diese Anwendung im Allgemeinen nicht kritisch.
  • Folgende Implementierungen verwenden UDP als Transportschichtprotokoll:
    • NTP (Network Time Protocol)
    • DNS (Domain Name Service)
    • BOOTP, DHCP.
    • NNP (Network News Protocol)
    • Zitat des Tagesprotokolls
    • TFTP, RTSP, RIP.
  • Die Anwendungsschicht kann einige der Aufgaben über UDP erledigen.
    • Route verfolgen
    • Route aufzeichnen
    • Zeitstempel
  • UDP nimmt ein Datagramm von der Netzwerkschicht, hängt seinen Header an und sendet es an den Benutzer. Es funktioniert also schnell.
  • Tatsächlich ist UDP ein Nullprotokoll, wenn Sie das Prüfsummenfeld entfernen.
    1. Reduzieren Sie den Bedarf an Computerressourcen.
    2. Bei Verwendung von Multicast oder Broadcast zur Übertragung.
    3. Die Übertragung von Echtzeitpaketen, hauptsächlich in Multimediaanwendungen.

Vorteile von UDP

  • Geschwindigkeit: UDP ist schneller als TCP, da es keinen Aufwand für den Verbindungsaufbau und die Gewährleistung einer zuverlässigen Datenübermittlung hat.
  • Geringere Latenz: Da kein Verbindungsaufbau erfolgt, ist die Latenz geringer und die Reaktionszeit schneller.
  • Einfachheit: UDP verfügt über ein einfacheres Protokolldesign als TCP, wodurch es einfacher zu implementieren und zu verwalten ist.
  • Broadcast-Unterstützung: UDP unterstützt die Übertragung an mehrere Empfänger und eignet sich daher für Anwendungen wie Video-Streaming und Online-Spiele.
  • Kleinere Paketgröße: UDP verwendet kleinere Paketgrößen als TCP, Dies kann die Überlastung des Netzwerks reduzieren und die Gesamtleistung des Netzwerks verbessern.
  • Das User Datagram Protocol (UDP) ist sowohl hinsichtlich der Latenz als auch der Bandbreite effizienter.

Nachteile von UDP

  • Keine Zuverlässigkeit: UDP übernimmt keine Garantie für die Zustellung von Paketen oder die Reihenfolge der Zustellung, was zu fehlenden oder doppelten Daten führen kann.
  • Keine Staukontrolle: UDP verfügt nicht über eine Überlastungskontrolle, was bedeutet, dass es Pakete mit einer Geschwindigkeit senden kann, die zu einer Überlastung des Netzwerks führen kann.
  • Keine Flusskontrolle: UDP verfügt nicht über eine Flusskontrolle, was bedeutet, dass es den Empfänger mit Paketen überfordern kann, die es nicht verarbeiten kann.
  • Anfällig für Angriffe: UDP ist anfällig für Denial-of-Service-Angriffe, bei denen ein Angreifer ein Netzwerk mit UDP-Paketen überfluten kann, wodurch das Netzwerk überlastet wird und zum Absturz kommt.
  • Begrenzte Anwendungsfälle: UDP eignet sich nicht für Anwendungen, die eine zuverlässige Datenübermittlung erfordern, wie z. B. E-Mail oder Dateiübertragungen, und ist besser für Anwendungen geeignet, die einen gewissen Datenverlust tolerieren können, wie z. B. Video-Streaming oder Online-Spiele.

UDP-Pseudo-Header

  • Der Zweck der Verwendung eines Pseudo-Headers besteht darin, zu überprüfen, ob das UDP-Paket sein korrektes Ziel erreicht hat
  • Das richtige Ziel besteht aus einem bestimmten Computer und einer bestimmten Protokollportnummer innerhalb dieses Computers

UDP-Pseudoheader



Details zum UDP-Pseudo-Header

  • Der UDP-Header selbst gibt nur die Protokoll-Portnummer an. Um das Ziel zu überprüfen, berechnet UDP auf dem sendenden Computer eine Prüfsumme, die sowohl die Ziel-IP-Adresse als auch das UDP-Paket abdeckt.
  • Am endgültigen Ziel überprüft die UDP-Software die Prüfsumme anhand der Ziel-IP-Adresse, die aus dem Header des IP-Pakets stammt, das die UDP-Nachricht übermittelt hat.
  • Wenn die Prüfsumme übereinstimmt, muss es wahr sein, dass das Paket den vorgesehenen Zielhost sowie den richtigen Protokollport innerhalb dieses Hosts erreicht hat.

Benutzeroberfläche

Eine Benutzeroberfläche sollte die Erstellung neuer Empfangsports, Empfangsoperationen an den Empfangsports, die die Datenoktette und eine Angabe des Quellports und der Quelladresse zurückgeben, sowie eine Operation ermöglichen, die das Senden eines Datagramms unter Angabe der Daten, der Quelle und ermöglicht Zielports und Adresse, die gesendet werden sollen.

IP-Schnittstelle

  • Das UDP-Modul muss in der Lage sein, die Quell- und Ziel-Internetadresse sowie das Protokollfeld aus dem Internet-Header zu ermitteln
  • Eine mögliche UDP/IP-Schnittstelle würde als Reaktion auf einen Empfangsvorgang das gesamte Internet-Datagramm einschließlich des gesamten Internet-Headers zurückgeben
  • Eine solche Schnittstelle würde es dem UDP auch ermöglichen, ein vollständiges Internet-Datagramm inklusive Header an die zu sendende IP zu übergeben. Die IP würde bestimmte Felder auf Konsistenz prüfen und die Internet-Header-Prüfsumme berechnen.
  • Über die IP-Schnittstelle kann das UDP-Modul mit der Netzwerkschicht des Protokollstapels interagieren, die für die Weiterleitung und Übermittlung von Daten im gesamten Netzwerk verantwortlich ist.
  • Die IP-Schnittstelle bietet dem UDP-Modul einen Mechanismus zur Kommunikation mit anderen Hosts im Netzwerk, indem es Zugriff auf das zugrunde liegende IP-Protokoll ermöglicht.
  • Über die IP-Schnittstelle kann das UDP-Modul mit Hilfe von IP-Routing- und Adressierungsmechanismen Datenpakete über das Netzwerk senden und empfangen.
  • Die IP-Schnittstelle bietet eine Abstraktionsebene, die es dem UDP-Modul ermöglicht, mit der Netzwerkschicht zu interagieren, ohne sich direkt mit den Komplexitäten des IP-Routings und der IP-Adressierung befassen zu müssen.
  • Die IP-Schnittstelle übernimmt auch die Fragmentierung und Neuzusammensetzung von IP-Paketen, was für große Datenübertragungen wichtig ist, die die vom Netzwerk maximal zulässige Paketgröße überschreiten können.
  • Die IP-Schnittstelle kann auch zusätzliche Dienste bereitstellen, beispielsweise die Unterstützung von Quality of Service (QoS)-Parametern und Sicherheitsmechanismen wie IPsec.
  • Die IP-Schnittstelle ist eine entscheidende Komponente der Internet Protocol Suite, da sie die Kommunikation zwischen Hosts im Internet ermöglicht und die nahtlose Übertragung von Datenpaketen über das Netzwerk ermöglicht.

GATE-Fragen zum Üben

  1. GATE CS 2013, Frage 12
  2. GATE CS 2012, Frage 65
  3. GATE CS 2007, Frage 20
  4. GATE CS 2005, Frage 23
  5. GATE IT 2008, Frage 66
  6. GATE Mock 2015, Frage 5

Häufig gestellte Fragen zu UDP – FAQs

1. Nennen Sie die Protokolle, die UDP verwenden?

Das Protokoll, das das UDP-Modell verwendet, ist:

2. Was ist schneller: TCP oder UDP?

UDP ist schneller als TCP.