UDP () on ns. yhteydetön tietoliikenneprotokolla, joka ei vaadi yhteyttä laitteiden välille, mutta mahdollistaa tiedon siirron. UDP on yksinkertainen datagram-pohjainen (tietosähke) kuljetuskerroksen protokolla. 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, mutta siihen perustuvat sovellukset voivat niitä itse lisätä.

UDP eroaa TCP:stä monin tavoin. Muun muassa paketin perille menoa 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.

UDP:tä käytetään myös perustana HTTP/3-protokollassa, jossa aiemmista HTTP-versioista poiketen ei käytetä TCP:tä lainkaan vaan UDP:hen perustuvaa QUIC:iä.

UDP-datapaketti +Bitit 0-1516-31 0Lähdeosoitteen portti Kohdeosoitteen portti 32 Datan kokoTarkistussumma 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. Koska IPv6-paketissa itsessään ei ole tarkistussummaa, se on oltava pseudoheader-osiossa UDP-paketin yhteydessä.

UDP-paketti IPv4-verkossa

+IPv4 pseudoheader-muoto 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 0Lähdeosoite (IPv4) 4 32Kohdeosoite (IPv4) 8 64NollaaProtokollaUDP-pituus 12 96LähdeporttiKohdeportti 16 128PituusTarkistussumma 20 160+Data

UDP-paketti IPv6-verkossa +IPv6 pseudoheader-muoto 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 0Lähdeosoite (IPv6) 4 32 8 64 12 96 16 128Kohdeosoite (IPv6) 20 160 24 192 28 224 32 256UDP-pituus 36 288NollaaSeuraava otsikko 40 320LähdeporttiKohdeportti 44 352PituusTarkistussumma 48 384+Data

Hyötykuorma tarkoittaa datan pituutta IPv6-paketin otsakkeen jälkeen, siihen lasketaan pakettiin lisänä tulevat ylimääräiset otsakkeet.

Standardointi

kuva:IP-paketti_(UDP).png , User Datagram Protocol (1980) , Management Information Base for the User Datagram Protocol (UDP) , UDP Usage Guidelines

UDP on IP-protokolla numero 17. UDP-porttien numerointi löytyy artikkelista portti.

Käyttö

Sovellustasolla

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. Sitä tukee ainakin 78 prosenttia selaimista ja yli 30 prosenttia verkkosivustoista.

Kuljetustasolla Vaikka 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. Niiden ulkopuolella QUIC-teknologia vaikuttaa kuitenkin vielä olevan marginaalissa, kun kesäkuussa 2024 vain 8% sivustoista tuki kyseistä protokollaa. Se on hiemainen nousu vuodesta 2020 mutta eniten sivuja tuki sitä huhtikuussa 2023.

Katso myös IP-osoite UDP Lite QUIC OSI-malli vs TCP/IP-viitemalli

Lähteet

Aiheesta muualla

Luokka:TCP/IP Luokka:OSI-kuljetuskerros Luokka:Seulonnan keskeiset artikkelit