User Datagram Protocol: Unterschied zwischen den Versionen

Aus Foxwiki
(Dirkwagner verschob die Seite UDP nach Kategorie:UDP)
Markierung: Neue Weiterleitung
 
Keine Bearbeitungszusammenfassung
 
(52 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
#WEITERLEITUNG [[:Kategorie:UDP]]
'''User Datagram Protocol''' (UDP) - minimales, [[verbindungsloses]] [[Netzwerkprotokoll]] der [[Transportschicht]] der [[Internetprotokolle]]
 
== Beschreibung ==
{| class="float"
|+ UDP im [[TCP/IP-Referenzmodell]]
|- style="background-color:#ddddff;border:none;padding:0.049cm;"
|| Anwendung
| colspan="2" | [[DNS]]
| colspan="2" | [[DHCP]]
|| …
|-
| style="background-color:#ffcc99;border:none;padding:0.049cm;" | Transport
| colspan="5" style="background-color:#9999ff;border:none;padding:0.049cm;" | UDP
|-
| style="background-color:#ddddff;border:none;padding:0.049cm;" | Internet
| colspan="5" style="background-color:#eeeeff;border:none;padding:0.049cm;" | [[IP]] ([[IPv4]], [[IPv6]])
|-
| style="background-color:#ddddff;border:none;padding:0.049cm;" | Netzzugang
| style="background-color:#eeeeee;border:none;padding:0.049cm;" | [[Ethernet]]
| style="background-color:#eeeeee;border:none;padding:0.049cm;" | [[TokenBus]]
| style="background-color:#eeeeee;border:none;padding:0.049cm;" | [[TokenRing]]
| style="background-color:#eeeeee;border:none;padding:0.049cm;" | [[FDDI]]
| style="background-color:#eeeeee;border:none;padding:0.049cm;" | …
|-
|}
 
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
* [https://de.wikipedia.org/wiki/Internetprotokollfamilie Internetprotokollfamilie]
* Verbindungslose Übertragungvon Daten über das Internet
 
== Funktionsweise ==
; 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 ==
; 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 (= 2<sup>16</sup>−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 ==
; 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.&nbsp;B.&nbsp;
* 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 (= 2<sup>16</sup>−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 ==
* 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:
 
{| class="wikitable"
|-
|| Bit
|| 0
|| 15
|| 16
|| 31
|-
|
| colspan="2"| Quell-Port
| colspan="2"| Ziel-Port
|-
|
| colspan="2"| Länge
| colspan="2"| Prüfsumme
|-
|
| colspan="2"| Daten
||
|-
|colspan="7"| 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 2<sup>16</sup>−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 ===
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 ====
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):
 
{| class="wikitable"
|-
| Bit
| 0
| 32
| 64
| 72
| 80
| 96
|-
|
|| Quell-IP-Adresse
|| Ziel-IP-Adresse
|| 00000000
|| Protokoll-ID
|| UDP-Datagramm-Länge
|
|-
|colspan="6"| IPv4 Pseudo-Header
|}
 
==== IPv6 ====
Bei IPv6 besitzt der Pseudo-Header eine Größe von 40 Oktetts (320 Bit)
* Er setzt sich dabei folgendermaßen zusammen:
 
{| class="wikitable" cellpadding="5" cellspacing="1"
|-
| Bit
| 0
| 128
| 256
| 288
| 312
| 320
|-
|
|| Quell-IP-Adresse
|| Ziel-IP-Adresse
|| Upper-Layer Packet Length
|| 0<br />(24 Bit)
|| Next Header
|
|-
|colspan="6"| IPv6 Pseudo-Header
|}
 
<noinclude>
 
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/User Datagram Protocol}}
 
==== Dokumentation ====
===== RFC =====
{| class="wikitable options big"
|-
! RFC !! Titel
|-
| [https://www.rfc-editor.org/info/rfc768 768] || User Datagram Protocol
|-
| [https://www.rfc-editor.org/info/rfc3828 3828] || The Lightweight User Datagram Protocol (UDP-Lite)
|-
| [https://www.rfc-editor.org/info/rfc5405 5405] || Unicast UDP Usage Guidelines
|}
 
==== Links ====
===== Weblinks =====
# https://de.wikipedia.org/wiki/User_Datagram_Protocol
 
[[Kategorie:UDP]]
</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