Kompiuterių tinkle UDP reiškia vartotojo duomenų gramų protokolą. David P. Reed sukūrė UDP protokolą 1980 m. Jis apibrėžtas RFC 768 ir yra TCP/IP protokolo dalis, todėl tai yra standartinis protokolas internetu. UDP protokolas leidžia kompiuterio programoms siųsti pranešimus datagramų pavidalu iš vieno įrenginio į kitą įrenginį per interneto protokolo (IP) tinklą. UDP yra TCP protokolo (perdavimo valdymo protokolo) alternatyvus ryšio protokolas. Kaip ir TCP, UDP pateikia taisyklių rinkinį, kuris reglamentuoja, kaip turėtų būti keičiamasi duomenimis internetu. UDP veikia įtraukdamas duomenis į paketą ir pateikdamas paketui savo antraštės informaciją. Tada šis UDP paketas inkapsuliuojamas į IP paketą ir išsiunčiamas į paskirties vietą. Tiek TCP ir UDP protokolai siunčia duomenis per interneto protokolų tinklą, todėl jis taip pat žinomas kaip TCP/IP ir UDP/IP. Tarp šių dviejų protokolų yra daug skirtumų. UDP įgalina procesą apdoroti ryšį, o TCP suteikia pagrindinio kompiuterio ryšį. Kadangi UDP pranešimus siunčia datagramų pavidalu, jis laikomas geriausiu ryšio būdu. TCP siunčia atskirus paketus, todėl tai yra patikima perdavimo terpė. Kitas skirtumas yra tas, kad TCP yra į ryšį orientuotas protokolas, o UDP yra be ryšio protokolas, nes duomenims perduoti nereikia jokios virtualios grandinės.
UDP taip pat suteikia skirtingą prievado numerį, kad būtų galima atskirti skirtingas vartotojų užklausas, taip pat suteikia kontrolinės sumos galimybę patikrinti, ar gauti visi duomenys, ar ne; IP sluoksnis šių dviejų paslaugų neteikia.
UDP protokolo ypatybės
Toliau pateikiamos UDP protokolo savybės:
UDP yra paprasčiausias transporto lygmens ryšio protokolas. Jame yra minimalus komunikacijos mechanizmų kiekis. Jis laikomas nepatikimu protokolu ir pagrįstas geriausiomis pastangomis teikiamomis pristatymo paslaugomis. UDP nenumato patvirtinimo mechanizmo, o tai reiškia, kad gavėjas nesiunčia patvirtinimo už gautą paketą, o siuntėjas taip pat nelaukia, kol bus patvirtintas išsiųstas paketas.
UDP yra be ryšio protokolas, nes jis nesukuria virtualaus kelio duomenims perduoti. Jis nenaudoja virtualaus kelio, todėl paketai siunčiami skirtingais keliais tarp siuntėjo ir gavėjo, dėl ko paketai prarandami arba gaunami netvarkingai.
Užsakytas duomenų pristatymas negarantuojamas.
UDP atveju datagramos siunčiamos tam tikra tvarka bus gautos ta pačia tvarka, negarantuojama, nes datagramos nėra sunumeruotos.
UDP protokolas naudoja skirtingus prievadų numerius, kad duomenis būtų galima siųsti į tinkamą paskirties vietą. Prievadų numeriai apibrėžiami nuo 0 iki 1023.
UDP įgalina greitesnį perdavimą, nes tai yra be ryšio protokolas, t. y. duomenims perduoti nereikia virtualaus kelio. Tačiau yra tikimybė, kad atskiras paketas bus prarastas, o tai turi įtakos perdavimo kokybei. Kita vertus, praradus paketą TCP ryšiu, tas paketas bus išsiųstas iš naujo, taigi tai garantuoja duomenų paketų pristatymą.
UDP turi bet kokį patvirtinimo mechanizmą, t. y. tarp UDP siuntėjo ir UDP imtuvo nėra rankų paspaudimo. Jei pranešimas išsiųstas TCP, tada gavėjas patvirtina, kad esu pasiruošęs, tada siuntėjas siunčia duomenis. TCP atveju rankų paspaudimas vyksta tarp siuntėjo ir gavėjo, o UDP atveju tarp siuntėjo ir gavėjo rankų paspaudimas nėra.
Kiekvienas UDP segmentas tvarkomas atskirai nuo kitų, nes kiekvienas segmentas eina skirtingu keliu, kad pasiektų tikslą. UDP segmentai gali būti prarasti arba pristatyti netvarkingai, kad pasiektų paskirties vietą, nes nėra ryšio tarp siuntėjo ir gavėjo.
Tai protokolas be statuso, reiškiantis, kad siuntėjas negauna patvirtinimo už išsiųstą paketą.
Kodėl mums reikia UDP protokolo?
Kaip žinome, UDP yra nepatikimas protokolas, tačiau kai kuriais atvejais vis tiek reikalaujame UDP protokolo. UDP naudojamas ten, kur paketams kartu su faktiniais duomenimis reikalingas didelis pralaidumas. Pavyzdžiui, vaizdo transliacijos metu tūkstančius paketų patvirtinti yra sunku ir eikvojama daug pralaidumo. Vaizdo įrašų srautinio perdavimo atveju kai kurių paketų praradimas negalėjo sukelti problemų ir į tai taip pat gali būti nepaisoma.
sąrašo mazgas java
UDP antraštės formatas
UDP antraštės dydis yra 8 baitai, o paketo dydis yra iki 65 535 baitų. Bet toks paketo dydis neįmanomas, nes duomenis reikia įterpti į IP datagramą ir IP paketą, antraštės dydis gali būti 20 baitų; todėl didžiausias UDP dydis būtų 65 535 minus 20. Duomenų, kuriuos gali nešti UDP paketas, dydis būtų 65 535 minus 28, nes 8 baitai UDP paketo antraštei ir 20 baitų IP antraštei.
UDP antraštėje yra keturi laukai:
Eilių samprata UDP protokole
UDP protokole skaičiai naudojami skirtingiems serverio ir kliento procesams atskirti. Žinome, kad UDP yra komunikacijos apdorojimo procesas. Klientas generuoja procesus, kuriems reikia paslaugų, o serveris generuoja procesus, kurie teikia paslaugas. Eilės yra prieinamos abiem procesams, ty po dvi eiles kiekvienam procesui. Pirmoji eilė yra įeinanti eilė, kuri gauna pranešimus, o antroji yra išeinančių eilė, kuri siunčia pranešimus. Eilė veikia, kai procesas vyksta. Jei procesas bus nutrauktas, eilė taip pat bus sunaikinta.
UDP tvarko UDP paketų siuntimą ir gavimą naudodamas šiuos komponentus:
Keli procesai nori naudotis UDP paslaugomis. UDP multipleksuoja ir demultipleksuoja procesus, kad keli procesai galėtų veikti viename pagrindiniame kompiuteryje.
Apribojimai
- Ji teikia nepatikimo ryšio pristatymo paslaugą. Ji neteikia jokių IP paslaugų, išskyrus tai, kad užtikrina ryšį tarp procesų.
- UDP pranešimas gali būti prarastas, uždelstas, pasikartojantis arba gali būti netinkamas.
- Ji neteikia patikimos transporto pristatymo paslaugos. Jame nėra jokio patvirtinimo ar srauto valdymo mechanizmo. Tačiau tai tam tikru mastu užtikrina klaidų valdymą.
Privalumai
- Tai sukuria minimalų pridėtinių išlaidų skaičių.