UDP
UDP (lyhenne sanoista User Datagram Protocol) on ns. yhteydetön tietoliikenneprotokolla, joka ei vaadi yhteyttä laitteiden välille, mutta mahdollistaa tiedon siirron.[1][2] UDP on yksinkertainen datagram-pohjainen (tietosähke) kuljetuskerroksen protokolla.[2] UDP ei sisällä virheen korjausta mutta voi sisältää virheen havaitsemisen tarkistussummalla. UDP ei sisällä sekvenssejä (järjestys), kaksoiskappaleiden poistoa, vuon- tai ruuhkanhallintamekanismeja.[2]
TCP/IP-pino | |
---|---|
sovelluskerros |
BGP · DHCP · DNS · ESMTP · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP3 · RPC · RTP · RTSP · SIP · SMTP · SNMP · SOCKS · SSH · Telnet · TLS/SSL · XMPP · (..lisää..) |
kuljetuskerros |
TCP · UDP · QUIC · DCCP · SCTP · RSVP · RIP · ECN |
verkkokerros |
IP (IPv4 ja IPv6) · ICMP (ICMPv6) · IGMP · IPsec |
siirtoyhteyskerros | ARP · IS-IS · NDP · OSPF · L2TP · PPP |
fyysinen kerros |
UDP eroaa TCP:stä monin tavoin. Muun muassa paketin perillemenoa ei varmisteta päästä päähän (alempi taso kyllä varmistaa seuraavaan solmuun asti). UDP:ta käytetään esimerkiksi DNS-pyyntöjen lähettämiseen, verkkopeleissä ja reaaliaikaisen videon ja äänen välittämiseen. UDP:n yleisrasite on pienempi kuin TCP:n, siinä ei suoriteta alkukättelyä, pakettien kuittausta eikä yhteyden lopettamista. Se ei silti välttämättä ole nopeampi kuin TCP, koska TCP:n liukuva ikkuna (sliding window) kompensoi tehokkaasti kuittausten viemää aikaa.
UDP:n käyttöön TCP:n asemasta viitataan toisinaan termillä UDP/IP.[3]
UDP-datapaketti
+ | Bitit 0 - 15 | 16 - 31 |
---|---|---|
0 | Lähdeosoitteen portti | Kohdeosoitteen portti |
32 | Datan koko | Tarkistussumma |
64 | Data |
Vaaleanpunaisella taustalla näkyvät kohdat eivät ole pakollisia. Data-osion teoreettinen maksimikoko on 65,527 tavua.
UDP-paketti on kapseloinnin johdosta läpinäkymätön kuorma IPv4 / IPv6 -paketeille ja siinä itsessään ei ole eroa.[2] Koska IPv6-paketissa itsessään ei ole tarkistussummaa on se oltava pseudoheader-osiossa UDP-paketin yhteydessä.[2]
UDP-paketti IPv4 verkossa
Offsetit | Oktetti | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktetti | Bitti | 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 | Lähdeosoite (IPv4) | |||||||||||||||||||||||||||||||
4 | 32 | Kohdeosoite (IPv4) | |||||||||||||||||||||||||||||||
8 | 64 | Nollaa | Protokolla | UDP-pituus | |||||||||||||||||||||||||||||
12 | 96 | Lähdeportti | Kohdeportti | ||||||||||||||||||||||||||||||
16 | 128 | Pituus | Tarkistussumma | ||||||||||||||||||||||||||||||
20 | 160+ | Data |
UDP-paketti IPv6-verkossa
Offsetit | Oktetti | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Oktetti | Bitti | 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 | Lähdeosoite (IPv6) | |||||||||||||||||||||||||||||||
4 | 32 | ||||||||||||||||||||||||||||||||
8 | 64 | ||||||||||||||||||||||||||||||||
12 | 96 | ||||||||||||||||||||||||||||||||
16 | 128 | Kohdeosoite (IPv6) | |||||||||||||||||||||||||||||||
20 | 160 | ||||||||||||||||||||||||||||||||
24 | 192 | ||||||||||||||||||||||||||||||||
28 | 224 | ||||||||||||||||||||||||||||||||
32 | 256 | UDP-pituus | |||||||||||||||||||||||||||||||
36 | 288 | Nollaa | Seuraava otsikko | ||||||||||||||||||||||||||||||
40 | 320 | Lähdeportti | Kohdeportti | ||||||||||||||||||||||||||||||
44 | 352 | Pituus | Tarkistussumma | ||||||||||||||||||||||||||||||
48 | 384+ | Data |
Hyötykuorma tarkoittaa datan pituutta IPv6-paketin otsakkeen jälkeen, siihen lasketaan pakettiin lisänä tulevat ylimääräiset otsakkeet.
Standardointi
- RFC 768, User Datagram Protocol (1980)
- RFC 4113, Management Information Base for the User Datagram Protocol (UDP)
- RFC 8085, UDP Usage Guidelines
UDP on IP-protokolla numero 17. UDP-porttien numerointi löytyy artikkelista portti.
Lähteet
- Deon Reynders ja Edwin Wright: Practical TCP/IP and Ethernet networking, s. 131. Newnes, 2003. ISBN 9780750658065. (englanniksi)
- Fall, Kevin R. & Stevens, W. Richard: TCP/IP Illustrated, Volume 1. Second Edition. Addison-Wesley. ISBN 978-0-321-33631-6.
- UDP – USER DATAGRAM PROTOCOL ipv6.com. Viitattu 4.6.2019. (englanniksi)