În rețelele de calculatoare, UDP înseamnă User Datagram Protocol. David P. Reed a dezvoltat protocolul UDP în 1980. Acesta este definit în RFC 768 și face parte din protocolul TCP/IP, deci este un protocol standard pe internet. Protocolul UDP permite aplicațiilor computerizate să trimită mesajele sub formă de datagrame de la o mașină la alta prin rețeaua Internet Protocol (IP). UDP este un protocol de comunicare alternativ la protocolul TCP (protocol de control al transmisiei). La fel ca TCP, UDP oferă un set de reguli care guvernează modul în care datele ar trebui să fie schimbate pe internet. UDP funcționează prin încapsularea datelor în pachet și furnizarea propriilor informații de antet pachetului. Apoi, acest pachet UDP este încapsulat în pachetul IP și trimis la destinație. Amandoua TCP și UDP protocoalele trimit datele prin rețeaua de protocoale de internet, deci sunt cunoscute și ca TCP/IP și UDP/IP. Există multe diferențe între aceste două protocoale. UDP permite procesului să proceseze comunicarea, în timp ce TCP asigură comunicarea gazdă la gazdă. Deoarece UDP trimite mesajele sub formă de datagrame, este considerat cel mai bun mod de comunicare. TCP trimite pachetele individuale, deci este un mediu de transport fiabil. O altă diferență este că TCP este un protocol orientat spre conexiune, în timp ce UDP este un protocol fără conexiune, deoarece nu necesită niciun circuit virtual pentru a transfera datele.
UDP oferă, de asemenea, un număr de port diferit pentru a distinge diferitele solicitări ale utilizatorilor și oferă, de asemenea, capacitatea de verificare pentru a verifica dacă datele complete au sosit sau nu; stratul IP nu furnizează aceste două servicii.
Caracteristicile protocolului UDP
Următoarele sunt caracteristicile protocolului UDP:
UDP este cel mai simplu protocol de comunicare la nivel de transport. Conține un număr minim de mecanisme de comunicare. Este considerat un protocol nesigur și se bazează pe servicii de livrare cu cele mai bune eforturi. UDP nu oferă niciun mecanism de confirmare, ceea ce înseamnă că receptorul nu trimite confirmarea pentru pachetul primit și, de asemenea, expeditorul nu așteaptă confirmarea pentru pachetul pe care l-a trimis.
UDP este un protocol fără conexiune, deoarece nu creează o cale virtuală pentru a transfera datele. Nu folosește calea virtuală, astfel că pachetele sunt trimise pe căi diferite între emițător și receptor, ceea ce duce la pierderea pachetelor sau primite în neregulă.
Livrarea comandată a datelor nu este garantată.
În cazul UDP, datagramele sunt trimise într-o anumită ordine vor fi primite în aceeași ordine nu este garantată deoarece datagramele nu sunt numerotate.
Protocolul UDP utilizează numere de porturi diferite, astfel încât datele să poată fi trimise la destinația corectă. Numerele porturilor sunt definite între 0 și 1023.
UDP permite o transmisie mai rapidă, deoarece este un protocol fără conexiune, adică nu este necesară nicio cale virtuală pentru a transfera datele. Dar există șansa ca pachetul individual să se piardă, ceea ce afectează calitatea transmisiei. Pe de altă parte, dacă pachetul este pierdut în conexiunea TCP, acel pachet va fi retrimis, astfel încât garantează livrarea pachetelor de date.
UDP are vreun mecanism de confirmare, adică nu există nicio strângere de mână între expeditorul UDP și receptorul UDP. Dacă mesajul este trimis în TCP, atunci receptorul recunoaște că sunt gata, atunci expeditorul trimite datele. În cazul TCP, handshaking-ul are loc între emițător și receptor, în timp ce în UDP, nu există handshaking între emițător și receptor.
Fiecare segment UDP este tratat individual de alții, deoarece fiecare segment urmează o cale diferită pentru a ajunge la destinație. Segmentele UDP pot fi pierdute sau livrate pentru a ajunge la destinație, deoarece nu există o conexiune între emițător și receptor.
Este un protocol fără stat care înseamnă că expeditorul nu primește confirmarea pentru pachetul care a fost trimis.
De ce avem nevoie de protocolul UDP?
După cum știm că UDP este un protocol nesigur, dar avem nevoie de un protocol UDP în unele cazuri. UDP este implementat acolo unde pachetele necesită o cantitate mare de lățime de bandă împreună cu datele reale. De exemplu, în streaming video, recunoașterea a mii de pachete este supărătoare și irosește multă lățime de bandă. În cazul streamingului video, pierderea unor pachete nu ar putea crea o problemă și poate fi, de asemenea, ignorată.
Format antet UDP
În UDP, dimensiunea antetului este de 8 octeți, iar dimensiunea pachetului este de până la 65.535 octeți. Dar această dimensiune a pachetului nu este posibilă deoarece datele trebuie să fie încapsulate în datagrama IP, iar un pachet IP, dimensiunea antetului poate fi de 20 de octeți; prin urmare, maximul UDP ar fi 65.535 minus 20. Mărimea datelor pe care le poate transporta pachetul UDP ar fi 65.535 minus 28 ca 8 octeți pentru antetul pachetului UDP și 20 octeți pentru antetul IP.
Antetul UDP conține patru câmpuri:
Conceptul de așteptare în protocolul UDP
În protocolul UDP, numerele sunt folosite pentru a distinge diferitele procese de pe un server și client. Știm că UDP oferă un proces de procesare a comunicării. Clientul generează procesele care au nevoie de servicii, în timp ce serverul generează procesele care oferă servicii. Cozile sunt disponibile pentru ambele procese, adică două cozi pentru fiecare proces. Prima coadă este coada de intrare care primește mesajele, iar a doua este coada de ieșire care trimite mesajele. Coada funcționează când procesul rulează. Dacă procesul este încheiat, atunci coada va fi, de asemenea, distrusă.
UDP se ocupă de trimiterea și primirea pachetelor UDP cu ajutorul următoarelor componente:
Mai multe procese doresc să utilizeze serviciile UDP. UDP multiplexează și demultiplexează procesele astfel încât procesele multiple să poată rula pe o singură gazdă.
Limitări
- Oferă un serviciu de livrare de conexiuni nesigur. Nu furnizează niciun serviciu de IP, cu excepția faptului că oferă comunicații proces-la-proces.
- Mesajul UDP poate fi pierdut, întârziat, duplicat sau poate fi dezordonat.
- Nu oferă un serviciu de livrare de încredere. Nu oferă niciun mecanism de confirmare sau de control al fluxului. Cu toate acestea, oferă, într-o oarecare măsură, controlul erorilor.
Avantaje
- Produce un număr minim de cheltuieli generale.