Encabezado del paquete IP: formato, campos

⚡ Resumen inteligente

La cabecera IP son los metadatos que se colocan al inicio de cada paquete IP y que contienen campos como la versión, la longitud de la cabecera, la longitud total, el tiempo de vida, el protocolo, la suma de comprobación y las direcciones de origen y destino que los enrutadores leen para entregar los datos.

  • 🧭 Propósito: El encabezado IP almacena los detalles de enrutamiento y entrega para que cada paquete llegue al destino correcto a través de las redes.
  • 📏 Tamaño: Una cabecera IPv4 tiene un tamaño que oscila entre 20 y 60 bytes, controlado por el campo Longitud de la cabecera de Internet.
  • 🧱 Campos clave: Los campos principales incluyen Versión, IHL, Tipo de servicio, Longitud total, TTL, Protocolo, Suma de verificación y direcciones.
  • 🔀 Fragmentación: La identificación, las banderas y el desplazamiento de fragmentos permiten que los datagramas grandes se dividan y se vuelvan a ensamblar correctamente.
  • 🆚 IPv4 frente a IPv6: IPv6 reemplaza el encabezado variable por un encabezado fijo de 40 bytes y elimina el campo de suma de verificación.
  • 🤖 Asistencia de IA: Los analizadores de paquetes basados ​​en IA examinan automáticamente los encabezados IP para detectar anomalías y agilizar la resolución de problemas.

Formato y campos del encabezado del paquete IP

¿Qué es el encabezado IP?

La cabecera IP es información adicional que se encuentra al inicio de un paquete IP. Muestra información como la versión de IP, la longitud del paquete, el origen y el destino.

El formato de encabezado IPv4 tiene una longitud de entre 20 y 60 bytes y contiene la información necesaria para el enrutamiento y la entrega. Consta de campos como Versión, Longitud del encabezado, Longitud total, Identificación, Indicadores, Suma de verificación, la dirección IP de origen y la dirección IP de destino. Juntos, estos campos proporcionan los datos esenciales necesarios para transmit el paquete de forma fiable de un host a otro.

Componentes/campos del encabezado IPv4

El siguiente diagrama muestra el formato completo del encabezado IPv4, con cada campo dibujado en su posición y ancho de bits correctos:

Diagrama del formato de la cabecera del paquete IPv4 que muestra todos los campos y sus posiciones de bits.

A continuación se detallan los distintos componentes/campos del encabezado del paquete IP:

  • Versión: El primer campo del encabezado IP es un indicador de versión de 4 bits. En IPv4, el valor de estos cuatro bits se establece en 0100, que representa el valor 4 en binario. Si el enrutador no admite la versión especificada, el paquete se descarta.
  • Longitud del encabezado de Internet: La longitud de la cabecera de Internet, conocida como IHL, tiene un tamaño de 4 bits. También se denomina HELEN (Header Length). Este componente IP indica cuántas palabras de 32 bits contiene la cabecera.
  • Tipo de servicio: El tipo de servicio también se denomina servicio diferenciado. Code Punto DSCP. Este campo proporciona información sobre la calidad del servicio para la transmisión de datos o llamadas VoIP. Los tres primeros bits son los de prioridad. También especifica cómo se debe gestionar un datagrama.
  • Largo total: La longitud total se mide en bytes. El tamaño mínimo de un datagrama IP es de 20 bytes y el máximo de 65 535 bytes. HELEN y la longitud total se pueden usar para calcular el tamaño de la carga útil. Todos los hosts deben poder leer datagramas de 576 bytes. Sin embargo, si un datagrama es demasiado grande para los hosts de la red, se suele utilizar el método de fragmentación.
  • Identificación: La identificación es un campo que se utiliza para identificar de forma única los fragmentos de un datagrama IP. Algunos han recomendado utilizar este campo para otros fines, como agregar información para el paquete. tracing.
  • Banderas IP: El campo Flags es un campo de tres bits que permite controlar e identificar los fragmentos. Las posibles configuraciones son: el bit 0 está reservado y debe establecerse en cero; el bit 1 indica que no se deben fragmentar los fragmentos; y el bit 2 indica que se deben generar más fragmentos.
  • Desplazamiento de fragmentos: El desplazamiento de fragmento representa la cantidad de bytes de datos que preceden a un fragmento específico en el datagrama correspondiente. Se especifica en unidades de 8 bytes y tiene un valor máximo de 65,528 bytes.
  • Tiempo para vivir: Este es un campo de 8 bits que indica el tiempo máximo que un datagrama puede permanecer en el sistema de internet. Cada vez que se procesa un datagrama, su valor TTL disminuye en uno. Cuando el valor TTL llega a cero, el datagrama se descarta para evitar la entrega continua de paquetes. El valor TTL puede oscilar entre 0 y 255.
  • Protocolo: Este campo de encabezado IPv4 indica qué protocolo de internet se transporta en la última parte del datagrama. Por ejemplo, el número 6 se usa para indicar TCP y el 17 para indicar el protocolo UDP.
  • Suma de comprobación del encabezado: El siguiente componente es un campo de suma de verificación de encabezado de 16 bits, que se utiliza para comprobar si el encabezado contiene errores. El encabezado IP se compara con el valor de su suma de verificación. Si la suma de verificación del encabezado no coincide, el paquete se descarta.
  • Dirección de la fuente: La dirección de origen es una dirección de 32 bits del origen utilizada para el paquete IPv4.
  • Dirección de destino: La dirección de destino también tiene un tamaño de 32 bits y almacena la dirección del receptor.
  • Opciones de IP: Este es un campo opcional del encabezado IPv4, que se utiliza cuando el valor de IHL (Longitud del encabezado de Internet) es mayor que 5. Contiene valores y configuraciones relacionados con la seguridad, el registro de rutas, la marca de tiempo y opciones similares. La lista de opciones suele finalizar con un marcador de Fin de lista de opciones (EOL).
  • Fecha: Este campo almacena los datos de la capa de protocolo que ha transferido los datos a la capa IP.

