User Datagram Protocol


User Datagram Protocol (UDP) és un protocol del nivell de transport del model OSI, basat en l'intercanvi de datagrames. UDP permet l'enviament de datagrames a través d'una xarxa sense que s'hagi establert prèviament una connexió, ja que el mateix datagrama incorpora suficient informació d'adreçament a la seva capçalera. Tampoc té control ni confirmació del flux, per tant els paquets es poden avançar els uns als altres. Tampoc no se sap si els paquets han arribat correctament, ja que no té cap confirmació d'entrega o recepció. El fet que no s'hagin de reconèixer tots els paquets rebuts (mitjançant ACK, és a dir, justificant de recepció), suposa un estalvi de dades (menys overhead) que el fa més àgil que altres protocols del mateix nivell de transport orientats a connexió, com és el cas de TCP. És per això que s'acostuma a fer servir quan és més important la rapidesa que la fiabilitat. Per exemple, per transmetre veu o vídeo, aplicacions on resulta més important transmetre amb velocitat que garantir el fet que arribin absolutament tots els bytes. És també útil per a servidors que responen petites consultes d'un gran nombre de clients. A diferència de TCP, és compatible amb la difusió de paquets. S'acostuma a fer servir per protocol DNS, DHCP, SNMP, NTP, BOOTP, TFTP i més, fins i tot per a alguns jocs amb connexió en línia.

Estructura d'un datagrama UDP
+ Bits 0 - 15 16 - 31
0 Port Origen Port Destí
32 Llargada Checksum
64  
Dades
 

La capçalera UDP consta de 4 camps. L'ús de dos d'ells és opcional en IPv4 (fons de color rosa en el quadre). En IPv6 només el port d'origen és opcional (vegeu més endavant).

  • Port d'origen: Aquest camp identifica el port d'enviament quan significativa i s'ha d'assumir que el port de respondre a si és necessari. Si no s'utilitza, aleshores hauria de ser zero. Si el host d'origen és el client, el número de port és probable que sigui un número de port efímer. Si el host d'origen és el servidor, el número de port és probable que ja el coneguem.
  • Port de destinació: Aquest camp identifica el port de destinació i és necessari. Amb aquest port passa el mateix que amb el port d'origen, si el client és el host de destí, probablement el port serà un número de port efímer i si el host de destí és el servidor, llavors el número de port probablement ja el coneguem.
  • Longitud: Un camp de 16 bits que especifica la longitud en bytes del datagrama complet: capçalera i les dades. La longitud mínima és de 8 bytes, ja que és la longitud de la capçalera. La mida del camp estableix un límit teòric de 65.535 bytes (capçalera de 8 bytes + 65527 bytes de dades) d'un datagrama UDP. El límit pràctic per a la longitud de dades que ve imposada pel protocol IPv4 subjacent és 65.507 bytes.
  • Checksum: El camp de control de 16 bits s'utilitza per a la comprovació d'errors de la capçalera i les dades. L'algorisme per calcular la suma de comprovació és diferent per al transport i la cita sobre IPv4 IPv6. Si la suma de comprovació s'ha omès en IPv4, el camp utilitza el valor de tots els zeros. Aquest camp no és opcional per a IPv6.

Alguns protocols d'aplicació habituals basats als datagrames UDP són:

  • Protocol de configuració dinàmica de host (DHCP)
  • Servei de noms de domini (DNS)
  • Protocol d'hora de xarxa (NTP)
  • Protocol trivial de transferència de fitxers (TFTP)

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search