Gebruikersdatagramprotocol (UDP) is een Transport Layer-protocol. UDP is een onderdeel van de Internet Protocol-suite, ook wel UDP/IP-suite genoemd. In tegenstelling tot TCP is het een onbetrouwbaar en verbindingsloos protocol. Het is dus niet nodig om een verbinding tot stand te brengen vóór de gegevensoverdracht. De UDP helpt bij het tot stand brengen van verbindingen met lage latentie en verliestolerantie via het netwerk. De UDP maakt proces-tot-proces-communicatie mogelijk.
Wat is gebruikersdatagramprotocol?
Hoewel Transmission Control Protocol (TCP) het dominante transportlaagprotocol is dat bij de meeste internetdiensten wordt gebruikt; biedt gegarandeerde levering, betrouwbaarheid en nog veel meer, maar al deze services kosten ons extra overhead en latentie. Hier komt UDP in beeld. Voor realtime services zoals computergamen, spraak- of videocommunicatie en liveconferenties; we hebben UDP nodig. Omdat hoge prestaties nodig zijn, maakt UDP het mogelijk dat pakketten worden verwijderd in plaats van vertraagde pakketten te verwerken. Er is geen foutcontrole in UDP, dus het bespaart ook bandbreedte.
UDP-koptekst
UDP-header is een 8 bytes vaste en eenvoudige header, terwijl deze voor TCP kan variëren van 20 bytes tot 60 bytes. De eerste 8 bytes bevatten alle benodigde headerinformatie en het resterende deel bestaat uit data. UDP-poortnummervelden zijn elk 16 bits lang, daarom is het bereik voor poortnummers gedefinieerd van 0 tot 65535; poortnummer 0 is gereserveerd. Poortnummers helpen bij het onderscheiden van verschillende gebruikersverzoeken of -processen.
UDP-koptekst
- Bronpoort: Bronpoort is een veld van 2 bytes dat wordt gebruikt om het poortnummer van de bron te identificeren.
- Haven van bestemming: Het is een veld van 2 bytes dat wordt gebruikt om de poort van het bestemde pakket te identificeren.
- Lengte: Lengte is de lengte van UDP inclusief de header en de gegevens. Het is een veld van 16 bits.
- Controlesom: Controlesom is een veld van 2 bytes lang. Het is het 16-bits complement van de ene-complementsom van de UDP-header, de pseudo-header van informatie uit de IP-header en de gegevens, opgevuld met nul octetten aan het einde (indien nodig) om een veelvoud van twee te maken octetten.
Opmerkingen – In tegenstelling tot TCP is de Checksum-berekening niet verplicht in UDP. UDP biedt geen foutcontrole of stroomcontrole. Daarom is UDP voor foutrapportage afhankelijk van IP en ICMP. UDP biedt ook poortnummers, zodat er onderscheid kan worden gemaakt tussen gebruikersverzoeken.
Toepassingen van UDP
- Wordt gebruikt voor eenvoudige verzoek-antwoordcommunicatie wanneer de gegevensgrootte kleiner is en er dus minder zorgen zijn over de stroom- en foutcontrole.
- Het is een geschikt protocol voor multicasting, aangezien UDP pakketschakeling ondersteunt.
- UDP wordt gebruikt voor sommige routeringsupdateprotocollen, zoals RIP (Routing Information Protocol).
- Normaal gesproken gebruikt voor real-time toepassingen die geen ongelijke vertragingen tussen secties van een ontvangen bericht kunnen tolereren.
- UDP wordt veel gebruikt bij online gaming, waarbij lage latentie en snelle communicatie essentieel zijn voor een goede game-ervaring. Gameservers sturen vaak kleine, frequente gegevenspakketten naar clients, en UDP is zeer geschikt voor dit soort communicatie omdat het snel en licht is.
- Streaming mediatoepassingen, zoals IPTV, online radio en videoconferenties, gebruiken UDP om realtime audio- en videogegevens te verzenden. In deze toepassingen kan het verlies van sommige pakketten worden getolereerd, omdat de gegevens continu stromen en geen hertransmissie nodig is.
- VoIP-diensten (Voice over Internet Protocol), zoals Skype en WhatsApp, gebruiken UDP voor realtime spraakcommunicatie. De vertraging in spraakcommunicatie kan merkbaar zijn als pakketten worden vertraagd als gevolg van congestiecontrole. Daarom wordt UDP gebruikt om snelle en efficiënte gegevensoverdracht te garanderen.
- DNS (Domain Name System) gebruikt ook UDP voor zijn vraag-/antwoordberichten. DNS-query's zijn doorgaans klein en vereisen een snelle responstijd, waardoor UDP een geschikt protocol is voor deze toepassing.
- DHCP (Dynamic Host Configuration Protocol) gebruikt UDP om IP-adressen dynamisch toe te wijzen aan apparaten in een netwerk. DHCP-berichten zijn doorgaans klein en de vertraging veroorzaakt door pakketverlies of hertransmissie is over het algemeen niet kritisch voor deze toepassing.
- De volgende implementaties gebruiken UDP als transportlaagprotocol:
- NTP (Netwerktijdprotocol)
- DNS (domeinnaamservice)
- BOOTP, DHCP.
- NNP (Netwerknieuwsprotocol)
- Citaat van de dag-protocol
- TFTP, RTSP, RIP.
- De applicatielaag kan een aantal taken uitvoeren via UDP-
- Traceer route
- Route opnemen
- Tijdstempel
- UDP neemt een datagram van Network Layer, voegt de header toe en stuurt dit naar de gebruiker. Het werkt dus snel.
- Eigenlijk is UDP een nulprotocol als u het controlesomveld verwijdert.
- Verminder de behoefte aan computerbronnen.
- Wanneer u Multicast of Broadcast gebruikt voor overdracht.
- De verzending van realtime pakketten, voornamelijk in multimediatoepassingen.
Voordelen van UDP
- Snelheid: UDP is sneller dan TCP omdat het niet de overhead heeft van het tot stand brengen van een verbinding en het garanderen van betrouwbare gegevenslevering.
- Lagere latentie: Omdat er geen verbinding tot stand is gebracht, is er sprake van een lagere latentie en een snellere responstijd.
- Eenvoud: UDP heeft een eenvoudiger protocolontwerp dan TCP, waardoor het eenvoudiger te implementeren en te beheren is.
- Ondersteuning voor uitzendingen: UDP ondersteunt uitzendingen naar meerdere ontvangers, waardoor het handig is voor toepassingen zoals videostreaming en online gaming.
- Kleinere pakketgrootte: UDP gebruikt kleinere pakketgroottes dan TCP, wat de netwerkcongestie kan verminderen en de algehele netwerkprestaties kan verbeteren.
- User Datagram Protocol (UDP) is efficiënter in termen van latentie en bandbreedte.
Nadelen van UDP
- Geen betrouwbaarheid: UDP garandeert geen levering van pakketten of volgorde van levering, wat kan leiden tot ontbrekende of dubbele gegevens.
- Geen congestiecontrole: UDP beschikt niet over congestiecontrole, wat betekent dat het pakketten kan verzenden met een snelheid die netwerkcongestie kan veroorzaken.
- Geen stroomcontrole: UDP beschikt niet over flow control, wat betekent dat het de ontvanger kan overweldigen met pakketten die het niet aankan.
- Kwetsbaar voor aanvallen: UDP is kwetsbaar voor denial-of-service-aanvallen, waarbij een aanvaller een netwerk kan overspoelen met UDP-pakketten, waardoor het netwerk wordt overweldigd en het crasht.
- Beperkte gebruiksscenario's: UDP is niet geschikt voor toepassingen die een betrouwbare gegevenslevering vereisen, zoals e-mail of bestandsoverdracht, en is beter geschikt voor toepassingen die enig gegevensverlies kunnen tolereren, zoals videostreaming of online gamen.
UDP pseudo-header
- Het doel van het gebruik van een pseudo-header is om te verifiëren dat het UDP-pakket de juiste bestemming heeft bereikt
- De juiste bestemming bestaat uit een specifieke machine en een specifiek protocolpoortnummer binnen die machine

