Protokol UDP (User Datagram Protocol)

Protokol UDP je jednoduchou alternatívou k protokolu TCP. Je to nespojovaná služba (na rozdiel od protokolu TCP), tj. nenadväzuje spojenie. Odosielateľ odošle UDP datagram príjemcovi a už sa nestará o to, či sa datagram náhodou nestratil (o to sa musí postarať aplikačný protokol). UDP datagramy sú balené do IP-datagramu.

Štruktúra UDP datagramu


            Obrázok - Záhlavie UDP datagramu

Polia, zdrojový port a cieľový port majú rovnakú funkciu ako pri TCP protokole. Pole dĺžka dát obsahuje dĺžku UDP datagramu (dĺžku záhlavia + dĺžku dát). Minimálna dĺžka je teda 8, tj. UDP datagram obsahuje iba záhlavie a žiadne dáta.

Zaujímavé je, že pole kontrolný súčet nemusí byť povinne vyplnené. Výpočet kontrolného súčtu je v protokole UDP nepovinný. 
Hlavne pri dôležitých serveroch je treba vždy skontrolovať, či je naozaj výpočet kontrolného súčtu zapnutý. Najnebezpečnejšie je to v prípade DNS servera, pretože kontrolný súčet je počítaný len na linkovej vrstve, ale napr. linkový protokol SLIP výpočet kontrolného súčtu tiež nepočíta, takže i technická porucha môže spôsobiť poškodenie aplikačných dát bez toho, aby to mal príjemca šancu zistiť. 

Obežníky

Na prvý pohľad by sa mohlo zdať, že protokol UDP je chudobným príbuzným protokolu TCP. Môže však existovať niečo čo protokol UDP vie a nemožno to urobiť protokolom TCP? Práve zvláštnosťou protokolu UDP je skutočnosť, že adresátom UDP datagramu nemusí byť iba jednoznačná IP-adresa, tj. sieťové rozhranie konkrétneho počítača. Adresátom môže byť aj skupina staníc – adresovať možno aj obežník. 

Adresovať možno všeobecné obežníky (broadcast), ale podstatne zaujímavejším prípadom je adresovanie adresných obežníkov (multicast). Napr. pri aplikáciách typu RealAudio nadväzuje každý klient spojenie so serverom, kde pri ProgresiveRealAudio sa dáta šíria pomocou adresných obežníkov, tj. dochádza k ohromnej úspore kapacity prenosových ciest. A práve to je príležitosť pre UDP.

RFC768 http://www.ietf.org/rfc/rfc768.html