User Datagram Protocol: Unterschied zwischen den Versionen

Aus Foxwiki
Markierung: Manuelle Zurücksetzung
Keine Bearbeitungszusammenfassung
 
Zeile 198: Zeile 198:
# https://de.wikipedia.org/wiki/User_Datagram_Protocol
# https://de.wikipedia.org/wiki/User_Datagram_Protocol


[[Kategorie:User Datagram Protocol]]
[[Kategorie:UDP]]
 
 
</noinclude>
</noinclude>

Aktuelle Version vom 15. Februar 2024, 13:27 Uhr

User Datagram Protocol (UDP) - minimales, verbindungsloses Netzwerkprotokoll der Transportschicht der Internetprotokolle

Beschreibung[Bearbeiten | Quelltext bearbeiten]

UDP im TCP/IP-Referenzmodell
Anwendung DNS DHCP
Transport UDP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet TokenBus TokenRing FDDI

UDP ermöglicht Anwendungssoftware Anwendungen den Versand von Datagramm en in Internet Protocol IP-basierten Rechnernetzen

  • Die Entwicklung von UDP begann 1977, als man für die IP-Telefonie|Übertragung von Sprache ein einfacheres Protokoll benötigte als das bisherige verbindungsorientierte Transmission Control Protocol TCP
  • Es wurde ein Protokoll benötigt, das nur für die Adressierung zuständig war, ohne die Datenübertragung zu sichern, da dies zu Verzögerungen bei der Sprachübertragung führen würde
  • Internetprotokollfamilie
  • Verbindungslose Übertragungvon Daten über das Internet

Funktionsweise[Bearbeiten | Quelltext bearbeiten]

UDP verwendet Port (Protokoll)Ports, um versendete Daten dem richtigen Computerprogramm Programm auf dem Zielrechner zukommen zu lassen
  • Dazu enthält jedes Datagramm die Port Nummer des Dienstes, der die Daten erhalten soll
  • Diese Erweiterung der Host-zu-Host-Übertragung des Internets Protokoll auf eine Prozess-zu-Prozess-Übertragung wird als Anwendungsmultiplexen und -demultiplexen bezeichnet
  • Zusätzlich bietet UDP die Möglichkeit einer Integritätsüberprüfung an, indem eine Prüfsumme mitgesendet wird
  • Dadurch können fehlerhaft übertragene Datagramme erkannt und verworfen werden

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

UDP ist eine Nachrichtenverbindung verbindungsloses
  • Das bedeutet, es gibt keine Garantie, dass ein einmal gesendetes Datenpaket|Paket auch ankommt, dass Pakete in der gleichen Reihenfolge ankommen, in der sie gesendet wurden, oder dass ein Paket nur einmal beim Empfänger eintrifft
  • Es gibt auch keine Gewähr dafür, dass die Daten unverfälscht oder unzugänglich für Dritte beim Empfänger eintreffen
  • Eine Anwendung, die UDP nutzt, muss daher gegenüber verloren gegangenen und unsortierten Paketen unempfindlich sein oder selbst entsprechende Korrekturmaßnahmen und ggfs. auch Sicherungsmaßnahmen vorsehen
  • Daneben bietet die ungesicherte Übertragung auch den Vorteil von geringen Übertragungsverzögerungsschwankungen: Geht bei einer TCP-Verbindung ein Paket verloren, wird es automatisch neu angefordert
  • Das braucht Zeit, die Übertragungsdauer kann daher schwanken, was für Multimediaanwendungen schlecht ist
  • Bei IP-Telefonie VoIP z. B.  käme es zu plötzlichen Aussetzern, beziehungsweise die Wiedergabepuffer müssten größer angelegt werden
  • Bei verbindungslosen Kommunikationsdiensten bringen verloren gegangene Pakete dagegen nicht die gesamte Übertragung ins Stocken, sondern vermindern lediglich die Qualität
  • Die maximale Größe eines UDP-Datagrammes beträgt theoretisch 65.535 Bytes, da das Length-Feld des UDP-Headers 16 Bit lang ist und die größte mit 16 Bit darstellbare Zahl gerade 65.535 (= 216−1) ist
  • Solch große Segmente werden jedoch von IP fragmentiert übertragen
  • In der Praxis unterliegt die maximal mögliche Länge eines UDP-Datagramms #Längenfeld|weiteren Einschränkungen
  • UDP ermöglicht Anwendungssoftware Anwendungen den Versand von Datagramm en in Internet Protocol IP-basierten Rechnernetz en
  • Die Entwicklung von UDP begann 1977, als man für die IP-Telefonie|Übertragung von Sprache ein einfacheres Protokoll benötigte als das bisherige verbindungsorientierte Transmission Control Protocol TCP
  • Es wurde ein Protokoll benötigt, das nur für die Adressierung zuständig war, ohne die Datenübertragung zu sichern, da dies zu Verzögerungen bei der Sprachübertragung führen würde

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

