logo

UDP-protokoll

I datanettverk står UDP for User Datagram Protocol. David P. Reed utviklet UDP-protokollen i 1980. Den er definert i RFC 768, og den er en del av TCP/IP-protokollen, så det er en standardprotokoll over internett. UDP-protokollen lar dataapplikasjonene sende meldingene i form av datagrammer fra en maskin til en annen maskin over IP-nettverket (Internet Protocol). UDP er en alternativ kommunikasjonsprotokoll til TCP-protokollen (overføringskontrollprotokoll). I likhet med TCP gir UDP et sett med regler som styrer hvordan dataene skal utveksles over internett. UDP fungerer ved å kapsle inn dataene i pakken og gi sin egen headerinformasjon til pakken. Deretter blir denne UDP-pakken innkapslet til IP-pakken og sendt til destinasjonen. Begge TCP og UDP protokoller sender dataene over internettprotokollnettverket, så det er også kjent som TCP/IP og UDP/IP. Det er mange forskjeller mellom disse to protokollene. UDP gjør det mulig for prosessen å behandle kommunikasjon, mens TCP gir vert til vert kommunikasjon. Siden UDP sender meldingene i form av datagrammer, regnes det som den beste kommunikasjonsmåten. TCP sender de enkelte pakkene, så det er et pålitelig transportmedium. En annen forskjell er at TCP er en tilkoblingsorientert protokoll, mens UDP er en tilkoblingsløs protokoll da den ikke krever noen virtuell krets for å overføre dataene.

UDP gir også et annet portnummer for å skille mellom forskjellige brukerforespørsler og gir også kontrollsummulighet for å bekrefte om de fullstendige dataene har kommet eller ikke; IP-laget tilbyr ikke disse to tjenestene.

Funksjoner av UDP-protokollen

Følgende er funksjonene til UDP-protokollen:

    Transportlagsprotokoll

UDP er den enkleste kommunikasjonsprotokollen for transportlag. Den inneholder et minimum av kommunikasjonsmekanismer. Det regnes som en upålitelig protokoll, og den er basert på best mulig leveringstjenester. UDP gir ingen bekreftelsesmekanisme, noe som betyr at mottakeren ikke sender bekreftelsen for den mottatte pakken, og avsenderen venter heller ikke på bekreftelsen for pakken den har sendt.

    Forbindelsesløs

UDP er en forbindelsesløs protokoll da den ikke oppretter en virtuell bane for å overføre dataene. Den bruker ikke den virtuelle banen, så pakker sendes i forskjellige baner mellom avsender og mottaker, noe som fører til tap av pakker eller mottatt ute av drift.

Bestilt levering av data er ikke garantert.

Når det gjelder UDP, sendes datagrammene i en eller annen rekkefølge vil bli mottatt i samme rekkefølge er ikke garantert da datagrammene ikke er nummererte.

java liste metoder
    Havner

UDP-protokollen bruker forskjellige portnumre slik at dataene kan sendes til riktig destinasjon. Portnumrene er definert mellom 0 og 1023.

    Raskere overføring

UDP muliggjør raskere overføring siden det er en forbindelsesløs protokoll, det vil si at det ikke kreves noen virtuell bane for å overføre dataene. Men det er en sjanse for at den enkelte pakken går tapt, noe som påvirker overføringskvaliteten. På den annen side, hvis pakken går tapt i TCP-forbindelsen, vil den pakken bli sendt på nytt, så den garanterer levering av datapakkene.

    Bekreftelsesmekanisme

UDP-en har en hvilken som helst bekreftelsesmekanisme, det vil si at det ikke er noe håndtrykk mellom UDP-senderen og UDP-mottakeren. Hvis meldingen sendes i TCP, så bekrefter mottakeren at jeg er klar, så sender avsenderen dataene. Når det gjelder TCP, skjer håndtrykket mellom avsender og mottaker, mens i UDP er det ingen håndtrykk mellom avsender og mottaker.

    Segmenter håndteres uavhengig.

Hvert UDP-segment håndteres individuelt av andre ettersom hvert segment tar forskjellig vei for å nå destinasjonen. UDP-segmentene kan gå tapt eller leveres i ustand for å nå destinasjonen da det ikke er noen forbindelsesoppsett mellom avsender og mottaker.

    Statsløs

Det er en statsløs protokoll som gjør at avsender ikke får kvitteringen for pakken som er sendt.

