Sari la conținut

User Datagram Protocol

De la Wikipedia, enciclopedia liberă

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

[modificare | modificare sursă]

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

Biti 0 - 15 16 - 32
0 Portul sursa Portul destinație
32 Lungime Suma de control
64 Date
  • 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

[modificare | modificare sursă]

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

Pseudo-antetul IPv4

[modificare | modificare sursă]

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ți 0 - 7 8 - 15 16 - 23 24 - 31
0 Adresa sursa
32 Adresa destinație
64 Zero Protocol Lungime UDP
96 Portul sursa Portul destinație
128 Lungime Suma de control
160 Date

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

Pseudo-antetul IPv6

[modificare | modificare sursă]

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

Biți 0 - 7 8 - 15 16 - 23 24 - 31
0 Adresa sursa
32
64
96
128 Adresa destinație
160
192
224
256 Lungime UDP
288 Zero Antetul următor
320 Portul sursa Portul destinație
352 Lungime Suma de control
384 Date
  1. ^ Andrew S. Tannenbaum (). „Rețele de calculatoare”. Editura Byblos. p. 39. 
  2. ^ Veaceslav Soltan. „Suport de curs pentru modulul Tehnologii informaționale”. Institutul Național al Justiției, Chișinău. p. 23. Arhivat din original la . Accesat în . 

Legături externe

[modificare | modificare sursă]