Was ist UDP?
UDP steht als Abkürzung für User Datagram Protocol und ist ein verbindungsloses Protokoll, das einfach sendet, ohne zu prüfen.
Im Gegensatz dazu baut das TCP (Transmission Control Protocol) zuerst zwischen Sender und Empfänger eine Verbindung auf und sendet dann die Daten inklusive Fehlerprüfung. Das TCP hat auch die Aufgabe, die zu übermittelnden Daten in kleine Datenpakete zu zerteilen. Diese können dann über verschiedene Wege zum Empfänger gelangen und dort in der richtigen Reihenfolge wieder zusammengesetzt werden.
Transportprotokolle TCP und UDP
Den Datenverkehr zwischen Sender und Empfänger kann man sich auch bildlich als Versand von Post bzw. Paketen vorstellen. Jedes Datenpaket steckt quasi in einem „Umschlag“, der Absende- und Empfängeradressen enthält. Diese Adressen-Information wird den Nutzdaten vorangestellt, so dass jede Komponente im Netz, die das Protokoll TCP/IP beherrscht, aus dem Anfang des Datenpaketes herauslesen kann, woher das Paket kommt und wohin es soll.
Komponenten, die das können und die zusätzlich die Möglichkeit haben, Datenpakete auf verschiedenen Wegen weiterzuschicken, sind Router. Diese nehmen von den Adressen immer erst die Netzanteile und entscheiden dann, ob das Netz direkt angeschlossen ist oder, falls nicht, an welchen nächsten Router es zu schicken ist.
Ein weiterer großer Vorteil des IP-Protokolls ist seine Unabhängigkeit vom tatsächlichen Datentransport. Die Datenpakete können über ein Ethernet, eine serielle Modemverbindung oder ein anderes Medium laufen. Für serielle Verbindungen, die häufig für die letzten Kilometer bis zum heimischen Rechner verwendet werden, gibt es spezielle IP-Protokolle. Angefangen hat es mit SLIP (Serial Line Internet Protocol), das heute weitgehend durch PPP (Point to Point Protocol) abgelöst ist.
Das Internet Protocol IP ist also hauptverantwortlich dafür, dass Daten den richtigen Weg im Internet finden. Wenn ein Datenpaket korrekt in einen „IP-Briefumschlag“ gesteckt wird, kann es beruhigt dem Netz übergeben werden. Was aber ist, wenn mal ein Datenpaket verloren geht? Wie versendet man überhaupt mehr Daten als die maximale Paketgröße von 1.500 Bytes? Was passiert, wenn auf einer größeren Maschine, die mehrere Benutzer gleichzeitig haben kann, Datenpakete für verschiedene Benutzer eintreffen?
Hierfür gibt es die Transportprotokolle TCP und UDP.
Innerhalb jedes IP-Briefumschlages befindet sich nun ein weiterer Briefumschlag, der vom Transportprotokoll geschrieben wird. In den meisten Fällen handelt es sich dabei um TCP. Auf diesem Umschlag steht die Information, die auf die obengenannten Probleme eingeht. Im TCP-Briefumschlag befinden sich dann endgültig die zu übertragenden Daten.
Falls man also eine große Menge an Daten zu übertragen hat, wird diese in Pakete gestückelt und die Pakete mit Nummern versehen. Die Nummern stehen dann auf dem TCP-Paket, damit die Information auf der Empfängerseite wieder richtig zusammengehängt werden kann. Vom Empfänger muß für jedes Paket eine Empfangsbestätigung geschickt werden, damit der Sender weiterarbeiten kann. Fehlt die Empfangsbestätigung für eine Nummer, so wird dieses Paket nach einer gewissen Zeit noch einmal gesandt. Weiter berechnet TCP eine Prüfsumme, die ebenfalls auf das TCP-Paket geschrieben wird. Der Empfänger berechnet ebenfalls die Prüfsumme und nimmt das Paket nur an, wenn er zum selben Ergebnis wie der Sender kommt. Verfälschte oder verlorengegangene IP-Pakete werden also auf der TCP-Ebene überwacht und gegebenenfalls wiederholt. So wird sichergestellt, daß alle Daten korrekt und vollständig übertragen werden.
Was aber, wenn der Zielrechner nicht erreichbar ist?
Dazu gibt es auf dem IP-„Paketaufkleber“ ein Byte namens „Time to live“ (TTL). Jeder Router, über den das Paket läuft, vermindert diesen Wert um eins. Wird der Wert Null, dann wirft der nächste Router das Datenpaket weg. Auch diese Weise wird verhindert, daß unzustellbare Pakete im Netz herumgeistern. Der Absender bekommt keine Fehlermeldung. Er kann aber aus der Tatsache, dass nach einer angemessenen Wartezeit keine Empfangsbestätigung kommt, schließen, dass der Empfänger nicht erreichbar ist.
Diese und weitere Eigenschaften von TCP, die hier darzustellen zu sehr ins Detail führen würde, machen das Verfahren der Datenübertragung allerdings auch relativ aufwendig. Außerdem können (z. B. durch Warten auf die Empfangsbestätigung) durch TCP auch Verzögerungen auftreten. Es gibt nun Fälle, in denen sich der Aufwand nicht lohnt, und stattdessen eine schnelle Übertragung wichtiger ist. Für diese Fälle gibt es das Transportprotokoll UDP.
UDP
Hier existieren keine Empfangsbestätigungen. Die Anwendung, also das Programm, das UDP benutzt, muss damit fertig werden, wenn gesendete Daten nicht ankommen. Dafür können die Daten ohne großen Aufwand beliebig schnell ins Netz hinausgeschoben werden.
Aus diesem Grund wird von den Herstellern von Beleuchtungsanlagen in der Regel das Datenprotokoll UDP eingesetzt. Das heißt, dass zum Beispiel beim Synchronisieren von Lichtstellanlagen TCP eingesetzt wird und bei „Echtzeit-Aktionen“, also zum Beispiel das Wiedergeben von gespeicherten Lichtstimmungen UDP eingesetzt wird.
Übersicht UDP und TCP
Eigenschaft | UDP | TCP |
Nachrichtenbegrenzung | JA | Nein |
Prüfsumme | Nein | JA |
Bestätigung | Nein | JA |
Erkennen doppelter Übertragung | Nein | JA |
Datenflusssteuerung | Nein | JA |