UDP

Datagram protokol korisnika (eng. User Datagram Protocol, skr. UDP - također UDP/IP) je nepouzdani, nekonekcijsko orijentisani protokol za internet koji se na primjer koristi u aplikacijama gdje je nepoželjno TCP segmentiranje i kontrola toka.[1] Jedan je od osnovnih dijelova TCP/IP-a. Sa UDP-om, računarske aplikacije mogu slati poruke (u ovom slučaju u smislu datagrama) prema drugim računarima na IP mreži bez prethodne komunikacije za uspostavu kanala za transmisiju ili puta podataka. UDP je kreirao David P. Reed 1980. a formalno je definirano u RFC-u 768.

Struktura paketa

UDP ne pruža nikakve garancije za slanje poruka prema višem protokolnom sloju i ne bilježi nigdje stanje UDP poruka poslije slanja, i zbog ovoga je nepouzdan. Zbog nepouzdanosti se nekada na engleskom također koristi i naziv Unreliable Datagram Protocol, što u prijevodu znači: nepouzdani protokol datagrama.[2]

UDP pruža aplikacijsko multipleksiranje (preko računarskog porta) i verifikaciju integriteta (preko kontrolne sume - engl. checksum) zaglavlja i sadržaja koji se prenosi (engl. payload).[3] Ako je poželjna pouzdanost transmisije, onda se ovo zasebno mora implementirati u korisničkoj aplikaciji.

UDP zaglavlje
OfsetoviOktet0123
OktetBit 0 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031
0 0Polazni portCiljni port
432DužinaKontrolna suma

UDP zaglavlje se sastoji od 4 polja, svako po 2 bajta (16 bita).[4] Upotreba polja "Kontrolna suma" (Checksum) i "Polazni port" (Source port) nije obavezna u IPv4 protokolu. U IPv6 protokolu, samo polazni port nije obavezan.

Broj polaznog porta
Ovo polje identifikuje port pošiljaoca kada je ovo značajno i treba pretpostaviti da je ovo port prema kojem će se slati odgovor, kada je ovo potrebno. Ako ovo polje nije upotrebljeno, onda treba da stoji nula. Ako je izvorni host klijent broj porta je onda često kratkotrajan, što znači da se broj promijeni tokom novih uspostavljanja komunikacije. Ukoliko je izvorni host server onda je broj porta često neki poznati broj.[5]
Broj ciljnog porta
Ovo polje identifikuje port primaoca i obavezno je navesti. Slično polaznom portu, ako je klijent ciljni host onda je port vjerovatno kratkotrajan, dok je u slučaju servera ovo vjerovatno poznati broj porta.[5]
Dužina
Polje koje specifikuje dužinu UDP zaglavlja i podataka, u bajtu. Minimum dužina je 8 bajta jer je to dužina zaglavlja, što je obavezno polje. Veličina polja ima teoretsku granicu od 65.535 bajta (8 bajta za zaglavlje + 65.527 bajta za podatke) za UDP datagram. Praktička granica za veličinu podataka koja slijedi iz IPv4 protokola je 65.507 bajta (65.535 − 8 bajta za UDP zaglavlje − 20 bajta za IP zaglavlje).[5]
U IPv6 jumbogramima, moguće je imati UDP pakete koji su veći od 65.535 bajta.[6] RFC 2675 specificira da je polje dužine postavljeno na nulu ako je dužina UDP zaglavlja zajedno sa dužinom UDP podataka veća od 65.535 bajta.
Kontrolna suma
Polje kontrolne sume se koristi za provjeru grešaka u zaglavlju i podacima. Ako kontrolna suma nije generisana od strane pošiljaoca, onda se koriste samo nule.[7] Ovo polje je obavezno za IPv6.[8]

Također pogledajte

  • Spisak TCP i UDP brojeva porta
  • RUDP (Reliable User Datagram Protocol)
  • SCTP (Stream Control Transmission Protocol)
  • UDP poplavljivanje
  • UDP-bazirani protokol za prenos podataka
  • UDP Lite
  • UDP pomoćna adresa
  • UDP pomoćna adresa
  • µTP (Micro Transport Protocol)

Reference

Vanjski linkovi