Käyttäjän Datagram-protokolla

UDP (User Datagram Protocol)
Perhe: Internet-protokollaperhe
Toiminta-alue: Yhteydetöntä siirto
tietojen Internetissä
UDP TCP / IP-protokollapinossa :
sovellus DNS DHCP ...
kuljetus UDP
Internet IP ( IPv4 , IPv6 )
Verkkoyhteys Ethernet Token
bussi
Token
ring
FDDI ...
Standardit: RFC 768 ( 1980 )

User Datagram Protocol , tai UDP lyhyitä , on minimaalinen, yhteydetön protokolla , joka kuuluu liikenteen kerros Internet-protokollan perhe. UDP mahdollistaa sovellusten lähettää datagrammien sisään IP-pohjaisten tietoverkkojen välityksellä .

UDP: n kehittäminen alkoi vuonna 1977, kun puheen siirtämiseen vaadittiin yksinkertaisempi protokolla kuin edellinen yhteyshakuinen TCP . Vaadittiin protokolla, joka oli vastuussa vain osoituksesta ilman tiedonsiirron turvaamista, koska tämä johtaisi viiveisiin äänensiirrossa.

toiminnallisuutta

UDP käyttää portteja salliakseen lähetetyt tiedot kohdetietokoneen oikeaan ohjelmaan . Tätä tarkoitusta varten jokainen datagrammi sisältää datan vastaanottavan palvelun porttinumeron. Tämä Internet-protokollan isäntä-isäntä välityksen laajennus prosessista prosessiin -siirroksi kutsutaan sovellusten multipleksoinniksi ja demultipleksoinniksi.

Lisäksi UDP tarjoaa mahdollisuuden eheystarkastukseen lähettämällä tarkistussumma . Tämä tarkoittaa, että väärin lähetetyt datagrammit voidaan tunnistaa ja hylätä.

ominaisuudet

UDP on yhteydetön , epäluotettava ja suojaamaton sekä suojaamaton lähetysprotokolla. Tämä tarkoittaa, että ei ole takeita siitä, että kerran lähetetty paketti saapuu, että paketit saapuvat samassa järjestyksessä kuin ne lähetettiin tai että paketti saapuu vastaanottajalle vain kerran. Ei ole myöskään takeita siitä, että tiedot saapuvat väärentämättömiksi tai niihin ei ole pääsyä kolmansille osapuolille. UDP: tä käyttävän sovelluksen on sen vuoksi oltava epäherkkä kadonneille ja lajittelemattomille paketeille tai tarjottava asianmukaiset korjaavat toimenpiteet ja tarvittaessa itse turvatoimet.

Koska yhteyttä ei tarvitse muodostaa ennen siirron alkua, toinen tai molemmat kumppanit voivat alkaa vaihtaa dataa nopeammin. Tämä on erityisen tärkeää sovelluksissa, joissa vain pieniä määriä tietoja on vaihdettava. Yksinkertaiset kysymykset ja vastaukset -protokollat, kuten DNS ( Domain Name System ), käyttävät UDP: tä pääasiassa nimien erottamiseen pitääkseen verkon kuormituksen alhaisena ja lisäämällä siten tiedonsiirtonopeutta. Kolmitie kättely kuten TCP (jäljempänä Transmission Control Protocol ) liitynnän muodostamiseksi olisi tuottaa tarpeetonta yläpuolella tässä tapauksessa .

Lisäksi suojaamaton lähetys tarjoaa myös edun matalilla lähetysviiveen vaihteluilla: Jos paketti menetetään TCP-yhteyden aikana, sitä pyydetään automaattisesti uudelleen. Tämä vie aikaa ja lähetysaika voi siksi vaihdella, mikä on huono multimediasovelluksille. Kanssa VoIP z. B. tapahtuu äkillisiä keskeytyksiä tai toiston puskurit olisi tehtävä suuremmiksi. Yhteydetöntä viestintää koskevissa palveluissa puolestaan ​​menetetyt paketit eivät lopeta koko lähetystä, vaan vain heikentävät laatua.

Teoriassa UDP-datagrammin enimmäiskoko on 65 535 tavua, koska UDP-otsikon pituuskenttä on 16 bittiä ja suurin luku, joka voidaan edustaa 16 bitillä, on 65 535 (= 2 16 −1). Tällaiset suuret segmentit lähetetään kuitenkin fragmentoituna IP: n mukaan. Käytännössä UDP-datagrammin enimmäispituuteen sovelletaan muita rajoituksia .

IP poistaa paketit siirtovirheiden tai ylikuormituksen sattuessa. Datagrammit voivat siis puuttua. UDP ei tarjoa mitään havaitsemis- tai korjausmekanismeja tälle, kuten TCP. Jos määränpäähän on useita mahdollisia reittejä, IP voi tarvittaessa valita uusia reittejä. Tämä tarkoittaa, että harvinaisissa tapauksissa on mahdollista, että myöhemmin lähetetyt tiedot ohittavat aiemmin lähetetyt tiedot. Kerran lähetetty datapaketti voi lisäksi saapua vastaanottajalle useita kertoja.

