*Tämä artikkeli käsittelee lyhenteen UDP käyttöä tietotekniikassa. Biokemiassa UDP tarkoittaa uridiinidifosfaattia*

**UDP** (lyhenne sanoista *User Datagram Protocol*) 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.

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.

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. Koska IPv6-paketissa itsessään ei ole tarkistussummaa on se 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 | 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

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 | 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*.

Katso myös
----------

* IP-osoite
* UDP Lite

Lähteet
-------

1. ↑  Deon Reynders ja Edwin Wright: *Practical TCP/IP and Ethernet networking*, s. 131. Newnes, 2003. ISBN 9780750658065. (englanniksi)
2. 1 2 3 4 5  Fall, Kevin R. & Stevens, W. Richard: *TCP/IP Illustrated, Volume 1*. Second Edition. Addison-Wesley. ISBN 978-0-321-33631-6.
3. ↑  UDP – USER DATAGRAM PROTOCOL *ipv6.com*. Viitattu 4.6.2019. (englanniksi)

Aiheesta muualla
----------------

* Kuvia tai muita tiedostoja aiheesta **UDP** Wikimedia Commonsissa