...
🧠 El blog está dedicado al tema de VPN y seguridad, privacidad de datos en Internet. Hablamos de tendencias actuales y noticias relacionadas con la protección.

Fragmentación de IP: completamente explicada

86

Cada red basada en paquetes IP tiene un tamaño de Unidad de transmisión máxima (MTU). La MTU, como sugiere el término, es el tamaño máximo del paquete que se puede transmitir en la red.

Los paquetes IP más grandes que el tamaño de la MTU deben dividirse en fragmentos o paquetes más pequeños para que puedan viajar a través de la red.

¿Sigo confundido? No te preocupes. 

En esta guía, explicaremos todo sobre la fragmentación de IP: qué es, qué hace, cómo se usa y sus inconvenientes, en términos sencillos de comprensión. A continuación, responderemos algunas consultas específicas de los usuarios relacionadas con el tema. Entonces, sin más preámbulos, ¡comencemos!

¿Qué es la fragmentación de IP?

Cada red local admite un tamaño máximo de paquete IP. Por lo tanto, cuando un host usa la red para transmitir un paquete IP, no debe ser más grande que el tamaño de la Unidad máxima de transmisión (MTU). De lo contrario, se divide en partes pequeñas, un proceso llamado fragmentación de IP.

Este tamaño suele estar determinado por las MTU y el enlace de datos de la red que suele ser el mismo. Una red contemporánea de trabajo, centro de datos o campus que se ofrece a través de Ethernet tiene MTU por valor de 1500 bytes.

Sin embargo, los paquetes IP transferidos primero a través de una red que admita una sola MCU pueden requerir enrutamiento a través de túneles VPN, WAN u otras redes con unidades máximas de transmisión más pequeñas. En caso de que el tamaño del paquete supere la MTU más pequeña, será necesario fragmentar los datos de este paquete.

Los datos se dividirían en múltiples partes y se transportarían en nuevos fragmentos (paquetes) que son más pequeños o iguales en tamaño que la MCU inferior. Estos datos fragmentados se volverán a ensamblar cuando lleguen a su destino.


IPv4

Los campos de encabezado IPv4 utilizados

La fragmentación y el proceso de reensamblaje tienen varios campos de encabezado IP involucrados que se configuran en piezas/fragmentos.

(Créditos de imagen: packagepushers.net)

La operación de fragmentación se basa en tres campos de encabezado IP (un total de 32 bits). Todos estos fragmentos tendrán valores significativamente diferentes en comparación con el paquete IP original:

El campo Identificación (16 bits) contiene un número de identificación único que es una combinación de direcciones IP de origen y destino. El campo Protocolo, que tiene el valor del paquete original, permite al destino diferenciar entre los distintos fragmentos de paquetes que provienen de la misma fuente.

Esto simplemente significa que se puede utilizar la misma ID incluso cuando la fuente, el protocolo y el destino de los paquetes fragmentados no son los mismos.

Exactamente como el paquete IP original, el primer bit reservado del  campo Flags (total 3 bits) y el segundo, el bit Don't Fragment (DF)  estarán desactivados (0).

Sin embargo, el fragmento final tendrá el tercer bit del campo, es decir, Más Fragmentos (MF) establecido en 1. Todos los bits en este campo del último paquete IP se establecerán en 0, exactamente como el paquete IP original (a menos que sea un fragmento).

Si en el paquete original, el indicador Don't Fragment está establecido, esto evitaría la fragmentación y daría como resultado que los paquetes deban descartarse. Los errores deben enviarse al remitente en este caso, como error ICMP de tipo 3: "Destino inalcanzable", código 4: "Fragmentación requerida y conjunto de DF".

El campo Fragment Offset  (total 13 bits) se utiliza para indicar la posición inicial de los datos en el fragmento, en relación con los datos iniciales del paquete IP original. Esto luego se usa para volver a ensamblar los datos de todos los fragmentos (llegados o no).

El desplazamiento en el primer fragmento es 0 ya que los datos en este paquete fragmentado y el original comienzan en el mismo lugar. En los siguientes fragmentos, se compensa el valor de los datos fragmentados desde el inicio de los datos en el fragmento inicial (compensación 0), en bloques de 8 bytes (también conocidos como octawords).

Si un paquete IP que contiene datos con un valor de 800 bytes se divide en dos partes/fragmentos iguales, cada uno con 400 bytes, entonces el desplazamiento del fragmento del primer fragmento es 0, mientras que el otro es 50 (400/8).

El valor de compensación tiene que ser el número de bloques de datos de 8 bytes. Esto significa que el fragmento anterior tiene que ser un múltiplo de 8 bytes. El fragmento final puede transportar datos que no sean un múltiplo de 8 bytes, ya que no habrá más fragmentos.


IPv6

Aunque la mayoría de los campos de encabezado siguen siendo los mismos, la fragmentación de IP en IPv6 funciona de forma un poco diferente a la de IPv4. En IPv6, los datos solo se pueden fragmentar en el host de origen. Esto significa que la fragmentación no se puede realizar en otras redes, excepto en la fuente.

No hay un indicador No fragmentar disponible, por lo que todo lo que necesita hacer es no crear fragmentos.

