logo

Protocolul UDP

Î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:

    Protocolul stratului de transport

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.

    Fără conexiune

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.

    Porturi

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.

    Transmitere mai rapidă

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.

    Mecanismul de recunoaștere

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.

    Segmentele sunt gestionate independent.

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.

    Fara stare

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

Protocolul 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:

    Numărul portului sursă:Sunt informații pe 16 biți care identifică portul care va trimite pachetul.Numărul portului de destinație:Identifică portul care va accepta informațiile. Sunt informații pe 16 biți care sunt utilizate pentru a identifica serviciul la nivel de aplicație pe mașina destinație.Lungime:Este un câmp de 16 biți care specifică întreaga lungime a pachetului UDP care include și antetul. Valoarea minimă ar fi de 8 octeți, deoarece dimensiunea antetului este de 8 octeți.Sumă de control:Este un câmp de 16 biți și este un câmp opțional. Acest câmp de sumă de control verifică dacă informațiile sunt corecte sau nu, deoarece există posibilitatea ca informațiile să poată fi corupte în timpul transmiterii. Este un câmp opțional, ceea ce înseamnă că depinde de aplicație, dacă dorește să scrie suma de control sau nu. Dacă nu dorește să scrie suma de control, atunci toți cei 16 biți sunt zero; în caz contrar, scrie suma de control. În UDP, câmpul sumă de control este aplicat întregului pachet, adică antet, precum și părții de date, în timp ce, în IP, câmpul sumă de control este aplicat doar câmpului antet.

Conceptul de așteptare în protocolul UDP

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:

    Coada de intrare:Pachetele UDP utilizează un set de cozi pentru fiecare proces.Modul de intrare:Acest modul preia datagrama utilizatorului de pe IP și apoi găsește informațiile din tabelul de blocuri de control al aceluiași port. Dacă găsește intrarea în tabelul bloc de control cu ​​același port ca datagrama utilizatorului, pune datele în coadă.Modul bloc de control:Gestionează tabelul blocului de control.Tabel bloc de control:Tabelul de blocuri de control conține intrarea porturilor deschise.Modul de ieșire:Modulul de ieșire creează și trimite datagrama utilizatorului.

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.