In computernetwerken staat UDP voor User Datagram Protocol. David P. Reed ontwikkelde het UDP-protocol in 1980. Het is gedefinieerd in RFC 768 en maakt deel uit van het TCP/IP-protocol, dus het is een standaardprotocol via internet. Met het UDP-protocol kunnen de computertoepassingen de berichten in de vorm van datagrammen van de ene machine naar de andere machine verzenden via het Internet Protocol (IP)-netwerk. Het UDP is een alternatief communicatieprotocol voor het TCP-protocol (transmissiecontroleprotocol). Net als TCP biedt UDP een reeks regels die bepalen hoe de gegevens via internet moeten worden uitgewisseld. De UDP werkt door de gegevens in het pakket in te kapselen en zijn eigen headerinformatie aan het pakket te verstrekken. Vervolgens wordt dit UDP-pakket ingekapseld in het IP-pakket en naar zijn bestemming verzonden. Beide TCP en UDP protocollen verzenden de gegevens via het internetprotocolnetwerk, dus het wordt ook wel genoemd TCP/IP en UDP/IP. Er zijn veel verschillen tussen deze twee protocollen. UDP zorgt ervoor dat het proces communicatie kan verwerken, terwijl TCP host-tot-host-communicatie biedt. Omdat UDP de berichten in de vorm van datagrammen verzendt, wordt dit beschouwd als de beste manier van communiceren. TCP verzendt de individuele pakketjes en is dus een betrouwbaar transportmedium. Een ander verschil is dat TCP een verbindingsgericht protocol is, terwijl UDP een verbindingsloos protocol is, omdat er geen virtueel circuit nodig is om de gegevens over te dragen.
UDP biedt ook een ander poortnummer om verschillende gebruikersverzoeken te onderscheiden en biedt ook de mogelijkheid om een controlesom te maken om te verifiëren of de volledige gegevens zijn aangekomen of niet; de IP-laag biedt deze twee diensten niet.
Kenmerken van het UDP-protocol
Hieronder volgen de kenmerken van het UDP-protocol:
UDP is het eenvoudigste communicatieprotocol op de transportlaag. Het bevat een minimum aan communicatiemechanismen. Het wordt beschouwd als een onbetrouwbaar protocol en is gebaseerd op best-effort bezorgdiensten. UDP biedt geen bevestigingsmechanisme, wat betekent dat de ontvanger de bevestiging voor het ontvangen pakket niet verzendt, en de afzender ook niet wacht op de bevestiging voor het pakket dat hij heeft verzonden.
Het UDP is een verbindingsloos protocol omdat het geen virtueel pad creëert om de gegevens over te dragen. Het maakt geen gebruik van het virtuele pad, dus pakketten worden in verschillende paden verzonden tussen de afzender en de ontvanger, wat leidt tot het verlies van pakketten of het in de verkeerde volgorde ontvangen.
Bestelde levering van gegevens is niet gegarandeerd.
In het geval van UDP worden de datagrammen in een bepaalde volgorde verzonden. Het is niet gegarandeerd dat de datagrammen in dezelfde volgorde worden ontvangen, aangezien de datagrammen niet zijn genummerd.
Het UDP-protocol maakt gebruik van verschillende poortnummers zodat de gegevens naar de juiste bestemming kunnen worden verzonden. De poortnummers zijn gedefinieerd tussen 0 en 1023.
UDP maakt een snellere overdracht mogelijk omdat het een verbindingsloos protocol is, dat wil zeggen dat er geen virtueel pad nodig is om de gegevens over te dragen. Maar de kans bestaat dat het individuele pakket verloren gaat, wat de transmissiekwaliteit beïnvloedt. Aan de andere kant, als het pakket verloren gaat in de TCP-verbinding, zal dat pakket opnieuw worden verzonden, zodat de levering van de datapakketten wordt gegarandeerd.
semantische fout
De UDP heeft een bevestigingsmechanisme, dat wil zeggen dat er geen handshake plaatsvindt tussen de UDP-zender en de UDP-ontvanger. Als het bericht in TCP wordt verzonden, erkent de ontvanger dat ik er klaar voor ben, waarna de afzender de gegevens verzendt. In het geval van TCP vindt de handshake plaats tussen de zender en de ontvanger, terwijl er bij UDP geen handshaking plaatsvindt tussen de zender en de ontvanger.
Elk UDP-segment wordt afzonderlijk van anderen afgehandeld, aangezien elk segment een ander pad volgt om de bestemming te bereiken. De UDP-segmenten kunnen verloren gaan of niet in de juiste volgorde worden afgeleverd om de bestemming te bereiken, omdat er geen verbinding tot stand is gebracht tussen de zender en de ontvanger.
Het is een staatloos protocol, wat betekent dat de afzender geen ontvangstbevestiging krijgt voor het verzonden pakket.
Waarom hebben we het UDP-protocol nodig?
Zoals we weten is het UDP een onbetrouwbaar protocol, maar in sommige gevallen hebben we toch een UDP-protocol nodig. De UDP wordt ingezet waar de pakketten naast de daadwerkelijke gegevens een grote hoeveelheid bandbreedte vereisen. Bij videostreaming is het erkennen van duizenden pakketten bijvoorbeeld lastig en wordt er veel bandbreedte verspild. In het geval van videostreaming kan het verlies van sommige pakketten geen probleem vormen, en dit kan ook worden genegeerd.
UDP-headerformaat
In UDP is de headergrootte 8 bytes en de pakketgrootte maximaal 65.535 bytes. Maar deze pakketgrootte is niet mogelijk omdat de gegevens moeten worden ingekapseld in het IP-datagram, en voor een IP-pakket kan de headergrootte 20 bytes zijn; daarom zou het maximum van UDP 65.535 min 20 zijn. De grootte van de gegevens die het UDP-pakket kan vervoeren zou 65.535 min 28 zijn, als 8 bytes voor de header van het UDP-pakket en 20 bytes voor de IP-header.
De UDP-header bevat vier velden:
Concept van wachtrijen in UDP-protocol
In het UDP-protocol worden getallen gebruikt om de verschillende processen op een server en client te onderscheiden. We weten dat UDP een proces biedt om communicatie te verwerken. De client genereert de processen die services nodig hebben, terwijl de server de processen genereert die services leveren. De wachtrijen zijn beschikbaar voor beide processen, dat wil zeggen twee wachtrijen voor elk proces. De eerste wachtrij is de inkomende wachtrij die de berichten ontvangt, en de tweede is de uitgaande wachtrij die de berichten verzendt. De wachtrij functioneert wanneer het proces wordt uitgevoerd. Als het proces wordt beëindigd, wordt de wachtrij ook vernietigd.
UDP verzorgt het verzenden en ontvangen van de UDP-pakketten met behulp van de volgende componenten:
Verschillende processen willen gebruik maken van de diensten van UDP. De UDP multiplext en demultiplext de processen, zodat de meerdere processen op één enkele host kunnen worden uitgevoerd.
Beperkingen
- Het biedt een onbetrouwbare verbindingsleveringsservice. Het biedt geen IP-diensten, behalve dat het proces-tot-proces-communicatie biedt.
- Het UDP-bericht kan verloren gaan, vertraagd worden, gedupliceerd worden of kan buiten gebruik zijn.
- Het biedt geen betrouwbare transportbezorgservice. Het biedt geen enkel bevestigings- of stroomcontrolemechanisme. Het biedt echter tot op zekere hoogte wel controle op fouten.
Voordelen
- Het produceert een minimaal aantal overheadkosten.