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…“)
 
 
(14 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 23: Zeile 16:
  
  
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.
+
; 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:
 +
 
 +
[[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