Wat is UDP (User Datagram Protocol)?

Verbindingsloos protocol van de transportlaag. De header is 8 bytes en bevat alleen poortnummers, een lengte en een checksum. Er is geen verbindingsopbouw, geen ontvangstbevestiging of hertransmissie en geen volgorderegeling, dus er komt weinig vertraging bij. Het wordt onder meer gebruikt voor DNS-query's, spraak- en videogesprekken, onlinegames, DHCP en QUIC.

Japanse benaming: UDP

“UDP (User Datagram Protocol)” komt voor in 4 oefenvragen uit 2 onderwerpen, bijv. Basis van computernetwerken, Basis van webtechnologie.

Vakgebied: Basis van computernetwerken

Header en datagrammen

De UDP-header bestaat uit vier velden van 16 bits: het poortnummer van de bron, dat van de bestemming, de lengte en de checksum, samen 8 bytes. Elk blok gegevens dat de applicatie verstuurt, wordt één datagram, en de ontvanger krijgt het met dezelfde grenzen, anders dan bij de bytestroom van TCP. De checksum is optioneel over IPv4 maar verplicht over IPv6. Grote datagrammen worden op IP-niveau gefragmenteerd en gaan gemakkelijker verloren, dus applicaties houden ze gewoonlijk klein genoeg om binnen de MTU te passen.

Wanneer UDP de juiste keuze is

Bij gesprekken en livestreaming zijn gegevens die te laat aankomen nutteloos, en wachten op hertransmissies laat geluid en beeld haperen. Bij uitwisselingen die uit één vraag en één antwoord bestaan, zoals DNS-query's, verkort het weglaten van de verbindingsopbouw de wachttijd. UDP kan ook worden gebruikt voor broadcast en multicast van één naar velen, en daarom loopt DHCP, dat wordt gebruikt door apparaten die nog geen IP-adres hebben, over UDP. Applicaties die betrouwbaarheid nodig hebben, bouwen hertransmissie en volgorderegeling zelf bovenop UDP, zoals QUIC doet.

Waar je op moet letten

UDP-datagrammen kunnen verloren gaan, dubbel aankomen of in een andere volgorde aankomen, dus de applicatie moet daarmee omgaan, bijvoorbeeld door haar gegevens te nummeren. UDP zelf heeft geen congestiebeheersing, dus een applicatie die veel gegevens verstuurt, moet zelf haar tempo regelen. NAT-koppelingen verdwijnen na een periode zonder verkeer, dus applicaties sturen soms kleine pakketten (keepalives) om ze open te houden. Omdat er geen handshake is en het bronadres gemakkelijk te vervalsen is, worden UDP-diensten zoals DNS die grote antwoorden op kleine vragen geven, misbruikt voor reflectie- en amplificatie-DDoS-aanvallen.

Nu oefenen: vragen over UDP (User Datagram Protocol)

Tot welke laag van het TCP/IP-model met vier lagen behoren TCP en UDP?

  1. AApplicatielaag
  2. BInternetlaag
  3. CTransportlaag
Antwoord en toelichting tonen

Antwoord: C. Transportlaag

Het TCP/IP-model wordt van onder naar boven beschreven met vier lagen: de linklaag (netwerkinterfacelaag), de internetlaag, de transportlaag en de applicatielaag. TCP en UDP zijn protocollen van de transportlaag; met poortnummers onderscheiden ze voor welke applicatie op een eindapparaat het verkeer bestemd is. IP in de internetlaag zorgt ervoor dat pakketten van eindapparaat naar eindapparaat worden bezorgd. HTTP en DNS zijn protocollen van de applicatielaag. Vergeleken met het OSI-referentiemodel komt de transportlaag overeen met laag 4 en de internetlaag met laag 3.

Welke uitspraak over UDP is juist?

  1. AHet bouwt geen verbinding op en regelt geen hertransmissie of volgorde, waardoor de header klein is en er vóór het verzenden niet gewacht hoeft te worden
  2. BHet bouwt een verbinding op, verzendt gegevens die niet aankwamen opnieuw en zet ze bij de ontvanger weer in de juiste volgorde
  3. CHet levert gegevens alleen op basis van MAC-adressen bij het doelapparaat af, zonder IP-adressen
Antwoord en toelichting tonen

Antwoord: A. Het bouwt geen verbinding op en regelt geen hertransmissie of volgorde, waardoor de header klein is en er vóór het verzenden niet gewacht hoeft te worden

UDP is een licht protocol dat bovenop IP alleen poortnummers en een eenvoudige foutcontrole (checksum) toevoegt; de header is 8 bytes (die van TCP is zonder opties 20 bytes). Er is geen verbindingsopbouw, geen ontvangstbevestiging en geen hertransmissie, dus het wordt gebruikt voor spraakgesprekken en livevideo, waar een beetje verlies beter is dan vertraging, en voor DNS, dat met één vraag en één antwoord toekomt. Als betrouwbaarheid nodig is, zorgt de applicatie daarvoor; QUIC, dat door HTTP/3 wordt gebruikt, implementeert bijvoorbeeld hertransmissie en versleuteling bovenop UDP. Verbindingsopbouw, hertransmissie en volgorderegeling zijn taken van TCP.

Veelgestelde vragen

Waarom zou je UDP gebruiken als het onbetrouwbaar is?

Het wacht niet op verbindingsopbouw of hertransmissies, dus er komt weinig vertraging bij, en de header is klein. Dat past bij gesprekken en games, waar weinig vertraging belangrijker is dan een beetje ontbrekende gegevens, en bij DNS-query's, die in één rondgang klaar zijn. Is betrouwbaarheid nodig, dan implementeren protocollen zoals QUIC hertransmissie bovenop UDP.

Komen UDP-gegevens aan in de volgorde waarin ze zijn verzonden?

Dat is niet gegarandeerd. Datagrammen kunnen in een andere volgorde aankomen, bijvoorbeeld doordat ze verschillende paden nemen, en ze kunnen ook verloren gaan of dubbel aankomen. Is de volgorde belangrijk, dan nummert de applicatie haar gegevens en zet ze die weer op volgorde.

“UDP (User Datagram Protocol)” in de toelichting

Vragen met “UDP (User Datagram Protocol)” (4)

  1. Tot welke laag van het TCP/IP-model met vier lagen behoren TCP en UDP?
  2. Welke uitspraak over UDP is juist?
  3. Wat is de belangrijkste rol van DNS?
  4. Welke beschrijving van HTTP/2 en HTTP/3 is juist?

Vergelijkingen met deze term

Verwante termen

TCP (Transmission Control Protocol) HTTP (Hypertext Transfer Protocol) DNS (Domain Name System) IP (internetprotocol) Poortnummer Pakket (packet) QUIC OSI-referentiemodel ARQ (automatic repeat request) IP-adres

Naar de woordenlijst