Redes de computadores
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ª FUOC • XP04/90786/00020<br />
Software libre<br />
La figura anterior muestra la unidad <strong>de</strong> datos <strong>de</strong>l protocolo UDP y su<br />
encapsulamiento en un paquete IP. Cada operación <strong>de</strong> salida <strong>de</strong> un<br />
datagrama UDP provoca la generación <strong>de</strong> un paquete IP.<br />
El datagrama UDP consta <strong>de</strong> una cabecera y un cuerpo para encapsular<br />
los datos. La cabecera consta <strong>de</strong> los elementos siguientes:<br />
Nota<br />
Hay muchas aplicaciones<br />
que limitan la medida <strong>de</strong><br />
sus buffers <strong>de</strong> transmisión y<br />
recepción por <strong>de</strong>bajo <strong>de</strong> la<br />
medida máxima <strong>de</strong> un datagrama<br />
UDP. Por ejemplo,<br />
es típico encontrar aplicaciones<br />
que proporcionan,<br />
por <strong>de</strong>fecto, medidas máximas<br />
<strong>de</strong>l datagrama UDP <strong>de</strong><br />
8.192 bytes. Este valor proviene<br />
<strong>de</strong> la cantidad <strong>de</strong> datos<br />
<strong>de</strong>l usuario que el NFS<br />
(network file system) pue<strong>de</strong><br />
leer o escribir por <strong>de</strong>fecto.<br />
• Los campos Puerto <strong>de</strong> origen y Puerto <strong>de</strong> <strong>de</strong>stino, que i<strong>de</strong>ntifican<br />
las aplicaciones en los terminales <strong>de</strong> origen y <strong>de</strong> <strong>de</strong>stino.<br />
Cada puerto tiene 16 bits.<br />
• El campo Longitud indica la longitud, en bytes, <strong>de</strong>l datagrama<br />
UDP incluyendo la cabecera UDP (es la diferencia <strong>de</strong> la longitud<br />
<strong>de</strong>l datagrama IP menos la cabecera IP). Como la longitud máxima<br />
<strong>de</strong> un datagrama IP es <strong>de</strong> 65.535 bytes, con una cabecera estándar<br />
<strong>de</strong> 20 bytes, la longitud máxima <strong>de</strong> un datagrama UDP es<br />
<strong>de</strong> 65.515 bytes.<br />
• El campo Checksum (16 bits) es opcional y protege tanto la cabecera<br />
como los datos UDP (es preciso recordar que el checksum<br />
<strong>de</strong>l datagrama IP sólo cubre la cabecera IP). Cuando el UDP recibe<br />
un datagrama y <strong>de</strong>termina que hay errores, lo <strong>de</strong>scarta y no<br />
lo entrega a ninguna aplicación.<br />
Nota<br />
ANOTACIONES<br />
El cálculo <strong>de</strong>l checksum en el UDP es muy parecido al<br />
cálculo <strong>de</strong>l checksum en el IP (suma en complemento<br />
a 1 <strong>de</strong> palabras <strong>de</strong> 16 bits), con la particularidad <strong>de</strong><br />
que la longitud <strong>de</strong>l datagrama UDP pue<strong>de</strong> ser par o<br />
impar. En caso <strong>de</strong> que sea impar, se le aña<strong>de</strong> un 0 al<br />
final <strong>de</strong>l datagrama para calcular el checksum (este 0<br />
no se transmite). Para calcular el checksum, el UDP utiliza<br />
una seudocabecera <strong>de</strong> 12 bytes con algunos <strong>de</strong><br />
los campos IP. Esta última no se transmite; el UDP sólo<br />
la utiliza para calcular el checksum y le sirve para comprobar<br />
que la información que le proporciona el IP sea<br />
realmente para él.<br />
132