User Datagram Protocol (UDP) är ett transportlagerprotokoll. UDP är en del av Internet Protocol-sviten, kallad UDP/IP-svit. Till skillnad från TCP är det en opålitligt och anslutningslöst protokoll. Så det finns inget behov av att upprätta en anslutning före dataöverföring. UDP hjälper till att upprätta anslutningar med låg latens och förlusttolererande anslutningar över nätverket. UDP möjliggör process-till-process-kommunikation.
Vad är User Datagram Protocol?
Även om TCP (Transmission Control Protocol) är det dominerande transportlagerprotokollet som används med de flesta av internettjänsterna; ger säker leverans, tillförlitlighet och mycket mer, men alla dessa tjänster kostar oss ytterligare omkostnader och latens. Här kommer UDP in i bilden. För realtidstjänster som datorspel, röst- eller videokommunikation och livekonferenser; vi behöver UDP. Eftersom hög prestanda krävs tillåter UDP att paket släpps istället för att bearbeta fördröjda paket. Det finns ingen felkontroll i UDP, så det sparar också bandbredd.

UDP-huvud
UDP-huvudet är en 8-byte fast och enkel rubrik, medan den för TCP kan variera från 20 byte till 60 byte. De första 8 byten innehåller all nödvändig rubrikinformation och den återstående delen består av data. UDP-portnummerfält är vart och ett 16 bitar långt, därför är intervallet för portnummer definierat från 0 till 65535; portnummer 0 är reserverad. Portnummer hjälper till att särskilja olika användarförfrågningar eller processer.

UDP-huvud
- Källport: Källport är ett 2 byte långt fält som används för att identifiera källans portnummer.
- Destinationsport: Det är ett 2 byte långt fält som används för att identifiera porten för det destinerade paketet.
- Längd: Längd är längden på UDP inklusive rubriken och data. Det är ett 16-bitars fält.
- Kontrollsumma: Kontrollsumman är 2 byte långt fält. Det är 16-bitars ens komplement av ens komplement summan av UDP-huvudet, pseudohuvudet av information från IP-huvudet och data, utfyllda med noll oktetter i slutet (om nödvändigt) för att göra en multipel av två oktetter.
Anteckningar – Till skillnad från TCP är kontrollsummaberäkningen inte obligatorisk i UDP. Ingen felkontroll eller flödeskontroll tillhandahålls av UDP. Därför beror UDP på IP och ICMP för felrapportering. UDP tillhandahåller också portnummer så att det kan skilja mellan användarförfrågningar.
Tillämpningar av UDP
- Används för enkel förfrågan-svar-kommunikation när datastorleken är mindre och det därför finns mindre oro för flöde och felkontroll.
- Det är ett lämpligt protokoll för multicasting eftersom UDP stöder paketväxling.
- UDP används för vissa routinguppdateringsprotokoll som RIP (Routing Information Protocol).
- Används normalt för realtidsapplikationer som inte kan tolerera ojämna förseningar mellan sektioner av ett mottaget meddelande.
- UDP används flitigt inom onlinespel, där låg latens och höghastighetskommunikation är avgörande för en bra spelupplevelse. Spelservrar skickar ofta små, frekventa paket med data till klienter, och UDP lämpar sig väl för denna typ av kommunikation eftersom det är snabbt och lätt.
- Streamingmediaapplikationer, som IPTV, onlineradio och videokonferenser, använder UDP för att överföra ljud- och videodata i realtid. Förlusten av vissa paket kan tolereras i dessa applikationer, eftersom data strömmar kontinuerligt och inte kräver omsändning.
- VoIP-tjänster (Voice over Internet Protocol), som Skype och WhatsApp, använder UDP för röstkommunikation i realtid. Fördröjningen i röstkommunikation kan märkas om paket försenas på grund av överbelastningskontroll, så UDP används för att säkerställa snabb och effektiv dataöverföring.
- DNS (Domain Name System) använder också UDP för sina fråge-/svarsmeddelanden. DNS-frågor är vanligtvis små och kräver en snabb svarstid, vilket gör UDP till ett lämpligt protokoll för denna applikation.
- DHCP (Dynamic Host Configuration Protocol) använder UDP för att dynamiskt tilldela IP-adresser till enheter i ett nätverk. DHCP-meddelanden är vanligtvis små, och fördröjningen som orsakas av paketförlust eller omsändning är i allmänhet inte kritisk för denna applikation.
- Följande implementeringar använder UDP som ett transportlagerprotokoll:
- NTP (Network Time Protocol)
- DNS (Domain Name Service)
- BOOTP, DHCP.
- NNP (Network News Protocol)
- Dagens citat
- TFTP, RTSP, RIP.
- Applikationsskiktet kan göra några av uppgifterna genom UDP-
- Spåra rutt
- Spela in rutt
- Tidsstämpel
- UDP tar ett datagram från Network Layer, bifogar dess header och skickar det till användaren. Så det fungerar snabbt.
- I själva verket är UDP ett nollprotokoll om du tar bort kontrollsummafältet.
- Minska behovet av datorresurser.
- När du använder Multicast eller Broadcast för att överföra.
- Överföring av realtidspaket, främst i multimediaapplikationer.
Fördelar med UDP
- Fart: UDP är snabbare än TCP eftersom det inte har kostnaderna för att upprätta en anslutning och säkerställa tillförlitlig dataleverans.
- Lägre latens: Eftersom det inte finns någon anslutningsetablering, finns det lägre latens och snabbare svarstid.
- Enkelhet: UDP har en enklare protokolldesign än TCP, vilket gör det lättare att implementera och hantera.
- Sändningsstöd: UDP stöder sändning till flera mottagare, vilket gör det användbart för applikationer som videostreaming och onlinespel.
- Mindre paketstorlek: UDP använder mindre paketstorlekar än TCP, vilket kan minska nätverksstockning och förbättra den övergripande nätverksprestandan.
- User Datagram Protocol (UDP) är effektivare när det gäller både latens och bandbredd.
Nackdelar med UDP
- Ingen tillförlitlighet: UDP garanterar inte leverans av paket eller leveransorder, vilket kan leda till att data saknas eller dupliceras.
- Ingen trängselkontroll: UDP har ingen överbelastningskontroll, vilket innebär att den kan skicka paket med en hastighet som kan orsaka överbelastning i nätverket.
- Ingen flödeskontroll: UDP har inte flödeskontroll, vilket innebär att den kan överväldiga mottagaren med paket som den inte kan hantera.
- Sårbar för attacker: UDP är sårbart för denial-of-service-attacker, där en angripare kan översvämma ett nätverk med UDP-paket, överväldiga nätverket och få det att krascha.
- Begränsade användningsfall: UDP lämpar sig inte för applikationer som kräver tillförlitlig dataleverans, såsom e-post eller filöverföring, och är bättre lämpad för applikationer som kan tolerera viss dataförlust, såsom videostreaming eller onlinespel.
UDP Pseudo Header
- Syftet med att använda en pseudo-header är att verifiera att UDP-paketet har nått sin korrekta destination
- Den korrekta destinationen består av en specifik maskin och ett specifikt protokollportnummer inom den maskinen

