User Datagram Protocol

User Datagram Protocol (sau UDP, în traducere liberă din engleză Protocolul Datagramelor Utilizator[1]) este un protocol de comunicație pentru calculatoare ce aparține nivelului Transport (nivelul 4 ) al modelului standard OSI.

Împreună cu Internet Protocol (IP), acesta face posibilă livrarea mesajelor într-o rețea. Spre deosebire de protocolul TCP, UDP constituie modul de comunicație fără conexiune. Este similar cu sistemul poștal, în sensul că pachetele de informații (corespondența) sunt trimise în general fără confirmare de primire, în speranța că ele vor ajunge, fără a exista o legătură efectivă între expeditor și destinatar.[2] Practic, UDP este un protocol ce nu oferă siguranța sosirii datelor la destinație (nu dispune de mecanisme de confirmare); totodată nu dispune nici de mecanisme de verificare a ordinii de sosire a datagramelor sau a datagramelor duplicate. UDP dispune, totusi, în formatul datagramelor, de sume de control pentru verificarea integrității datelor sau de informații privind numărul portului pentru adresarea diferitelor funcții la sursa/destinație.

Caracteristicile de baza ale UDP îl fac util pentru diferite aplicații.

  • orientat către tranzacții - util în aplicații simple de tip întrebare-răspuns cum ar fi DNS.
  • este simplu foarte util în aplicații de configurări, precum DHCP sau TFTP (Trivial FTP).
  • lipsa întârzierilor de retransmisie îl pretează pentru aplicații în timp real ca VoIP, jocuri online.
  • lucrează excelent în medii de comunicații unidirecționale precum furnizarea de informații broadcast, în servicii de descoperire (discovery services), sau în partajarea de informații către alte noduri (RIP).

Formatul pachetului

Antetul UDP este alcătuit din 4 câmpuri fiecare având lungimea de 2 octeți.

Biti0 - 1516 - 32
0Portul sursaPortul destinație
32LungimeSuma de control
64Date
  • Portul sursa - în adresarea bazata pe IPv4 acest câmp este opțional. Daca nu este utilizat acest câmp, are valoarea zero; când reprezinta informație semnificativa, el va indica portul inițiator al procesului de transmisie a datagramelor.
  • Portul destinație - spre deosebire de portul sursa, câmpul este obligatoriu și indica portul de recepție
  • Lungime - acest câmp indica lungimea în octeți a datagramei: antet plus secțiune de date (valoarea minima a lungimii este 8).
  • Suma de control - asigura imunitatea la erori; se calculează ca fiind complementul fata de 1 (pe 16 biți) a pseudo-antetului cu informații extrase din antetul IP, antetului UDP și a câmpului de date, eventual se completează cu zerouri pentru a atinge lungimea stabilita.

Pseudo-anteturi

Pseudo-antetul prefixează antetul UDP și va conține, printre altele, adresele sursa, destinație, lungimea pachetului UDP.

Pseudo-antetul IPv4

Atunci când UDP rulează sub IPv4, pseudo-antetul este utilizat în calcularea sumei de control; formatul acestuia va arata astfel (s-a prezentat situatia reala cu antetul UDP în continuarea pseudo-antetului).

Biți0 - 78 - 1516 - 2324 - 31
0Adresa sursa
32Adresa destinație
64ZeroProtocolLungime UDP
96Portul sursaPortul destinație
128LungimeSuma de control
160Date

Campul Protocol are valoarea 17 (hexazecimal 0x11) specifica protocolului UDP.

Pseudo-antetul IPv6

Atunci cand UDP ruleaza sub IPv6, suma de control este obligatorie. Metoda de calcul este descrisa in RFC 2460.

Biți0 - 78 - 1516 - 2324 - 31
0Adresa sursa
32
64
96
128Adresa destinație
160
192
224
256Lungime UDP
288ZeroAntetul următor
320Portul sursaPortul destinație
352LungimeSuma de control
384Date

Note

Vezi și

Legături externe