IT-Academy Logo
Sign Up Login Help
Home - Netzwerke - Protokolle - User Datagram Protocol



User Datagram Protocol

Es gibt verschiedene Anwendungen in Netzwerken, wo eine sichere TCP Verbindung nicht notwendig ist. Die Daten müssen schnell übertragen werden können. UDP übernimmt diese Art von Aufgaben.


Autor: Martin Puaschitz (onestone)
Datum: 23-01-2002, 19:06:21
Referenzen: Hall, Eric. A - Internet Core Protocols; O'Reily 2000
Schwierigkeit: Fortgeschrittene
Ansichten: 4954x
Rating: 7.67 (3x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



3

1.Einleitung

Im Gegensatz zu TCP, bietet UDP eigentlich fast keine Sicherheitsmechanismen, um die Gewährleistung der Datenübertragung zu sichern. Prinzipiell ist UDP ein leichtgewichtiges, aber unsicheres Transportmedium, das dennoch eine große Bedeutung in heutigen Netzwerken hat.

UDP ist in RFC 768 definiert, und im STD 6 (UDP ist ein Internet Standard Protokoll) wiederveröffentlicht worden. Die IP-Protocoll-ID für UDP ist 17. Sobald ein System ein IP Datagramm erhält, welches als Protokoll 17 gekennzeichnet ist, muss es an den lokalen UDP-Dienst weitergegeben werden.

UDP Pakete können mit Postkarten verglichen werden. Wir alle schreiben gelegentlich Postkarten, ob die Karte allerdings letztlich wirklich ankommt, ist fraglich – es würde aber auch kein Problem darstellen falls nicht. In den heutigen Zeiten kommt es allerdings nicht mehr allzu oft vor, dass die Post unsere Karten verliert – ähnlich wie bei Netzwerken. In den letzten Jahren wurden Netzwerke immer stabiler und sicherer. UDP ist nicht ganz unverlässlich, wobei zu beachten ist, dass – falls ein Paket verloren geht – UDP nicht die Schuld zuzuschreiben ist.

Ein großer Vorteil bei UDP gegenüber TCP ist, dass UDP keine direkten Verbindungen wie TCP zu seinem Empfänger braucht. Somit ist es möglich, z.B. Broadcasts an alle Rechner in einem Netzwerk zu senden, ohne wie bei TCP zuerst zu jedem einzelnen eine direkte Verbindung aufzubauen. Bei UDP werden solche Datenpakete gleichzeitig versendet. Sie sehen: UDP ist ein verbindungsloses Protokoll.

Obwohl UDP unverlässlich ist, gibt es viele verschiedene Anwendungen, welche UDP lieber als TCP benutzen. Ein Beispiel ist Streaming-Video. Hier werden Daten eines Videos in einem Strom überrtagen. Sobald ein Datenpaket fehlt, bemerkt der User dies durch fehlende Bilder. Würde diese Applikation über TCP laufen und ein Paket verloren gehen, müsste TCP dieses erneut anfordern – das kostet Zeit. UDP hingegen stört ein verlorenes Paket kaum – die Darstellung wird nur mit einer kleinen Unterbrechung weitergeführt – letztlich die schnellere Variante.

1.1. Datagrammorientierte Transport Services

Das Lokale UDP-Service beschäftigt sich immer nur mit einem Datagramm nach dem anderen. Sobald UDP eine 4 000 Bytes große Datenmenge für den Transport aus der Anwenderschicht erhält, verpackt UDP es in ein UDP-Datagramm und gibt es an IP weiter. IP kümmert sich nun, wie immer, um die Übertragung dieses Paketes. Falls das Datagramm fragmentiert wird, muss das IP-Service des Empfängers dafür sorgen, dass die Pakete auch wieder ein Datagramm ergeben – dieses wird dann an das UDP-Service des Empfängers weitergegeben.

Man erkennt, dass UDP im Vergleich zu TCP das Datagramm als ganzes an IP weitergibt. TCP ist ja ein kreiszentrales Modell und würde zuerst die Daten in mehrer Teile unterteilen, damit IP diese nicht selbst Fragmentieren muss.

Wofür sollte also jemand UDP verwenden? Eine sehr passende Anwendung ist, verschiedene Daten aus Datenbanken an andere weiterzuschicken. Wenn zum Beispiel eine Applikation sechs gleiche Datagramme an sechs veschiedene Rechner schicken möchte (dies könnte ein Netzwerkdrucker sein, der einen leeren Toner meldet), kann er die sechs identen Pakete gleichzeitig versenden. Bei TCP müsste er für jede Übertragung zuerst eine direkte Verbindung aufbauen, die Daten übersenden und am Schluss die Verbindung beenden.

Sie können sehen, dass UDP zwar unverlässlich ist, allerdings für verschiedene Anwendungen eindeutig besser und effizienter ist, als so manche Übertragung via TCP. Eine ganz bekannte Anwendung ist Trivial File Transfer Protocol (TFTP). Hier werden nur UDP Datagramme übertragen, um empfangene Daten zu bestätigen. Sobald der TFTP Server diese Bestätigung erhalten hat, sendet er neue Daten an den Empfänger. Diese Art der Datenübertragung erscheint zwar sehr umständlich, aber sie hat sich über die Jahre durchaus bewährt.

1.2. UDP Ports

UDP macht relativ wenig, es ist aber imstande facettenreichere Daten als ICMP zu versenden ohne einen Overhead wie TCP zu produzieren. Um dies zu erreichen, sendet und empfängt UDP die entsprechenden Daten von und zu IP. Um dies zu ermöglichen, muss UDP ein System bereitstellen, über welches Daten von IP weitergeleitet werden, und über welches Daten an IP zurückgeschickt werden.

Dies wird von einer Multiplex-Komponente innerhalb des UDP-Service gelöst. Bei dieser muss sich jede Anwendung anmelden und um eine Portzuweisung bitten. Dies wird bei Unix Systemen in der Datei /etc/services festgelegt. Sobald ein Port einer Anwendung zugewiesen wurde, werden jegliche Daten, die auf diesen Port gesendet werden, an die entsprechende Applikation weitergeleitet. Dieses Konzept ist in folgender Grafik dargestellt.

Grafik 3.12



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0