UDP pseudohuvud
UDP Pseudo Header Detaljer
- UDP-huvudet själv anger endast protokollportnummer. För att verifiera destinationen beräknar UDP på den sändande maskinen en kontrollsumma som täcker destinationens IP-adress såväl som UDP-paketet.
- Vid den slutliga destinationen verifierar UDP-programvaran kontrollsumman med hjälp av destinations-IP-adressen som erhålls från huvudet på IP-paketet som bar UDP-meddelandet.
- Om kontrollsumman överensstämmer måste det vara sant att paketet har nått den avsedda destinationsvärden samt rätt protokollport inom den värden.
Användargränssnitt
Ett användargränssnitt bör möjliggöra skapandet av nya mottagningsportar, mottagningsoperationer på mottagningsportarna som returnerar dataoktetterna och en indikation av källport och källadress, och en operation som tillåter att ett datagram skickas, som specificerar data, källa och destinationsportar och adress som ska skickas.
IP-gränssnitt
- UDP-modulen måste kunna bestämma källan och destinationens internetadress och protokollfältet från internethuvudet
- Ett möjligt UDP/IP-gränssnitt skulle returnera hela internetdatagrammet inklusive hela internethuvudet som svar på en mottagningsoperation
- Ett sådant gränssnitt skulle också tillåta UDP att skicka ett fullständigt internetdatagram komplett med rubrik till den IP som ska skickas. IP:n skulle verifiera vissa fält för konsistens och beräkna internethuvudets kontrollsumma.
- IP-gränssnittet tillåter UDP-modulen att interagera med nätverkslagret i protokollstacken, som ansvarar för routing och leverans av data över nätverket.
- IP-gränssnittet tillhandahåller en mekanism för UDP-modulen att kommunicera med andra värdar i nätverket genom att ge åtkomst till det underliggande IP-protokollet.
- IP-gränssnittet kan användas av UDP-modulen för att skicka och ta emot datapaket över nätverket, med hjälp av IP-routing och adresseringsmekanismer.
- IP-gränssnittet ger en abstraktionsnivå som gör att UDP-modulen kan interagera med nätverkslagret utan att behöva ta itu med komplexiteten med IP-routing och adressering direkt.
- IP-gränssnittet hanterar även fragmentering och återmontering av IP-paket, vilket är viktigt för stora dataöverföringar som kan överskrida den maximala paketstorlek som nätverket tillåter.
- IP-gränssnittet kan också tillhandahålla ytterligare tjänster, såsom stöd för Quality of Service-parametrar (QoS) och säkerhetsmekanismer såsom IPsec.
- IP-gränssnittet är en kritisk komponent i Internet Protocol Suite, eftersom det möjliggör kommunikation mellan värdar på internet och möjliggör sömlös överföring av datapaket över nätverket.
GATE-frågor för övning
- GATE CS 2013, fråga 12
- GATE CS 2012, fråga 65
- GATE CS 2007, fråga 20
- GATE CS 2005, fråga 23
- GATE IT 2008, fråga 66
- GATE Mock 2015, fråga 5
Vanliga frågor om UDP – Vanliga frågor
1. Namnge protokollen som använder UDP?
Protokollet som använder UDP-modellen är:
2. Vilket är snabbare: TCP eller UDP?
UDP är snabbare än TCP.