Hvorfor krever vi UDP-protokollen?

Som vi vet at UDP er en upålitelig protokoll, men vi krever fortsatt en UDP-protokoll i noen tilfeller. UDP-en er distribuert der pakkene krever en stor mengde båndbredde sammen med de faktiske dataene. For eksempel, i videostreaming, er det plagsomt å godkjenne tusenvis av pakker og sløser med mye båndbredde. Når det gjelder videostreaming, kunne tapet av noen pakker ikke skape et problem, og det kan også ignoreres.

UDP-hodeformat

UDP-protokoll

I UDP er topptekststørrelsen 8 byte, og pakkestørrelsen er opptil 65 535 byte. Men denne pakkestørrelsen er ikke mulig da dataene må innkapsles i IP-datagrammet, og en IP-pakke, overskriftsstørrelsen kan være 20 byte; derfor vil maksimum for UDP være 65 535 minus 20. Størrelsen på dataene som UDP-pakken kan bære vil være 65 535 minus 28 som 8 byte for overskriften til UDP-pakken og 20 byte for IP-overskriften.

UDP-overskriften inneholder fire felt:

    Kildeportnummer:Det er 16-bits informasjon som identifiserer hvilken port som ikke skal sende pakken.Destinasjonsportnummer:Den identifiserer hvilken port som skal godta informasjonen. Det er 16-biters informasjon som brukes til å identifisere tjeneste på applikasjonsnivå på destinasjonsmaskinen.Lengde:Det er et 16-bits felt som spesifiserer hele lengden på UDP-pakken som også inkluderer overskriften. Minimumsverdien vil være 8 byte siden størrelsen på overskriften er 8 byte.Sjekksum:Det er et 16-bits felt, og det er et valgfritt felt. Dette kontrollsumfeltet sjekker om informasjonen er nøyaktig eller ikke, da det er mulighet for at informasjonen kan bli ødelagt under overføring. Det er et valgfritt felt, som betyr at det avhenger av applikasjonen, om den vil skrive sjekksummen eller ikke. Hvis den ikke vil skrive kontrollsummen, er alle de 16 bitene null; ellers skriver den sjekksummen. I UDP blir sjekksumfeltet brukt på hele pakken, dvs. overskriften så vel som datadelen, mens sjekksumfeltet i IP blir brukt på kun overskriftsfeltet.

Konsept med kø i UDP-protokoll

UDP-protokoll

I UDP-protokollen brukes tall for å skille de forskjellige prosessene på en server og klient. Vi vet at UDP gir en prosess for å behandle kommunikasjon. Klienten genererer prosessene som trenger tjenester mens serveren genererer prosessene som gir tjenester. Køene er tilgjengelige for begge prosessene, dvs. to køer for hver prosess. Den første køen er den innkommende køen som mottar meldingene, og den andre er den utgående køen som sender meldingene. Køen fungerer når prosessen kjører. Hvis prosessen avsluttes, vil køen også bli ødelagt.

UDP håndterer sending og mottak av UDP-pakkene ved hjelp av følgende komponenter:

charat java
    Inndatakø:UDP-pakkene bruker et sett med køer for hver prosess.Inndatamodul:Denne modulen tar brukerdatagrammet fra IP-en, og deretter finner den informasjonen fra kontrollblokktabellen til samme port. Hvis den finner oppføringen i kontrollblokktabellen med samme port som brukerdatagrammet, setter den dataene i kø.Kontrollblokkmodul:Den administrerer kontrollblokktabellen.Kontrollblokktabell:Kontrollblokktabellen inneholder oppføringen av åpne porter.Utgangsmodul:Utgangsmodulen oppretter og sender brukerdatagrammet.

Flere prosesser ønsker å bruke tjenestene til UDP. UDP multiplekser og demultiplekser prosessene slik at flere prosesser kan kjøres på en enkelt vert.

Begrensninger

  • Det gir en upålitelig tilkoblingsleveringstjeneste. Den tilbyr ingen IP-tjenester bortsett fra at den gir prosess-til-prosess-kommunikasjon.
  • UDP-meldingen kan gå tapt, forsinket, dupliseres eller være ute av drift.
  • Det gir ikke en pålitelig transporttjeneste. Den gir ingen bekreftelse eller flytkontrollmekanisme. Det gir imidlertid feilkontroll til en viss grad.

Fordeler

  • Det gir et minimalt antall faste kostnader.