Udp: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==User Datagram Protocol (UDP)== Das User Datagram Protocol (UDP) ist im RFC 768 definiert. UDP ist ein unzuverlässiges, verbindungsloses Protokoll. Wie zuvo…“)
 
Zeile 23: Zeile 23:
  
  
Die Sender- und Empfänger-Portnummern erfüllen den gleichen Zweck wie
+
 
beim Transmission Control Protocol. Sie identifizieren die Endpunkte der
+
; Quell-Port
Quell- und Zielmaschine. Das Feld für die Länge enthält die Länge des
+
: 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).
gesamten Datengramms, inklusive der Länge des Protokollkopfes. Die
+
; Ziel-Port
Prüfsumme enthält die Internet-Prüfsumme der UDP-Daten, des
+
: gibt an, welcher Prozess das Paket empfangen soll.
Protokollkopfs und des Pseudo-Headers. Das Prüfsummenfeld ist optional.
+
; {{Anker|Längenfeld}} Längenfeld
Enthält das Feld eine 0, wurde vom Absender keine Prüfsumme
+
: 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>
eingetragen und somit findet beim Empfänger keine Überprüfung statt.
+
; Prüfsummenfeld
Das User Datagram Protocol liefert über die Leistungen des Internet
+
: 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.
Protokolls hinaus nur Portnummern für die Adressierung der
+
;Datenfeld
Kommunikationsendpunkte und eine optionale Prüfsumme. Das Protokoll
+
: 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.
beinhaltet keine Transportquittungen oder andere Mechanismen für die
+
 
Bereitstellung einer zuverlässigen Ende-zu-Ende-Verbindung. Hierdurch
+
<div id='Pseudo-Header'></div>
wird UDP allerdings sehr effizient und eignet sich somit besonders für
+
=== Pseudo-Header ===
Anwendungen, bei denen es in erster Linie auf die Geschwindigkeit der
+
 
Datenübertragung ankommt (z.B. verteilte Dateisysteme wie NFS).
+
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]]

Version vom 25. Januar 2017, 11:56 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. UDP bietet gegenüber 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 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.
Vorlage:Anker Längenfeld
gibt die Länge des Datagramms, bestehend aus den Daten und dem Header, in 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 Protokoll (IP) vorgesehen. Dieses Protokoll setzt vor das UDP-Paket seinerseits einen weiteren Header, in dem sich die von IP benötigten Daten befinden: