IPv4
9. PROTOCOLO IP
9.16. Fragmentación y reensamblado.
En IPv4, la fragmentación y el reensamblado son procesos que permiten dividir un paquete IP grande en fragmentos más pequeños cuando debe atravesar redes con distintos tamaños máximos de trama (MTU, Maximum Transmission Unit).
Motivo de la fragmentación
Cada enlace físico tiene o podría tener un tamaño máximo de paquete que puede transportar (MTU).
Por ejemplo:
| Enlace | MTU típica |
|---|---|
| Ethernet | 1500 bytes |
| PPPoE | 1492 bytes |
| Wi-Fi | 2304 bytes |
Dónde ocurre la fragmentación
En algún lugar del camino ( en capa 3) donde el router determine que el MTU de la Interfaz de salida es menor que el MTU de las interfaz de salida.- campo Flags
- Offset
- FCS
Campos del encabezado IP implicados
- Identification (16 bits) Identifica a qué datagrama original pertenece el fragmento. Todos los fragmentos del mismo paquete tienen el mismo valor.
- Flags (3 bits) Controla la fragmentación:
- – Bit 0: reservado (0)
- – Bit 1: DF (Don’t Fragment)
- – Bit 2: MF (More Fragments): 1 si hay más fragmentos después, 0 en el último.
- Fragment Offset (13 bits) Indica la posición del fragmento dentro del datagrama original, en unidades de 8 bytes.
¿Cómo se fragmenta?
Supongamos que un datagrama IP tiene 4000 bytes de carga útil (sin contar los 20 bytes del encabezado IP), y debe atravesar una red con MTU 1500. Cada fragmento deberá ser menor o igual a 1500 bytes incluyendo el encabezado IP.
Por tanto:
-
Máximo de datos por fragmento: 1480 bytes (1500 – 20).
-
Como el offset se mide en múltiplos de 8 bytes, cada fragmento debe tener un tamaño de datos múltiplo de 8.
| Fragmento | Datos | Offset | bit MF |
|---|---|---|---|
| 1 | 1480 bytes | 0 | 1 |
| 2 | 1480 bytes | 185 (1480/8) | 1 |
| 3 | 1040 bytes | 370 (2960/8) | 0 |
Reensamblado
El receptor final (nunca los routers intermedios) es quien:
-
Recibe los fragmentos.
-
Los ordena según el offset.
-
Reconoce el último porque su MF = 0.
-
Reconstruye el datagrama original concatenando los datos.
Si falta algún fragmento o no llega dentro del tiempo de espera, se descarta todo el datagrama.
Problemas comunes
-
Retransmisión costosa: si un fragmento se pierde, hay que reenviar todo el datagrama.
-
Ataques de fragmentación: se puede usar para evadir cortafuegos o IDS.
-
Mayor carga de procesamiento en el receptor.
Por eso, hoy en día se prefiere evitarla usando Path MTU Discovery IPv6, donde el emisor detecta el MTU más bajo del camino y ajusta el tamaño de los paquetes.