El datagrama UDP y su pseudocabecera

Cuatro campos de 2 B forman una cabecera de 8 B. Cambia la carga útil y mira la Longitud; construye la pseudocabecera que también cubre el checksum y que nunca se transmite; sigue los tres niveles de direccionamiento de un host.

Carga útil

El mensaje de la aplicación, en bytes. UDP no segmenta: un mensaje = un datagrama.

Ejemplo

El proceso de A (puerto 9157) envía a un proceso de C (puerto 6428). Las direcciones IP son de documentación (RFC 5737).

A · 203.0.113.7 : 9157
C · 198.51.100.20 : 6428

Practicar

Preguntas de tamaños como las de clase: la respuesta queda oculta hasta pulsar «Comprobar».

Vista

El checksum se calcula paso a paso en Checksum UDP paso a paso.

El segmento UDP en filas de 32 bits (pasa el ratón o el foco por un campo)

La pseudocabecera

Tres niveles de direccionamiento en un host

Se requieren tres niveles en cada host: la dirección del host (en la cabecera IP), la dirección de protocolo (en la cabecera IP: 6 = TCP, 17 = UDP) y el número de puerto (en la cabecera del segmento UDP/TCP). Por eso pueden convivir 443/TCP y 443/UDP.

Supuestos del modelo
  • Cada campo de la cabecera ocupa 16 bits (2 B): la cabecera son 8 B. Longitud = cabecera + datos, en bytes: 8 ≤ L ≤ 65 535. Carga útil máxima: 65 535 − 8 = 65 527 B; sobre IPv4 (cabecera de 20 B), 65 507 B.
  • La cabecera IPv4 se supone sin opciones (20 B); la fila discontinua no se usa. Con opciones (hasta 60 B) el máximo de datos baja a 65 467 B. La cabecera IPv4 se verá en el Tema 4; aquí solo interesan IP origen, IP destino y Protocolo.
  • El valor del checksum no se calcula aquí: se calcula sobre la pseudocabecera más el segmento completo, con el campo a 0. Lo haréis en el laboratorio; la suma en complemento a 1 está en «Checksum UDP paso a paso».
  • Un datagrama que no cabe en la MTU de la red lo fragmenta IP (Tema 4); UDP sigue enviando un único datagrama.

Sobre esta visualización

Visualización del datagrama UDP (Kurose y Ross §3.3, RFC 768). El segmento se dibuja en filas de 32 bits: una cabecera de 8 B con cuatro campos de 16 bits (puerto origen, puerto destino, longitud y checksum) y los datos; al pasar el ratón o el foco por cada campo se muestra su significado. Un deslizador de carga útil actualiza la Longitud (cabecera + datos, entre 8 y 65 535 B) y el tamaño del datagrama IPv4, y marca los límites: 8 B sin datos, 65 527 B de datos como máximo del campo Longitud y 65 507 B sobre IPv4 por los 20 B de su cabecera. Una animación construye la pseudocabecera de 12 B: de la cabecera IPv4 bajan la IP origen, la IP destino y el protocolo 17, se añaden un byte a cero y la longitud UDP, y se marca que no se transmite porque cada extremo la reconstruye; protege también a quién iba dirigido el datagrama. El cálculo del checksum se deja para el laboratorio. Una cascada interactiva muestra los tres niveles de direccionamiento de un host: la dirección IP, el campo Protocolo (6 = TCP, 17 = UDP) y el número de puerto, por lo que 443/TCP y 443/UDP pueden convivir. Incluye preguntas de práctica sobre tamaños.

Conceptos: datagrama UDP, cabecera UDP, puerto origen, puerto destino, campo Longitud, checksum UDP, pseudocabecera, carga útil máxima, número de protocolo, niveles de direccionamiento.

Fórmulas:

Arquitectura de Redes I, Sesión 3.1 · Enrique de la Hoz, Universidad de Alcalá · Licencia CC BY-SA 4.0 · Original y catálogo en GitHub · DOI 10.5281/zenodo.23285664