Resumen

  • RFC 791 prohíbe que un router fragmente un datagrama con DF, aunque permite descartarlo.
  • RFC 1191 convierte ese descarte en información mediante ICMP tipo 3, código 4 y Next-Hop MTU.
  • RFC 2923 explica el agujero negro de PMTUD cuando el mensaje ICMP no llega.

Del mandato a la evidencia

El campo Flags de IPv4 contiene DF. Con DF a cero, un router puede fragmentar; con DF a uno, no puede dividir el datagrama. Si el siguiente enlace tiene una MTU menor, el paquete puede perderse. El bit no garantiza entrega ni descubre por sí solo la MTU correcta.

RFC 1191 utiliza ese fallo como una sonda. El origen calcula una estimación inicial, envía datagramas con DF y espera. Si un router intermedio no puede reenviar uno intacto, lo descarta y devuelve ICMP Destination Unreachable, tipo 3, código 4: se necesita fragmentación y DF estaba activado.

El campo Next-Hop MTU hace que el aviso sea cuantitativo. Sus dieciséis bits inferiores indican el datagrama IP más grande que ese router habría podido reenviar sin fragmentarlo; incluyen cabecera y datos IP, pero no la sobrecarga de la capa inferior. El origen reduce su estimación y cambia el tamaño de lo que envía.

La convergencia no la decide el router. El host debe evitar nuevos errores inmediatos, reduciendo los datagramas o dejando de usar DF según corresponda. Las pruebas para aumentar la estimación tienen límites: no antes de cinco minutos después de un mensaje de tamaño excesivo ni de un minuto después de una tentativa exitosa; RFC 1191 aconseja esperar el doble.

Un router antiguo puede devolver cero en Next-Hop MTU. El host debe manejar esa respuesta menos precisa, buscando entre valores conocidos u otra estrategia acotada. Así, la interoperabilidad se conserva a cambio de más pruebas perdidas.

El agujero negro de PMTUD

RFC 2923 describe el caso en que un router no genera ICMP o un filtro lo bloquea. El origen sigue enviando datagramas DF demasiado grandes y no recibe la razón de las pérdidas. Un saludo TCP, un ping o pequeños mensajes pueden funcionar, mientras una transferencia grande se detiene y termina agotándose.

La detección del agujero y el repliegue pueden reducir el tamaño, pero añaden demora y ocultan el defecto. La solución preferible es reparar el camino ICMP. PMTUD depende de una cadena: origen, router limitante, retorno del mensaje y adaptación del emisor.

Fuentes