UDP-pseudo-header
Details van UDP-pseudokoptekst
- De UDP-header zelf specificeert alleen het protocolpoortnummer. Om de bestemmings-UDP op de verzendende machine te verifiëren, wordt dus een controlesom berekend die zowel het bestemmings-IP-adres als het UDP-pakket omvat.
- Op de uiteindelijke bestemming verifieert UDP-software de controlesom met behulp van het bestemmings-IP-adres dat is verkregen uit de header van het IP-pakket dat het UDP-bericht bevatte.
- Als de controlesom akkoord gaat, moet het waar zijn dat het pakket de beoogde bestemmingshost heeft bereikt, evenals de juiste protocolpoort binnen die host.
Gebruikersomgeving
Een gebruikersinterface moet het creëren van nieuwe ontvangstpoorten mogelijk maken, ontvangstbewerkingen op de ontvangstpoorten die de data-octetten retourneren en een indicatie van de bronpoort en het bronadres, en een bewerking waarmee een datagram kan worden verzonden, waarbij de gegevens, de bron en het bronadres worden gespecificeerd. bestemmingspoorten en te verzenden adres.
IP-interface
- De UDP-module moet het bron- en bestemmingsinternetadres en het protocolveld uit de internetheader kunnen bepalen
- Eén mogelijke UDP/IP-interface zou het hele internetdatagram inclusief de volledige internetheader retourneren als reactie op een ontvangstbewerking
- Een dergelijke interface zou de UDP ook in staat stellen een volledig internetdatagram, compleet met header, naar het IP-adres te verzenden. het IP-adres zou bepaalde velden verifiëren op consistentie en de internetheader-controlesom berekenen.
- Dankzij de IP-interface kan de UDP-module communiceren met de netwerklaag van de protocolstack, die verantwoordelijk is voor het routeren en leveren van gegevens via het netwerk.
- De IP-interface biedt een mechanisme waarmee de UDP-module kan communiceren met andere hosts op het netwerk door toegang te bieden tot het onderliggende IP-protocol.
- De IP-interface kan door de UDP-module worden gebruikt om datapakketten over het netwerk te verzenden en te ontvangen, met behulp van IP-routerings- en adresseringsmechanismen.
- De IP-interface biedt een abstractieniveau waarmee de UDP-module kan communiceren met de netwerklaag zonder dat hij te maken krijgt met de complexiteit van IP-routering en directe adressering.
- De IP-interface verwerkt ook de fragmentatie en het opnieuw samenstellen van IP-pakketten, wat belangrijk is voor grote datatransmissies die de maximale pakketgrootte kunnen overschrijden die door het netwerk is toegestaan.
- De IP-interface kan ook aanvullende diensten bieden, zoals ondersteuning voor Quality of Service (QoS)-parameters en beveiligingsmechanismen zoals IPsec.
- De IP-interface is een cruciaal onderdeel van de Internet Protocol Suite, omdat deze communicatie tussen hosts op internet mogelijk maakt en een naadloze overdracht van datapakketten over het netwerk mogelijk maakt.
GATE-vragen voor de praktijk
- GATE CS 2013, vraag 12
- GATE CS 2012, vraag 65
- GATE CS 2007, vraag 20
- GATE CS 2005, vraag 23
- GATE IT 2008, vraag 66
- GATE Mock 2015, vraag 5
Veelgestelde vragen over UDP – Veelgestelde vragen
1. Noem de protocollen die UDP gebruiken?
Het protocol dat het UDP-model gebruikt, is:
2. Wat is sneller: TCP of UDP?
UDP is sneller dan TCP.