logo

User Datagram Protocol (UDP)

User Datagram Protocol (UDP) er en transportlagsprotokol. UDP er en del af Internet Protocol suite, kaldet UDP/IP suite. I modsætning til TCP er det en upålidelig og forbindelsesfri protokol. Så der er ingen grund til at etablere en forbindelse før dataoverførsel. UDP hjælper med at etablere lav-latens og tabstolererende forbindelser over netværket. UDP'en muliggør proces-til-proces kommunikation.

Hvad er User Datagram Protocol?

Selvom TCP (Transmission Control Protocol) er den dominerende transportlagsprotokol, der bruges med de fleste internettjenester; giver sikker levering, pålidelighed og meget mere, men alle disse tjenester koster os yderligere overhead og latenstid. Her kommer UDP ind i billedet. Til realtidstjenester som computerspil, stemme- eller videokommunikation og livekonferencer; vi har brug for UDP. Da høj ydeevne er nødvendig, tillader UDP, at pakker droppes i stedet for at behandle forsinkede pakker. Der er ingen fejlkontrol i UDP, så det sparer også båndbredde.



UDP-gif

UDP-header

UDP-header er en 8-byte fast og simpel header, mens det for TCP kan variere fra 20 bytes til 60 bytes. De første 8 bytes indeholder alle nødvendige headeroplysninger, og den resterende del består af data. UDP-portnummerfelter er hver 16 bit lange, derfor er området for portnumre defineret fra 0 til 65535; portnummer 0 er reserveret. Portnumre hjælper med at skelne mellem forskellige brugeranmodninger eller processer.

UDP-header



UDP-header

  1. Kildeport: Kildeport er et 2 byte langt felt, der bruges til at identificere kildens portnummer.
  2. Destinationshavn: Det er et 2 byte langt felt, der bruges til at identificere porten for den destinerede pakke.
  3. Længde: Længde er længden af ​​UDP inklusive overskriften og dataene. Det er et 16-bit felt.
  4. Kontrolsum: Checksum er 2 bytes langt felt. Det er 16-bit ens komplement af ens komplement summen af ​​UDP-headeren, pseudo-headeren af ​​information fra IP-headeren og dataene polstret med nul oktetter i slutningen (om nødvendigt) for at lave et multiplum af to oktetter.

Noter – I modsætning til TCP er Checksum-beregningen ikke obligatorisk i UDP. Ingen fejlkontrol eller flowkontrol leveres af UDP. Derfor afhænger UDP af IP og ICMP til fejlrapportering. Også UDP giver portnumre, så det kan skelne mellem brugernes anmodninger.

Anvendelser af UDP

  • Bruges til simpel anmodning-svar-kommunikation, når størrelsen af ​​data er mindre, og der derfor er mindre bekymring for flow og fejlkontrol.
  • Det er en passende protokol til multicasting, da UDP understøtter pakkeskift.
  • UDP bruges til nogle routing-opdateringsprotokoller som RIP (Routing Information Protocol).
  • Anvendes normalt til realtidsapplikationer, som ikke kan tolerere ujævne forsinkelser mellem sektioner af en modtaget besked.
  • UDP er meget brugt i online spil, hvor lav latency og højhastighedskommunikation er afgørende for en god spiloplevelse. Spilservere sender ofte små, hyppige pakker med data til klienter, og UDP er velegnet til denne type kommunikation, da den er hurtig og let.
  • Streamingmedieapplikationer, såsom IPTV, onlineradio og videokonferencer, bruger UDP til at overføre lyd- og videodata i realtid. Tabet af nogle pakker kan tolereres i disse applikationer, da dataene løbende flyder og ikke kræver gentransmission.
  • VoIP-tjenester (Voice over Internet Protocol), såsom Skype og WhatsApp, bruger UDP til stemmekommunikation i realtid. Forsinkelsen i stemmekommunikation kan være mærkbar, hvis pakker er forsinket på grund af overbelastningskontrol, så UDP bruges til at sikre hurtig og effektiv datatransmission.
  • DNS (Domain Name System) bruger også UDP til sine forespørgsels-/svarmeddelelser. DNS-forespørgsler er typisk små og kræver en hurtig responstid, hvilket gør UDP til en passende protokol til denne applikation.
  • DHCP (Dynamic Host Configuration Protocol) bruger UDP til dynamisk at tildele IP-adresser til enheder på et netværk. DHCP-meddelelser er typisk små, og forsinkelsen forårsaget af pakketab eller retransmission er generelt ikke kritisk for denne applikation.
  • Følgende implementeringer bruger UDP som en transportlagsprotokol:
    • NTP (Network Time Protocol)
    • DNS (Domain Name Service)
    • BOOTP, DHCP.
    • NNP (Network News Protocol)
    • Dagens citat protokol
    • TFTP, RTSP, RIP.
  • Applikationslaget kan udføre nogle af opgaverne gennem UDP-
    • Spor rute
    • Optag rute
    • Tidsstempel
  • UDP tager et datagram fra Network Layer, vedhæfter dets header og sender det til brugeren. Så det virker hurtigt.
  • Faktisk er UDP en null-protokol, hvis du fjerner kontrolsum-feltet.
    1. Reducer behovet for computerressourcer.
    2. Når du bruger Multicast eller Broadcast til at overføre.
    3. Transmission af pakker i realtid, hovedsageligt i multimedieapplikationer.