Cómo calcular la longitud de la cabecera IPv4

El campo Longitud de la Encabezada de Internet (IHL) le indica al enrutador la longitud exacta de la cabecera, de modo que pueda determinar dónde termina la cabecera y dónde comienzan los datos. Dado que este campo solo tiene 4 bits de ancho, no almacena la longitud directamente en bytes. En su lugar, cuenta la cabecera en palabras de 32 bits, donde cada palabra equivale a 4 bytes.

Para convertir el valor IHL en bytes, multiplíquelo por 4:

  • Mínimo: El valor mínimo legal del IHL es 5, por lo que 5 × 4 = 20 bytes. Este es un encabezado sin opciones.
  • Máximo: El valor IHL más grande es 15, por lo que 15 × 4 = 60 bytes. Los 40 bytes adicionales contienen campos opcionales.

Consideremos un ejemplo práctico. Si un paquete llega con un valor IHL de 6, la longitud del encabezado es de 6 × 4 = 24 bytes, lo que significa que hay 4 bytes de opciones después del encabezado estándar de 20 bytes. Para encontrar el tamaño de la carga útil, se debe calcular el tamaño de la carga útil.tracLa longitud del encabezado se obtiene del campo Longitud total. Si la Longitud total es de 1,500 bytes y el encabezado es de 24 bytes, entonces la carga útil es de 1,500 − 24 = 1,476 bytes.

Este cálculo es importante durante la fragmentación, porque un enrutador debe conocer el tamaño del encabezado para calcular cuántos datos puede transportar cada fragmento sin exceder el límite máximo de la red. Transmission Unidad (MTU).

Encabezado IPv4 vs IPv6

El encabezado IPv6 se rediseñó para que su procesamiento fuera más sencillo y rápido que el del encabezado IPv4. Utiliza una longitud fija y traslada las opciones poco utilizadas a encabezados de extensión separados, lo que permite a los enrutadores reenviar paquetes a velocidad de línea. La siguiente tabla compara ambos encabezados campo por campo:

Elemento Encabezado IPv4 Encabezado IPv6
Tamaño del encabezado De 20 a 60 bytes (variable) 40 bytes (fijo)
Número de campos 13 campos más opciones 8 campos
Longitud de la dirección Origen y destino de 32 bits Origen y destino de 128 bits
Suma de verificación del encabezado Presente Remoto
Campos de fragmentación En el encabezado base (Identificación, Banderas, Desplazamiento) Se movió a un encabezado de extensión de fragmento
Opciones Se lleva dentro del encabezado Se incluye en los encabezados de extensión.
Campo de longitud Longitud total (encabezado más datos) Longitud de la carga útil (solo carga útil)

