La fragmentación de IP es un proceso de Protocolo de Internet (IP) que divide los paquetes en partes más pequeñas (fragmentos), de modo que las partes resultantes pueden pasar a través de un enlace con una unidad de transmisión máxima (MTU) más pequeña que el tamaño del paquete original. Los fragmentos son reensamblados por el anfitrión receptor .
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 local y extranjera 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 reensamblaje de paquetes IP. [1] : 24 [2] : 9
Si un host receptor recibe un paquete IP fragmentado, tiene que volver a ensamblar el paquete y pasarlo a la capa de protocolo superior. El reensamblaje está destinado a suceder en el host receptor, pero en la práctica puede hacerlo un enrutador intermedio, por ejemplo, la traducción de direcciones de red (NAT) puede necesitar reensamblar fragmentos para traducir flujos de datos. [3]
Los detalles del mecanismo de fragmentación, así como el enfoque arquitectónico general de la fragmentación, son diferentes entre IPv4 e IPv6 .
Diferencias de IPv4 e IPv6
Bajo IPv4, un enrutador que recibe un paquete de red más grande que la MTU del siguiente salto tiene dos opciones: descartar el paquete si el bit de marca No fragmentar (DF) está configurado en el encabezado del paquete y enviar un Protocolo de mensajes de control de Internet (ICMP) mensaje que indica la condición de fragmentación necesaria (tipo 3, código 4), o fragmentar el paquete y enviarlo por el enlace con una MTU más pequeña. Aunque los originadores pueden producir paquetes fragmentados, los enrutadores IPv6 no tienen la opción de fragmentar más. En su lugar, se requiere equipo de red para entregar paquetes IPv6 o fragmentos de paquetes menores o iguales a 1280 bytes y se requieren hosts IPv6 para determinar la MTU óptima a través de Path MTU Discovery 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 el mismo algoritmo se puede reutilizar para la fragmentación y reensamblaje de IPv4 e IPv6.
En IPv4, los hosts deben hacer el mejor esfuerzo posible para 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 esos paquetes más grandes. 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 el mayor esfuerzo posible 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 superior a 1500 bytes pueden opcionalmente descartarse silenciosamente. Las aplicaciones que se basan en 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 superior a 1500 bytes a menos que sepan de antemano que el host remoto es capaz de reensamblar.
Impacto en el reenvío de la red
Cuando una red tiene múltiples rutas paralelas, tecnologías como LAG y CEF dividen el tráfico en las rutas de acuerdo con un algoritmo hash . Uno de los objetivos del algoritmo es garantizar que todos los paquetes del mismo flujo se envíen por la misma ruta para minimizar el reordenamiento innecesario de paquetes .
La fragmentación de IP puede causar retransmisiones excesivas cuando los fragmentos encuentran pérdida de paquetes y 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 a enviar a través de la red. La primera es que el host de envío envíe un paquete IP de tamaño igual a la MTU del primer salto del par fuente-destino. El segundo es ejecutar el algoritmo Path MTU Discovery [6] para determinar la ruta MTU entre dos hosts IP de modo que se pueda evitar la fragmentación de IP.
A partir de 2020[actualizar], La fragmentación de IP se considera frágil y, a menudo, no deseada debido a su impacto en la seguridad. [7]
Ver también
Referencias
- ^ a b c Protocolo de Internet , Instituto de Ciencias de la Información, septiembre de 1981, RFC 791
- ^ a b David D. Clark (julio de 1982), algoritmos de reensamblado de datagramas IP , RFC 815
- ^ Implicaciones arquitectónicas de NAT , noviembre de 2000, RFC 2993
- ^ S. Deering ; R. Hinden (diciembre de 1998), Protocolo de Internet, Especificación de la versión 6 (IPv6) , RFC 2460
- ^ Christopher A. Kent, Jeffrey C. Mogul. "Fragmentación considerada perjudicial" (PDF) .
- ^ Path MTU Discovery , noviembre de 1990, RFC 1191
- ^ "Fragmentación de IP considerada frágil" . IETF. 2019. Cite journal requiere
|journal=
( ayuda )
enlaces externos
- ¿Qué es la fragmentación de paquetes?
- La historia interminable de la fragmentación de la propiedad intelectual