UDP-datagrammi

Lähetettävän käyttäjädatan lisäksi lähetetään myös muuta tietoa, joka on aina UDP-sanoman alussa, ns. Otsikossa . UDP-otsikko koostuu neljästä tietokentästä, joista kukin on kooltaan 16 bittiä :

bitti 0 15. päivä 16 31
Lähdeportti Kohdeportti
pituus Tarkistussumma
Tiedot
UDP-datagrammin otsikkomuoto
Lähdeportti
määrittää lähetysprosessin portin numeron. Nämä tiedot vaaditaan, jotta vastaanottaja voi vastata pakettiin. Koska UDP on yhteydetön, lähdeportti on valinnainen ja se voidaan asettaa arvoon "0" (siinä tapauksessa, että vastauspaketteja ei odoteta ja vain paketit lähetetään vastaanottajalle).
Kohdeportti
määrittää, minkä prosessin pitäisi vastaanottaa paketti.
Längenfeld
määrittää datagrammin pituuden, joka koostuu tiedoista ja otsikosta, oktetteina . Pienin mahdollinen arvo on 8 oktettia (tai tavua). Pituuskenttä määrittelee teoreettisen ylärajan 2 16 −1 = 65 535 tavua (8 tavun otsikko + 65 527 tavua käyttäjätietoja). Käyttäjätietojen tosiasiallisesti käytettävissä oleva pituus johtuu taustalla olevasta IP-protokollasta, kuitenkin 65 507 tavuun (65 535 - 8 tavua UDP-otsikkoa - 20 tavua IP-otsikkoa) käytettäessä IPv4- ja 65 487 tavua (65 535 - 8 tavua UDP-otsikkoa - 40 tavua) IPv6 header)) käytettäessä IPv6: ta .
Tarkistussummakenttä
voidaan lähettää myös 16-bittinen tarkistussumma . Tarkistussumma muodostetaan käyttämällä ns. Pseudo-otsikkoa , UDP-otsikkoa ja dataa. Tarkistussumma on valinnainen, mutta sitä käytetään käytännössä melkein aina, jos ei, se asetetaan arvoon "0".
Tietokenttä
se sisältää todellisen hyötykuorman, joka tunnetaan myös nimellä hyötykuorma . Kenttä on valinnainen, ja se voi teoriassa olla kokonaan poissa, mitä käytännössä ei koskaan tapahdu. Tietokenttä koostuu aina parillisesta määrästä oktetteja. Lopussa vapaat oktettit on pehmustettu nollilla.

Pseudo-otsikot

Internet-protokolla (IP) on tarkoitettu UDP-paketin lähettämiseen . Tämä protokolla sijoittaa UDP-paketin eteen toisen otsikon, johon IP: n edellyttämät tiedot sijaitsevat:

UDP-tarkistussumman muodostamiseksi tämän IP-otsikon osat siirretään ns. "Pseudo-otsikkoon". Sitä käytetään vain tarkistussumman luomiseen, eikä sitä lähetetä.

IPv4

IPv4: n avulla näennäisotsikon koko on 12 oktettia (96 bittiä), ja se koostuu lähteen IP-osoitteesta (32 bittiä), kohde-IP-osoitteesta (32 bittiä), 8-bittisestä tyhjästä kentästä ja 8-bittisestä protokollan tunnuksesta (UDP: llä on ID 17 ) ja UDP-datagrammin pituus (16 bittiä):

bitti 0 32 64 72 80 96
Lähteen IP-osoite Kohteen IP-osoite 00000000 Protokollan tunnus UDP-datagrammin pituus
IPv4-näennäinen otsikko

IPv6

In IPv6 , pseudo-otsikko on kooltaan 40 oktettia (320 bittiä). Se koostuu seuraavasti:

bitti 0 128 256 288 312 320
Lähteen IP-osoite Kohteen IP-osoite Yläkerroksen paketin pituus 0
(24 bittiä)
Seuraava otsikko
IPv6-näennäinen otsikko

Tarkistussumman laskeminen

