Tamaño máximo de encabezado IPv4

8

Encabezado IPv4


Sé que la longitud del encabezado IP es un mínimo de 20 bytes y un máximo de 60 bytes. ¿Pero por qué? ¿Por qué la longitud del encabezado IP está limitada a 60 bytes? ¿Hay alguien aquí que me lo pueda explicar? Gracias.

ebyrock
fuente
1
¿Alguna respuesta te ayudó? Si es así, debe aceptar la respuesta para que la pregunta no siga apareciendo para siempre, buscando una respuesta. Alternativamente, puede proporcionar y aceptar su propia respuesta.
Ron Maupin

Respuestas:

14

El Protocolo de Internet (IP) se define en RFC 791 . El RFC especifica el formato del encabezado IP. En el encabezado está el campo IHL ( Longitud del encabezado de Internet ) que tiene 4 bits de longitud y especifica la longitud del encabezado en palabras de 32 bits . El campo IHL puede contener valores de 0 (Binary 0000) a 15 (Binary 1111).

Por lo tanto, el tamaño más largo del Encabezado de Internet (encabezado IP) puede ser 15 * 32 Bits = 480 Bits = 60 Bytes . Es por eso que el encabezado tiene un tamaño máximo de 60 Bytes.

El tamaño de encabezado más corto es de 20 bytes, donde el campo IHL tiene el valor 5 (0101). Esto se debe a que todos los campos obligatorios en el encabezado necesitan 20 bytes de espacio. Entonces, si bien en teoría podría establecer el DIH en un valor <5, este siempre sería un valor incorrecto y, por lo tanto, un encabezado de paquete no válido.

Sebastian Wiesinger
fuente
Muchas gracias Sebastian. Esta es la respuesta que estaba buscando. Ahora entendí exactamente. Entonces mi analogía fue correcta también. :)
ebyrock
¿Pero el valor más corto sería 5 porque está definido en RFC 791? Entonces, ¿no se puede establecer en 0 (0000)?
ebyrock
1
Mínimo de 5 dwords (20 bytes) porque esas son las partes requeridas del encabezado. Puede haber cero o más opciones, por lo tanto, de 20 a 60 bytes.
Ricky Beam
1
Agregué la explicación del tamaño mínimo para completarlo.
Sebastian Wiesinger
1
significa que cuenta la longitud del encabezado en incrementos de 32 bits.
Sebastian Wiesinger
3

Según RFC 791 donde está definido, vea la página 12 donde trata los datagramas:

La longitud total es la longitud del datagrama, medido en octetos, incluidos el encabezado y los datos de Internet. Este campo permite que la longitud de un datagrama sea de hasta 65.535 octetos. Tales datagramas largos no son prácticos para la mayoría de los hosts y las redes. Todos los hosts deben estar preparados para aceptar datagramas de hasta 576 octetos (ya sea que lleguen enteros o en fragmentos). Se recomienda que los hosts solo envíen datagramas de más de 576 octetos si tienen la seguridad de que el destino está preparado para aceptar los datagramas más grandes.

El número 576 se selecciona para permitir que se transmita un bloque de datos de tamaño razonable además de la información de encabezado requerida. Por ejemplo, este tamaño permite que un bloque de datos de 512 octetos más 64 octetos de encabezado quepa en un datagrama. El encabezado de Internet máximo es de 60 octetos, y un encabezado de Internet típico es de 20 octetos, lo que permite un margen para encabezados de protocolos de nivel superior ".

Básicamente, la longitud se definió entre 20 y 60 para permitir diferentes usos de protocolo y para ajustarse al tamaño de datagrama recomendado.

Mike Naylor
fuente
1
Gracias Mike otra vez, pero no lo entiendo. En su respuesta dice que "El encabezado de Internet máximo es de 60 octetos", pero no explica por qué. Inserté una foto a mi pregunta. El tamaño del encabezado IP se define en el IHL (Longitud del encabezado de Internet) que está en 4-7 bits y eso significa que tiene 4 bits. si establecemos todos los bits son 1 en Base2 (1111) eso sería 15 en Base10. Y la longitud del encabezado de Internet es de 32 bits. Multiplicamos 15 x 32 = 480 bits, que es igual a 60 bytes (480/8). No estoy seguro de que sea una analogía correcta. :(
ebyrock
No intento ser breve, pero el 'por qué' es: así es como se define. Todos los protocolos de internet tienen definiciones. Estas definiciones son los estándares que siguen todos los protocolos de tráfico de Internet.
Mike Naylor