La fragmentación de IP no se puede realizar si no se utiliza PMTUD. Los nodos no pueden usar una MTU superior a 1280 bytes, que es el mínimo de IPv6, si no implementan Path MTU Discovery (PMUTD).

Si bien Path MTU Discovery funciona de la misma manera que IPv4, el mensaje de error ICMP es diferente:

(Créditos de imagen: packagepushers.net)

Si el paquete IP es más grande que la MCU, entonces el enrutador IPv6 debe descartarlo y enviar un error ICMPv6 tipo 2 ‘Paquete demasiado grande' – código 0 al remitente.

Tenga en cuenta que depender de un canal posterior y la transmisión ICMP al host de origen tiene múltiples fallas, una importante es que los mensajes ICMP a menudo se bloquean en varias instancias en una red debido a las ventajas de seguridad.

De esta forma, el host de origen no recibirá los mensajes Packet Too Big y retransmitirá los paquetes IP que fueron descartados varias veces, que seguramente no llegarán. Eventualmente, la conexión se consideraría inestable y cerrada. Incluso si se estableciera uno nuevo, el problema se repetiría.

Los campos de encabezado relacionados con la fragmentación se colocan en un encabezado de extensión denominado encabezado de fragmento. Esto se especifica con un campo de encabezado siguiente (valor 44) en un IPv6 estándar o cualquier encabezado de extensión anterior.

Al igual que todos los encabezados de extensión, este tiene una longitud de 8 bytes/64 bits, junto con un encabezado estándar, lo que da como resultado una fragmentación de IPv6 con una sobrecarga mayor que la de IPv4.

Los campos de encabezado de IPv6 utilizados

Consulte los campos en el encabezado de extensión del Fragmento de IPv6:

(Créditos de imagen: packagepushers.net)

El campo llamado Siguiente encabezado (8 bits) especifica el tipo de encabezado, como un encabezado de protocolo de capa superior o un encabezado de extensión IPv6. A continuación, se reservan los siguientes 8 bits.

El campo Fragment Offset de 13 bits se usa de manera similar a IPv4. Después de esto, se reservan los siguientes 2 bits.

El indicador del campo M se establecerá en 1 y el fragmento final se establecerá como el campo Más fragmentos (MF)  de IPv4 .

El campo de identificación de 32 bits es el mismo que el campo IPv4 de 16 bits que contiene un número de identificación único para la combinación de direcciones de origen y direcciones de destino. El campo Protocolo no está disponible en IPv6.


Los inconvenientes de la fragmentación de IP

Se considera que la pila del protocolo IP tiene un mecanismo poco confiable debido a que los hosts finales no pueden determinar el tamaño máximo de la carga útil cuando se comunican a través de un host IPv4 e IPv6.

Aunque la ausencia de un mecanismo MTU en la red es comprensible, ya que los paquetes IP toman diferentes rutas, la falta de información de extremo a extremo puede provocar que los enrutadores intermediarios reciban paquetes de gran tamaño y no puedan reenviarlos.

Los enrutadores IPv4 pueden dividir paquetes IP en fragmentos durante el tránsito, pero la misma función no está disponible en los enrutadores IPv6, donde el remitente debe realizar la fragmentación.

La fragmentación da como resultado un pico en la sobrecarga de la capa 3. Entonces, por ejemplo, si el host final cree que puede usar paquetes IP de 1500 bytes, pero enfrenta un salto en su ruta de tamaño de MTU 1472, entonces el paquete IP se dividiría en dos paquetes, lo que resultaría en un encabezado IPv6 agregado de 40 bytes y cabecera IPv4 de 20 bytes.

Los fragmentos de IP suponen una carga adicional para el sistema receptor, ya que es necesario volver a ensamblar los fragmentos para enviarlos a capas de protocolo superiores. Esta actividad se agrava cuando el enrutador termina el tráfico IP.

Si un enrutador intenta ensamblar los paquetes fragmentados, los paquetes no podrán volver a ensamblarse en el hardware y reducirán drásticamente el rendimiento de la plataforma.


preguntas frecuentes

La fragmentación de IP es vital para la transmisión de datos, ya que cada red tiene un límite de tamaño diferente para el procesamiento de datos. Este límite también se conoce como MTU (unidad máxima de transmisión).

No, los enrutadores pueden fragmentar paquetes IP, pero no volver a ensamblarlos. Es trabajo del dispositivo de destino volver a ensamblar estos paquetes para el usuario.

Si se pierden uno o varios fragmentos de un datagrama, el datagrama completo se descarta después del período de tiempo de espera.


Conclusión

Aquí finaliza nuestra guía detallada sobre la fragmentación de IP.

Para brindarle una descripción general rápida, si los datos que se envían a través de una red son más grandes que el tamaño de la Unidad de transmisión máxima (MTU), los datos se dividirán en múltiples fragmentos y se enviarán al receptor.

Tan pronto como los fragmentos de IP lleguen a su destino, se volverán a ensamblar en el orden correcto para que los datos puedan ser útiles para los usuarios. El mecanismo de fragmentación es diferente entre las redes IPv4 e IPv6, cuyos detalles se mencionan anteriormente.

En caso de que tenga alguna pregunta sobre direcciones IP y fragmentaciones, comuníquese con nosotros en los comentarios.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More