
La fragmentación IP es un proceso del Protocolo de Internet (IP) que divide los paquetes en partes más pequeñas (fragmentos), de modo que las partes resultantes puedan pasar a través de un enlace con una unidad de transmisión máxima (MTU) menor que el tamaño del paquete original. Los fragmentos son reensamblados por el host receptor .
Los detalles del mecanismo de fragmentación, así como el enfoque arquitectónico general de la fragmentación, difieren entre IPv4 e IPv6 .
Proceso
RFC 791 describe el procedimiento para la fragmentación de IP, y la transmisión y reensamblaje de paquetes IP. [ 1 ] RFC 815 describe un algoritmo de reensamblaje simplificado. [ 2 ] El campo Identificación junto con la dirección de Internet extranjera y local y el ID de protocolo , y el campo Desplazamiento de fragmento junto con los indicadores No fragmentar y Más fragmentos en el encabezado IP se utilizan para la fragmentación y el reensamblaje de paquetes IP. [ 1 ] : 24 [ 2 ] : 9
Si un host receptor recibe un paquete IP fragmentado, debe reconstruirlo y pasarlo a la capa de protocolo superior. Se supone que la reconstrucción debe realizarse en el host receptor, pero en la práctica, puede llevarla a cabo un enrutador intermedio; por ejemplo, la traducción de direcciones de red (NAT) puede necesitar reconstruir fragmentos para traducir flujos de datos. [ 3 ]
Diferencias entre IPv4 e IPv6


Bajo IPv4, un enrutador que recibe un paquete de red mayor que la MTU del siguiente salto tiene dos opciones: descartar el paquete si el bit de bandera No Fragmentar (DF) está activado en la cabecera del paquete y enviar un mensaje ICMP ( Protocolo de Mensajes de Control de Internet ) que indica la condición Fragmentación Necesaria (Tipo 3, Código 4), o fragmentar el paquete y enviarlo a través del enlace con una MTU menor. Aunque los originadores pueden producir paquetes fragmentados, los enrutadores IPv6 no tienen la opción de fragmentarlos aún más. En cambio, el equipo de red debe entregar cualquier paquete o fragmento de paquete IPv6 menor o igual a 1280 bytes, y los hosts IPv6 deben determinar la MTU óptima mediante el descubrimiento de MTU de ruta antes de enviar paquetes.
Aunque los formatos de encabezado son diferentes para IPv4 e IPv6, se utilizan campos análogos para la fragmentación, por lo que se puede reutilizar el mismo algoritmo para la fragmentación y el reensamblaje de IPv4 e IPv6.
En IPv4, los hosts deben intentar, en la medida de lo posible, reensamblar paquetes IP fragmentados con un tamaño total reensamblado de hasta 576 bytes. También pueden intentar reensamblar paquetes IP fragmentados de más de 576 bytes, pero también se les permite descartar silenciosamente dichos paquetes de mayor tamaño. Se recomienda a las aplicaciones que se abstengan de enviar paquetes de más de 576 bytes a menos que tengan conocimiento previo de que el host remoto es capaz de aceptarlos o reensamblarlos. [ 1 ] : 12
En IPv6, los hosts deben hacer un esfuerzo máximo para reensamblar paquetes fragmentados con un tamaño total reensamblado de hasta 1500 bytes, mayor que la MTU mínima de IPv6 de 1280 bytes. [ 4 ] Los paquetes fragmentados con un tamaño total reensamblado mayor de 1500 bytes pueden descartarse silenciosamente de forma opcional. Las aplicaciones que dependen de la fragmentación de IPv6 para superar una limitación de MTU de ruta deben fragmentar explícitamente el paquete en el punto de origen; sin embargo, no deben intentar enviar paquetes fragmentados con un tamaño total mayor de 1500 bytes a menos que sepan de antemano que el host remoto es capaz de reensamblarlos.
Impacto en el reenvío de red
Cuando una red tiene múltiples rutas paralelas, tecnologías como LAG y CEF dividen el tráfico entre las rutas según un algoritmo hash . Uno de los objetivos del algoritmo es asegurar que todos los paquetes del mismo flujo se envíen por la misma ruta para minimizar la reordenación innecesaria de paquetes .
La fragmentación de IP puede causar retransmisiones excesivas cuando los fragmentos experimentan pérdida de paquetes y los protocolos confiables como TCP deben retransmitir todos los fragmentos para recuperarse de la pérdida de un solo fragmento. [ 5 ] Por lo tanto, los remitentes suelen utilizar dos enfoques para decidir el tamaño de los paquetes IP que envían a través de la red. El primero es que el host remitente envíe un paquete IP de un tamaño igual a la MTU del primer salto del par origen-destino. El segundo es ejecutar el algoritmo Path MTU Discovery [ 6 ] para determinar la MTU de la ruta entre dos hosts IP de manera que se pueda evitar la fragmentación de IP.
A partir de 2020La fragmentación de IP se considera frágil y a menudo indeseable debido a su impacto en la seguridad. [ 7 ]
Véase también
- IPv4 § Fragmentación y reensamblaje
- Fragmentación de paquetes IPv6
- ataque de fragmentación de IP
- Unidad de datos de protocolo y unidad de datos de servicio.
- Segmentación y reensamblaje : organización de datos en celdas en una red ATM.
Referencias
- 1 2 3 Protocolo de Internet , Instituto de Ciencias de la Información, septiembre de 1981, RFC 791
- 1 2 David D. Clark (julio de 1982), Algoritmos de reensamblaje de datagramas IP , RFC 815
- ↑ Hain, Tony L. (noviembre de 2000), Implicaciones arquitectónicas de NAT , RFC 2993
- ↑ S. Deering ; R. Hinden (diciembre de 1998), Especificación del Protocolo de Internet, versión 6 (IPv6) , RFC 2460
- ↑ Christopher A. Kent, Jeffrey C. Mogul. "La fragmentación se considera perjudicial" (PDF) .
- ↑ Deering, Steve E.; Mogul, Jeffrey (noviembre de 1990), Path MTU Discovery , RFC 1191
- ↑ La fragmentación de la propiedad intelectual se considera frágil . IETF . Septiembre de 2020. doi : 10.17487/RFC8900 . RFC 8900 .
Enlaces externos
- ¿Qué es la fragmentación de paquetes?
- La historia interminable de la fragmentación de la propiedad intelectual.
- Protocolo de Internet