Fordele ved UDP

  • Fart: UDP er hurtigere end TCP, fordi det ikke har overhead til at etablere en forbindelse og sikre pålidelig datalevering.
  • Lavere latenstid: Da der ikke er oprettet forbindelse, er der lavere latenstid og hurtigere responstid.
  • Enkelhed: UDP har et enklere protokoldesign end TCP, hvilket gør det nemmere at implementere og administrere.
  • Broadcast support: UDP understøtter udsendelse til flere modtagere, hvilket gør det nyttigt til applikationer som videostreaming og onlinespil.
  • Mindre pakkestørrelse: UDP bruger mindre pakkestørrelser end TCP, som kan reducere overbelastning af netværket og forbedre den overordnede netværksydelse.
  • User Datagram Protocol (UDP) er mere effektiv med hensyn til både latens og båndbredde.

Ulemper ved UDP

  • Ingen pålidelighed: UDP garanterer ikke levering af pakker eller leveringsordre, hvilket kan føre til manglende eller duplikerede data.
  • Ingen overbelastningskontrol: UDP har ikke overbelastningskontrol, hvilket betyder, at den kan sende pakker med en hastighed, der kan forårsage overbelastning af netværket.
  • Ingen flowkontrol: UDP har ikke flowkontrol, hvilket betyder, at den kan overvælde modtageren med pakker, som den ikke kan håndtere.
  • Sårbar over for angreb: UDP er sårbar over for denial-of-service-angreb, hvor en angriber kan oversvømme et netværk med UDP-pakker, overvælde netværket og få det til at gå ned.
  • Tilfælde med begrænset brug: UDP er ikke egnet til applikationer, der kræver pålidelig datalevering, såsom e-mail eller filoverførsler, og er bedre egnet til applikationer, der kan tolerere noget datatab, såsom videostreaming eller onlinespil.

UDP Pseudo Header

  • Formålet med at bruge en pseudo-header er at verificere, at UDP-pakken har nået sin korrekte destination
  • Den korrekte destination består af en specifik maskine og et specifikt protokolportnummer på den maskine

UDP pseudo header



UDP Pseudo Header Detaljer

  • Selve UDP-headeren angiver kun protokolportnummer. For at verificere destinationen beregner UDP på ​​den afsendende maskine en kontrolsum, der dækker destinationens IP-adresse såvel som UDP-pakken.
  • Ved den endelige destination verificerer UDP-software kontrolsummen ved hjælp af destinations-IP-adressen, der er opnået fra headeren på den IP-pakke, der bar UDP-meddelelsen.
  • Hvis kontrolsummen stemmer overens, skal det være sandt, at pakken har nået den tilsigtede destinationsvært samt den korrekte protokolport i den vært.

Brugergrænseflade

En brugergrænseflade bør tillade oprettelse af nye modtageporte, modtagehandlinger på modtageportene, der returnerer dataoktetterne og en indikation af kildeport og kildeadresse, og en operation, der tillader, at et datagram sendes med specificering af data, kilde og destinationsporte og adresse, der skal sendes.

IP grænseflade

  • UDP-modulet skal være i stand til at bestemme kilde- og destinationsinternetadressen og protokolfeltet fra internetheaderen
  • En mulig UDP/IP-grænseflade ville returnere hele internetdatagrammet inklusive hele internetheaderen som svar på en modtageoperation
  • En sådan grænseflade ville også gøre det muligt for UDP at sende et komplet internetdatagram komplet med header til den IP, der skal sendes. IP'en vil verificere visse felter for konsistens og beregne internetheaderens checksum.
  • IP-grænsefladen gør det muligt for UDP-modulet at interagere med netværkslaget i protokolstakken, som er ansvarlig for routing og levering af data på tværs af netværket.
  • IP-grænsefladen giver UDP-modulet en mekanisme til at kommunikere med andre værter på netværket ved at give adgang til den underliggende IP-protokol.
  • IP-grænsefladen kan bruges af UDP-modulet til at sende og modtage datapakker over netværket ved hjælp af IP-routing og adresseringsmekanismer.
  • IP-grænsefladen giver et abstraktionsniveau, der gør det muligt for UDP-modulet at interagere med netværkslaget uden at skulle håndtere kompleksiteten af ​​IP-routing og adressering direkte.
  • IP-grænsefladen håndterer også fragmentering og gensamling af IP-pakker, hvilket er vigtigt for store datatransmissioner, der kan overstige den maksimale pakkestørrelse, som netværket tillader.
  • IP-grænsefladen kan også levere yderligere tjenester, såsom support til Quality of Service (QoS) parametre og sikkerhedsmekanismer såsom IPsec.
  • IP-grænsefladen er en kritisk komponent i Internet Protocol Suite, da den muliggør kommunikation mellem værter på internettet og giver mulighed for problemfri transmission af datapakker på tværs af netværket.

GATE-spørgsmål til praksis

  1. GATE CS 2013, spørgsmål 12
  2. GATE CS 2012, spørgsmål 65
  3. GATE CS 2007, spørgsmål 20
  4. GATE CS 2005, spørgsmål 23
  5. GATE IT 2008, spørgsmål 66
  6. GATE Mock 2015, spørgsmål 5

Ofte stillede spørgsmål om UDP – ofte stillede spørgsmål

1. Nævn de protokoller, der bruger UDP?

Protokollen, der bruger UDP-modellen er:

2. Hvad er hurtigere: TCP eller UDP?

UDP er hurtigere end TCP.