UDP alias User Datagram Protocol

Die Geschichte von UDP reicht bis ins Jahr 1977 zurück. Die Netzwerktechnologie breitete sich rasch aus und bei den Versuchen, die Netzwerke auch für die Telefonie nutzen zu wollen, stellte man fest, dass das bis dahin für die Datenübertragung eingesetzte und stark auf Sicherheit ausgerichtete Transmission Control Protocol TCP eine starke Latenz im Gepäck hatte, die sich bei der Telefonie äußerst nachteilig auswirkte. Also musste ein Netzwerkprotokoll her, das kürzere Verarbeitungs- und Übertragungszeiten garantieren konnte. Also verzichtete man bei UDP kurzerhand auf die Rückmeldung über die eingegangenen Daten und ließ die dadurch eintretenden Qualitätsdefizite durch verschiedene Softwarelösungen ausgleichen. Dabei checkt die Software quasi die Randbereiche der neben den fehlenden Datenpaketen angelieferten Daten und füllte die entstandenen Lücken mit einem Mittelwert aus. Fehlten Sprachdaten ganz, ließ man von der Software ein Komfortrauschen einspielen, das den Gesprächsteilnehmern signalisieren soll, dass die Verbindung noch steht.

Das heißt, das eigentliche Netzwerkprotokoll UDP beschränkte sich lediglich auf die Adressierung der Daten, die allerdings dahingehend erweitert wurde, dass man sie nicht nur an eine bestimmte IP übermitteln, sondern gleich noch weiter an eine vorhandene Anwendung übergeben ließ. Das konnte leicht über die Zuweisung von Ports realisiert werden. Jede Anwendung zur Datenübertragung erhielt einen identischen Port, der nicht nur auf dem einen Zielrechner, sondern allgemein für eine bestimmte Anwendung galt. So konnte man die Verzögerung auf dem Übertragungsweg, die an anderer Stelle auch als Latenz oder Delay bezeichnet wird, sehr deutlich verkürzen.

Für die Übermittlung der Daten, die für die Zuordnung zu bestimmten Anwendungen notwendig ist, benutzt man bei UDP einen Header, der jeweils vier Datenfelder enthält. Sie sind durchgängig 16 Bits groß. Sie geben an, von welchem Quellport die Daten gesendet und an welchen Zielport sie weitergeleitet werden sollen. Ein weiteres Datenfeld gibt die Länge der übermittelten Sprachsequenz an. Das vierte Datenfeld wird mit einer Prüfsumme bestückt. An dieser erkennt der Zielrechner, ob die Daten korrekt übermittelt werden konnte oder ob von Seiten der Software ausgleichend eingegriffen werden muss. Eine Rückmeldung dazu an den Absender gibt es nicht. UDP ist deshalb auch nicht in der Lage, fehlerhafte oder fehlende Datenpakete vom Absender noch einmal anfordern zu können.

Für die eigentliche Übermittlung der Daten wird das standardisierte Internet Protokoll verwendet. Dabei ist es notwendig, den von UDP erstellten Header um einige Angaben zu ergänzen. Dazu gehört die IP Adresse des Empfängers sowie die des jeweiligen Absenders. Darüber hinaus wird hier auch die Länge des gesamten UDP verschlüsselten Paketes angegeben. Eine neuere Entwicklung ist UDP Lite, die nach dem internationalen Standard RFC 3828 arbeitet. Sie findet in jüngster Zeit immer häufiger Anwendung bei Voice over IP, weil durch verschiedene Veränderungen die Übertragungszeiten noch einmal deutlich reduziert werden konnten. Wieder geht es bei den Variationen darum, dass größere Latenzen bei der Telefonie innerhalb von Computernetzwerken weit mehr stören als kleinere Datenverluste. Ein paar Millisekunden fehlenden Sprachtones oder fehlende Frequenzanteile nimmt einerseits das menschliche Ohr ohnehin kaum wahr und andererseits können sie fast komplett durch die für die IP Telefonie benötigte Software ausgeglichen werden.