UDP
Skup internetskih protokola |
---|
Aplikacioni sloj |
Prijenosni sloj |
Internet sloj |
Podatkovni sloj |
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
[uredi | uredi izvor]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.
Ofsetovi | Oktet | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktet | Bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 0 | Polazni port | Ciljni port | ||||||||||||||||||||||||||||||
4 | 32 | Dužina | Kontrolna 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
[uredi | uredi izvor]- 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
[uredi | uredi izvor]- ^ Transportni sloj TCP/IP modela, Računarske mreže. Fakultet za saobraćaj i komunikacije, Univerzitet u Sarajevu. Učitano 3. februara 2014.
- ^ content@ipv6.com. "UDP Protocol Overview". Ipv6.com. Arhivirano s originala, 10. 7. 2012. Pristupljeno 17. 8. 2011.
- ^ Clark, M.P. (2003). Data Networks IP and the Internet, 1st ed. West Sussex, England: John Wiley & Sons Ltd.
- ^ Kurose, J. F.; Ross, K. W. (2010). Computer Networking: A Top-Down Approach (5th izd.). Boston, MA: Pearson Education. ISBN 978-0-13-136548-3.
- ^ a b c Forouzan, B.A. (2000). TCP/IP: Protocol Suite, 1st ed. New Delhi, India: Tata McGraw-Hill Publishing Company Limited.
- ^ RFC 2675
- ^ "Postel, J. (August 1980). RFC 768: User Datagram Protocol. Internet Engineering Task Force. Retrieved from". Arhivirano s originala, 22. 7. 2012. Pristupljeno 3. 2. 2014.
- ^ "Deering S. & Hinden R. (December 1998). RFC 2460: Internet Protocol, Version 6 (IPv6) Specification. Internet Engineering Task Force. Retrieved from". Arhivirano s originala, 15. 9. 2012. Pristupljeno 3. 2. 2014.
Vanjski linkovi
[uredi | uredi izvor]- (en) IANA - Dodjela portova
- (en) Teškoće sa UDP skeniranjem
- (en) Objašnjenje UDP strukture Arhivirano 22. 1. 2009. na Wayback Machine
- (en) UDP veze
- (bs) "Računarske mreže - Transportni nivo"[mrtav link], Elektrotehnički fakultet Istočno Sarajevo. Učitano 3. fabruara 2014.
- (bs) "Računarske mreže - Protokoli transportnog sloja", Univerzitet Sinergija, Bijeljina. Učitano 3. fabruara 2014.