UDP ist eine Nachrichtenverbindung verbindungsloses
  • Das bedeutet, es gibt keine Garantie, dass ein einmal gesendetes Datenpaket|Paket auch ankommt, dass Pakete in der gleichen Reihenfolge ankommen, in der sie gesendet wurden, oder dass ein Paket nur einmal beim Empfänger eintrifft
  • Es gibt auch keine Gewähr dafür, dass die Daten unverfälscht oder unzugänglich für Dritte beim Empfänger eintreffen
  • Eine Anwendung, die UDP nutzt, muss daher gegenüber verloren gegangenen und unsortierten Paketen unempfindlich sein oder selbst entsprechende Korrekturmaßnahmen und ggfs
  • auch Sicherungsmaßnahmen vorsehen
  • Daneben bietet die ungesicherte Übertragung auch den Vorteil von geringen Übertragungsverzögerungsschwankungen: Geht bei einer TCP-Verbindung ein Paket verloren, wird es automatisch neu angefordert
  • Das braucht Zeit, die Übertragungsdauer kann daher schwanken, was für Multimediaanwendungen schlecht ist
  • Bei IP-Telefonie VoIP z. B. 
  • käme es zu plötzlichen Aussetzern, beziehungsweise die Wiedergabepuffer müssten größer angelegt werden
  • Bei verbindungslosen Kommunikationsdiensten bringen verloren gegangene Pakete dagegen nicht die gesamte Übertragung ins Stocken, sondern vermindern lediglich die Qualität
  • Die maximale Größe eines UDP-Datagrammes beträgt theoretisch 65.535 Bytes, da das Length-Feld des UDP-Headers 16 Bit lang ist und die größte mit 16 Bit darstellbare Zahl gerade 65.535 (= 216−1) ist
  • Solch große Segmente werden jedoch von IP fragmentiert übertragen
  • In der Praxis unterliegt die maximal mögliche Länge eines UDP-Datagramms #Längenfeld|weiteren Einschränkungen

UDP-Datagramm[Bearbeiten | Quelltext bearbeiten]

  • Neben den zu übertragenden Nutzdaten werden weitere Informationen mitgesendet, die sich immer am Anfang einer UDP-Botschaft befinden, im sogenannten Header
  • Der UDP-Header besteht aus vier Datenfeldern, die alle jeweils 16 Bit groß sind:
Bit 0 15 16 31
Quell-Port Ziel-Port
Länge Prüfsumme
Daten
UDP-Datagramm Header Format
Quell-Port
gibt die Port-Nummer des sendenden Prozesses an
  • Diese Information wird benötigt, damit der Empfänger auf das Paket antworten kann
  • Da UDP verbindungslos ist, ist der Quell-Port optional und kann auf den Wert „0“ gesetzt werden (für den Fall, dass keine Antwortpakete erwartet werden und nur Pakete zum Empfänger gesendet werden sollen)