Debido a que IPv6 elimina la suma de comprobación y las opciones de longitud variable, su encabezado contiene menos campos y puede procesarse en hardware sin recálculo por salto.

Por qué es importante el encabezado IP

Cada campo del encabezado IP existe para que los enrutadores y los hosts puedan transmitir un paquete a través de múltiples redes sin una conexión permanente entre ellos. El encabezado es lo que permite el funcionamiento de la conmutación de paquetes.

  • Enrutamiento: La dirección de destino indica a cada enrutador dónde debe reenviar el paquete, mientras que la dirección de origen permite que se envíen las respuestas y los mensajes de error.
  • Prevención de bucles: El campo Tiempo de vida se decrementa en cada salto, por lo que un paquete mal enrutado se descarta en lugar de dar vueltas por Internet indefinidamente.
  • Entrega según el protocolo correcto: El campo Protocolo indica al host receptor si debe entregar la carga útil a TCP, UDP u otro protocolo.
  • Integrity y reensamblaje: La suma de verificación protege el encabezado contra la corrupción, y los campos Identificación, Indicadores y Desplazamiento de fragmento permiten reconstruir un datagrama fragmentado en el orden correcto.

Para los ingenieros de redes, leer estos campos en un TCP / IP La captura suele ser la forma más rápida de diagnosticar paquetes perdidos, bucles de enrutamiento y configuraciones incorrectas. Direcciones IP.

Preguntas Frecuentes

La longitud de la cabecera (IHL) mide únicamente la cabecera, en palabras de 32 bits, y varía de 20 a 60 bytes. La longitud total mide todo el datagrama (cabecera más datos) en bytes, hasta 65,535. SubtracAl comparar uno con el otro se obtiene el tamaño de la carga útil.

La fragmentación divide un datagrama que es mayor que el tamaño máximo de un enlace. Transmission La unidad se divide en fragmentos más pequeños. Los campos Identificación, Indicadores y Desplazamiento de Fragmento permiten al destino reensamblar los fragmentos en orden. Esto ocurre siempre que un paquete debe atravesar una red con una MTU menor.

Un encabezado IPv4 tiene 13 campos fijos: Versión, IHL, Tipo de servicio, Longitud total, Identificación, Indicadores, Desplazamiento de fragmento, TTL, Protocolo, Suma de verificación, Dirección de origen, Dirección de destino, además de un campo de Opciones opcional. La sección de Datos que sigue es la carga útil, no un campo del encabezado.

No. La suma de verificación del encabezado IPv4 solo cubre los campos del encabezado, no la carga útil. Los protocolos de capa superior, como TCP y UDP, llevan sus propias sumas de verificación para proteger los datos. Dado que el TTL cambia en cada salto, los enrutadores recalculan la suma de verificación del encabezado en cada reenvío.

Cuando el TTL llega a cero, el enrutador descarta el paquete y devuelve un mensaje ICMP de tiempo excedido a la fuente. Esto evita que los paquetes se pierdan.ping para siempre en un bucle de enrutamiento. El traceroute La herramienta se basa en este comportamiento para mapear cada salto a lo largo de una ruta.

El campo Protocolo identifica qué protocolo de capa superior debe recibir la carga útil en el destino. Los valores comunes son 6 para TCP, 17 para UDP y 1 para ICMP. El host receptor lee este número para pasar los datos al controlador correcto.

Las herramientas de IA y aprendizaje automático analizan los encabezados IP capturados para detectar anomalías como direcciones de origen falsificadas, valores TTL anómalos o ataques de fragmentación. Clasifican el tráfico e identifican las amenazas más rápidamente que la inspección manual, aunque un ingeniero aún debe confirmar los hallazgos antes de tomar medidas.

Copiloto de GitHub puede hacer borrador Python o código C que desempaqueta los campos del encabezado IP, decodifica las banderas y valida las sumas de comprobación a partir de un comentario breve. RevExamine detenidamente la lógica de enmascaramiento de bits generada, ya que los desplazamientos de uno son una fuente común de errores de análisis.

Resumir este post con: