User Datagram Protocol - UDP

UDP este un protocol standard cu STD numarul 6. UDP este descris de catre RFC 768 User Datagram Protocol. Statul sau este recomandat, dar in practica orice implementare TCP/IP care nu este exclusiv pentru rutare va include UDP. UDP este in sesnta o interfata de aplicatie catre IP. El nu adauga nici un fel de siguranta, control al transmisiei sau recuperare de erori la IP. El foloseste portul drept multiplexor/demultiplexor pentru trimiterea si primirea datagramelor asa cum este ilustrat in figura urmatoare.

UDP asigura un mecanism pentru ca o aplicatie sa trimita o datagrama unei alte aplicatii. Stratul UDP poate fi privit ca foarte subtire deoarece adauga un antet foarte mic la datagrama, insa necesita ca aplicatia sa-si asume responsabilitatea pentru recuperarea erorilor si asa mai departe. Aplicatiile care emit data grame catre alte hosturi au nevoie de o identificare mai precisa decat adresa IP, deoarece datagramele sunt directionate catre anumite procese si nu sistemului ca intreg. UDP asigura aceasta folosind porturile.

UDP se poate compara cu un sistem de livrare postala. In aceasta analogie, oficiul postal este calculatorul gazda, casutele postale sunt porturile, iar aplicatiile sunt persoanele care inchiriaza casutele postale.

Se mai spune despre UDP ca este un protocol orientat pe conexiune.

Formatul datagramelor UDP

In limbajul curent unitatile de transmisie a informatiei pentru UDP se numesc datagrame UDP. Fiecare datagrama UDP este trimisa intr-o singura datagrama IP. Cu toate ca, datagrama IP poate fi fragmentata in timpul transmisiei, implementarea IP a hostului destinatie o va reasambla  inainte de a prezenta-o stratului UDP. Toate implementarile IP trebuie sa accepte datagrame de pana la 576 octeti, ceea ce inseamna ca, pentru un antet IP de 60 octeti maxim, o datagrama UDP de 516 octeti va fi acceptata de toate implementarile. Multe implementari vor accepta datagrame mai mari, dar acest lucru nu este garantat. Datagrama UDP are un antet de numai 8 octeti care este descris in figura urmatoare.

Lungimea oricaruia dintre campurile antetului este de 2 octeti (16 biti).

Semnificatia campurilor este urmatoarea:

Portul sursa

Indica portul procesului emitent. Este portul catre care trebuie trimise raspunsurile.

Portul destinatie

Precizeaza portul procesului destinatie de poe hostul destinatie.

Lungime

Este lungimea in octeti a datagramei utilizatorului inclusiv antetul.

Suma de control

Este un camp optional de 16 biti  este complementul fata de unu al sumei in complement fata de unu a antetului pseudo-IP , antetului UDP si datelor UDP. Antetul pseudo-IP contine adresele IP sursa si destinatie, protocolul si lungimea UDP.

Antetul pseudo-IP extinde efectiv suma de control pentru a include datagrama IP originala (nefragmentata).

Interfata de programare pentru aplicatiile UDP

Interfata de aplicatie oferita de UDP este descrisa in RFC 768. Ea asigura:

Modul in care acestea trebuie inplementate este lasat la discretia celui care realizeaza aplicatia UDP.

Trebuie avut grija ca UDP si IP nu asigura siguranta livrarii, controlul transmisiei si recuperarea erorilor, astfel incat acestea trebuie asigurate de catre aplicatie.

Dintre aplicatiile standard care utlilizeaza UPD enumeram:

Cornel Mironel Niculae, 2004-2005

25-Mar-2008