Udp: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(13 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 7: Zeile 7:
 
keinerlei Mechanismen zur Verfügung stellt, die sichern, daß die Daten
 
keinerlei Mechanismen zur Verfügung stellt, die sichern, daß die Daten
 
auch tatsächlich beim Zielrechner ankommen. Sind die Daten aber beim
 
auch tatsächlich beim Zielrechner ankommen. Sind die Daten aber beim
Zielrechner angekommen, so sind sie auch korrekt. UDP bietet gegenüber
+
Zielrechner angekommen, so sind sie auch korrekt.  
TCP den Vorteil eines geringen Protokoll-Overheads. Viele Anwendungen,
 
bei denen nur eine geringen Anzahl von Daten übertragen wird (z.B.
 
Client/Server-Anwendungen, die auf der Grundlage einer Anfrage und einer
 
Antwort laufen), verwenden UDP als Transportprotokoll, da unter
 
Umständen der Aufwand zur Herstellung einer Verbindung und einer
 
zuverlässigen Datenübermittlung größer ist als die wiederholte
 
Übertragung der Daten.
 
  
 
Ein UDP-Segment besteht aus einem Header von 8 Byte, gefolgt von den
 
Ein UDP-Segment besteht aus einem Header von 8 Byte, gefolgt von den
Zeile 28: Zeile 21:
 
; Ziel-Port
 
; Ziel-Port
 
: gibt an, welcher Prozess das Paket empfangen soll.
 
: gibt an, welcher Prozess das Paket empfangen soll.
; {{Anker|Längenfeld}} Längenfeld
+
; 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 (bzw. 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.<ref>RFC 5405 – Unicast UDP Usage Guidelines</ref>
+
: 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 (bzw. 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.<ref>RFC 5405 – Unicast UDP Usage Guidelines</ref>
 
; Prüfsummenfeld
 
; 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.
+
: 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
 
;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 ganzzahligen Anzahl Oktette. Am Ende freibleibende Oktette werden mit Nullen aufgefüllt.
 
: 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 ganzzahligen Anzahl Oktette. Am Ende freibleibende Oktette werden mit Nullen aufgefüllt.
Zeile 38: Zeile 31:
 
=== Pseudo-Header ===
 
=== Pseudo-Header ===
  
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 Ü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:
  
[[Datei:Udp-package-scheme.svg|center|UDP-Datagramm-Schema]]
+
[[Image:Udp-package-scheme.png]]
 +
 
 +
=Beispiel=
 +
[[Datei:udp-1.png|700px]]

Aktuelle Version vom 27. März 2023, 11:37 Uhr

User Datagram Protocol (UDP)

Das User Datagram Protocol (UDP) ist im RFC 768 definiert. UDP ist ein unzuverlässiges, verbindungsloses Protokoll. Wie zuvor schon gesagt, bedeutet unzuverlässig in diesem Zusammenhang nicht, daß die Daten evtl. fehlerhaft beim Zielrechner ankommen, sondern, daß das Protokoll keinerlei Mechanismen zur Verfügung stellt, die sichern, daß die Daten auch tatsächlich beim Zielrechner ankommen. Sind die Daten aber beim Zielrechner angekommen, so sind sie auch korrekt.

Ein UDP-Segment besteht aus einem Header von 8 Byte, gefolgt von den Daten. Der Header ist in der folgenden Abbildung dargestellt: Der UDP-Header.

Header.png


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 (bzw. 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.<ref>RFC 5405 – Unicast UDP Usage Guidelines</ref>
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 ganzzahligen Anzahl Oktette. Am Ende freibleibende Oktette werden mit Nullen aufgefüllt.

Pseudo-Header

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:

Udp-package-scheme.png

Beispiel

Udp-1.png