Lähettäjän tarkistus summa lasketaan seuraavalla algoritmilla:

  1. Aseta UDP-otsikon tarkistussummakentäksi 0000 0000 0000 0000.
  2. Luo tarkistussummalle allekirjoittamaton 32-bittinen numero, alusta se nollilla.
  3. Yhdistä UDP-paketin vierekkäiset tavut 16-bittisiksi lohkoiksi. Jos viimeinen lohko on alle 16 bittiä, täytä se nollilla loppuun asti, kunnes se on 16 bittiä.
  4. Tallenna kaikkien 16-bittisten lohkojen lisäämisen tulos tarkistussummalle.
  5. Yhdistä pseudootsikon vierekkäiset tavut 16-bittisiksi lohkoiksi.
  6. Tallenna näiden 16-bittisten lohkojen ja edellisen tarkistussumman lisäämisen tulos tarkistussummalla.
  7. Yhdistä tarkistussumman vierekkäiset tavut kahteen 16-bittiseen lohkoon, lisää ne ja tallenna tulos siirtosumman kanssa tarkistussummaan, kunnes lisäystä ei enää ole.
  8. 32-bittisen tarkistussumman merkittävimmät 16 bittiä ovat nyt nollia. Vähemmän merkitsevät bitit ovat todellinen tarkistussumma; tallenna tämä allekirjoittamattomana 16-bittisenä numerona.
  9. Jos tämä 16-bittinen numero ei ole kaikki numerot, tallenna sen komplementti UDP-otsikkoon (sekä 1111 1111 1111 1111 että sen täydennysosa, 0000 0000 0000 0000, symboloivat lukua 0). IPv4 UDP: ssä 0000 0000 0000 0000 käytetään myös ilmoittamaan, että tarkistussummaa ei ole laskettu. Tarkistussummalla 0000 0000 0000 0000 olevat IPv6 UDP -paketit ovat virheellisiä ( RFC 6935 ).

Vastaanottaja tarkistaa ensin, koostuuko vastaanotetun paketin tarkistussumakenttä vain nollista. Jos näin on, se voi arvioida paketin oikein vastaanotetuksi, koska tarkistussummaa ei ole. Jos ei, se soveltaa yllä kuvattua algoritmia vastaanotettuun pakettiin ja siihen liittyvään näennäisotsikkoon, jättää viimeisen vaiheen pois ja lisää itse lasketun tarkistussumman tarkistussummakenttään vastaanotettuun tarkistussummaan, mikä vastaa vähennystä yhden täydennysesityksen vuoksi . Jos vastaanotin saa 0 summauksen (tai vähennyksen) tuloksena, se arvioi vastaanotetun datan samaksi kuin lähetetty data.

UDP-Lite

Kevyt User Datagram Protocol (UDP-Lite) mukainen RFC 3828 on muunnelma UDP, erityisesti datan, jossa on pieni viive on tärkeä, mutta pienempiä virheitä voidaan sietää. Näin on esimerkiksi live-ääni- ja videolähetyksissä , jotka käyttävät usein UDP: tä siirtoprotokollana. Jos UDP-datapaketin bitti on viallinen, kaikki paketissa olevat tiedot, ts. H. jopa useita tuhansia bittejä, hylätty. Jos toisaalta käytettäisiin viallisen bitin sisältävää pakettia, virhe ei olisi kuultavissa tai näkymätön koodekista riippuen . UDP-Liten käyttämisen pitäisi estää tiettyjen tietopakettien osien tarkastus alemmilta kerroksilta, käytännössä vain UDP-Lite-paketeille. Tällä Ethernet- tasolla, tämä vaikuttaa CRC-tarkistus pakettien.

UDP-Lite on yhteensopiva UDP: n kanssa, mutta tulkitsee pituuskentän pituudeksi, jonka yli tarkistussumma lasketaan ( tarkistussumman peitto ). Normaali UDP-paketti vastaa aina UDP-Lite-määrityksiä. Päinvastoin, näin ei välttämättä ole, koska UDP-Lite määrittelee korkeamman vapausasteen. UDP- tai UDP-Lite-paketin pituus voidaan laskea käyttämällä Internet-protokollakerroksen tietoja ; IP-pituus on IP-otsikkokoon ja UDP-pakettikoon summa. Jos UDP-Liten IP-otsikko on pidempi kuin UDP (-Lite) -otsikon pituuskentässä, paketti sisältää ylimääräistä, tarkistamatonta tietoa. Esimerkiksi kahdeksan pituinen kenttä tarkoittaa, että tarkistus summa lasketaan vain otsikon avulla. Arvolla nolla tarkistussumma lasketaan koko paketille. Arvot 1,…, 7 eivät ole sallittuja, ts. H. UDP-Lite-otsikko sisältyy aina tarkistussummaan. UDP: n enimmäispakettikoon (65 535 tavua) rajoitusta ei enää sovelleta. Tässä tapauksessa tarkistussumma voidaan laskea joko koko paketille tai korkeintaan ensimmäisille 65 535 tavulle.

Tekniset tiedot

  • RFC 768 User Datagram Protocol
  • RFC 3828 Kevyt käyttäjän datagrammin protokolla (UDP-Lite)

Katso myös

nettilinkit

Yksittäiset todisteet

  1. RFC 5405 - Unicast UDP -käyttöohjeet.
  2. RFC 768 - Käyttäjän datagrammin protokolla. (Englanti, PDF: tools.ietf.org ).