Udp: Unterschied zwischen den Versionen
Zeile 33: | Zeile 33: | ||
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: | ||
− | [[Image:Udp-package-scheme. | + | [[Image:Udp-package-scheme.png]] |
=Beispiel= | =Beispiel= | ||
[[Datei:udp-1.png|700px]] | [[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.
- 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: