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], mutta siihen perustuvat sovellukset voivat niitä itse lisätä.
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:tä käytetään myös perustana HTTP/3-protokollassa[4] jossa aiemmista HTTP-versioista poiketen ei käytetä TCP:tä lainkaan, vaan UDP:hen perustuvaa QUIC:iä.
UDP-datapaketti
muokkaa+ | 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
muokkaaOffsetit | 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
muokkaaOffsetit | 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
muokkaa- 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.
Käyttö
muokkaaSovellustasolla
muokkaa- CoAP on vähävirtaisille laitteille sekä muihin rajattuihin oloihin luotu sovellustason protokolla.
- DNS välittää verkko-osoitteita verkkoon kytkettyjen laitteiden välillä.
- HTTP/3 on HTTP-protokollaperheen kolmas täysi versio, joka perustuu HTTP/2:een ja QUIC:iin parilla muutoksella.[4] Sitä tukee ainakin 78% selaimista[5] ja yli 30% verkkosivustoista[6].
Kuljetustasolla
muokkaaVaikka UDP onkin kuljetustason protokolla, se on yksinkertaisiin tietosähkeisiin perustuva. Siitä syystä se on osoittautunut hyväksi alustaksi, joten siihen perustuu moni muukin kuljetustason protokolla, kuten SCTP, UDT ja QUIC.
- QUIC on viime vuosien aikana internetin jättiyritysten kesken suosioon noussut kuljetuskerroksen protokolla, joka on monin paikoin syrjäyttänyt TCP/IP:n käytön[7]. Niiden ulkopuolella QUIC-teknologia vaikuttaa kuitenkin vielä olevan marginaalissa, kun kesäkuussa 2024 vain 8% sivustoista tuki kyseistä protokollaa.[8] Se on hiemainen nousu vuodesta 2020[7] mutta eniten sivuja tuki sitä huhtikuussa 2023[9].
Katso myös
muokkaaLähteet
muokkaa- ↑ Deon Reynders ja Edwin Wright: Practical TCP/IP and Ethernet networking, s. 131. Newnes, 2003. ISBN 9780750658065. (englanniksi)
- ↑ a b c d e 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)
- ↑ a b Mike Bishop: HTTP/3. IETF Request for Comments (RFC) Pages - TEST, 2022-06, nro RFC 9114. Internet Engineering Task Force. ISSN 2070-1721. Artikkelin verkkoversio. Viitattu 23.6.2024. en
- ↑ HTTP/3 protocol | Can I use... caniuse.com. Arkistoitu 18.4.2024. Viitattu 23.6.2024.
- ↑ Usage Statistics of HTTP/3 for Websites, June 2024 w3techs.com. Arkistoitu 23.6.2024. Viitattu 23.6.2024.
- ↑ a b Muropaketin toimitus: Kohta yhä useampi nettisivu latautuu nopeammin - Google ilmoitti tukevansa HTTP/3- ja QUIC -protokollia Muropaketti.com. 14.10.2020. ”Yli puolet Chromen tiedonsiirrosta Googlen palvelimille tapahtuu jo Googlen QUIC-protokollan kautta...Tällä hetkellä HTTP/3- ja IETF QUIC -protokollia tukevat kuitenkin vain 7,5 prosenttia kaikista nettisivuista” Viitattu 23.6.2024.
- ↑ Usage Statistics of QUIC for Websites, June 2024 w3techs.com. 23.6.2024. Viitattu 23.6.2024.
- ↑ Usage statistics of QUIC for websites W3TECHS. 7.7.2023. Arkistoitu 7 Jun 2023 06:21:10 UTC. Viitattu 23.6.2024.
Aiheesta muualla
muokkaaKuvia tai muita tiedostoja aiheesta UDP Wikimedia Commonsissa