UDP

Der TCP/IP Protokoll-Stack unterstützt auch - wie schon erwähnt - ein verbindungsloses Transportprotokoll, das UDP (User Datagramm Protocol). UDP biete eine Möglichkeit für Anwendungen, ohne den z.T. erheblichen Overhead des TCP Protokolls, Daten in 'rohen' IP-Datagrammen zu versenden, ohne das eine Verbindung aufgebaut werden muss. In vielen Client/Server Anwendungen, die auf der Grundlage eines Anfrage/Antwort Protokolls arbeiten, kommt UDP zum Einsatz. Das UDP ist in RFC 768 definiert. UDP verwendet genau wie TCP Portnummern bzw. Sockets, um die verschiedenen Dienste eindeutig unterscheiden zu können. Da der Protokoll Indikator im IP-Header (TCP = 6, UDP = 17) vor der jeweiligen Port-Nummer ausgewertet wird, können die UDP-Sockets die gleichen Portnummern tragen wie ihre TCP 'Kollegen'. In den letzten Jahren gibt es aber Bestrebungen die Zuordnungen der Socket-Nummern so zu koordinieren, dass es in Zukunft nur noch eindeutige Sockets gibt, getrennt nach UDP und TCP.

Nachstehend ist der Aufbau eines UDP-Headers schematisch dargestellt:

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Quellport (Source Port) Zielport (Destination Port)
UDP-Länge UDP-Prüfsumme

Ein UDP-Segment besteht aus einem 8-Byte-Header, gefolgt von den Daten. Die Felder Source und Destinationport erfüllen den gleichen Zweck wie im TCP-Header. Auch die beiden Felder UDP-Length und Checksum haben die gleiche Bedeutung wie im TCP-Header. (Glaser et al., 1990). Beispiele für die Anwendung des UDP Protokolls sind das Trivilal File Transfer Protocol (TFTP), das Network File System (NFS) und SNMP (Simple Network Management Protocol).