Ziel-Port
gibt an, welcher Prozess das Paket empfangen soll
Längenfeld
gibt die Länge des Datagramms, bestehend aus den Daten und dem Header, in Oktett (Informatik)|Oktetten an
  • Der kleinstmögliche Wert sind 8 Oktette (beziehungsweise Byte)
  • Das Längenfeld legt eine theoretische Obergrenze von 216−1 = 65.535 Bytes (8 Byte Header + 65.527 Bytes Nutzdaten) fest
  • Die tatsächlich verfügbare Länge der Nutzdaten ist bedingt durch das zugrundeliegende IP-Protokoll jedoch auf 65.507 Bytes (65.535 – 8 Byte UDP Header – 20 Byte IP Header) bei Verwendung von IPv4 und 65.527 Bytes bei Nutzung von IPv6 beschränkt
Prüfsummenfeld
es kann eine 16 Bit große Prüfsumme mitgesendet werden
  • Die Prüfsumme wird über den sogenannten Pseudo-Header, den UDP-Header und die Daten gebildet
  • Die Prüfsumme ist optional, wird aber in der Praxis fast immer benutzt, falls nicht, wird diese auf „0“ gesetzt
Datenfeld
es enthält die eigentlichen Nutzdaten, auch Payload genannt
  • Das Feld ist optional und kann theoretisch auch komplett fehlen, was in der Praxis aber eigentlich nie vorkommt
Das Datenfeld besteht immer aus einer geraden Anzahl Oktette
  • Am Ende freibleibende Oktette werden mit Nullen aufgefüllt

Pseudo-Header[Bearbeiten | Quelltext bearbeiten]

Datei:Udp-package-scheme.svg|UDP-Datagramm-Schema|alternativtext=|rechts|332x332px

  • Für die Übertragung des UDP-Paketes ist das Internet Protocol|Internet-Protokoll (IP) vorgesehen
  • Dieses Protokoll setzt vor das UDP-Paket seinerseits einen weiteren Header, in dem sich die von IP benötigten Daten befinden:
  • Für die Erzeugung der UDP-Prüfsumme werden Teile dieses IP-Headers in einen sogenannten „Pseudo-Header“ übernommen
  • Er dient nur zur Erzeugung der Prüfsumme und wird nicht übertragen

IPv4[Bearbeiten | Quelltext bearbeiten]

Der Pseudo-Header hat bei IPv4 eine Größe von 12 Oktett (Informatik)Oktetts (96 Bit) und setzt sich zusammen aus Quell-IP-Adresse (32 Bit), Ziel-IP-Adresse (32 Bit), 8 Bit Leerfeld, 8 Bit Protokoll-ID (UDP hat die ID 17) und der Länge des UDP-Datagramms (16 Bit):

Bit 0 32 64 72 80 96
Quell-IP-Adresse Ziel-IP-Adresse 00000000 Protokoll-ID UDP-Datagramm-Länge
IPv4 Pseudo-Header

IPv6[Bearbeiten | Quelltext bearbeiten]

Bei IPv6 besitzt der Pseudo-Header eine Größe von 40 Oktetts (320 Bit)

  • Er setzt sich dabei folgendermaßen zusammen:
Bit 0 128 256 288 312 320
Quell-IP-Adresse Ziel-IP-Adresse Upper-Layer Packet Length 0
(24 Bit)
Next Header
IPv6 Pseudo-Header


Anhang[Bearbeiten | Quelltext bearbeiten]

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Dokumentation[Bearbeiten | Quelltext bearbeiten]

RFC[Bearbeiten | Quelltext bearbeiten]
RFC Titel
768 User Datagram Protocol
3828 The Lightweight User Datagram Protocol (UDP-Lite)
5405 Unicast UDP Usage Guidelines

Links[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]
  1. https://de.wikipedia.org/wiki/User_Datagram_Protocol