Articulo de referencia

Descubrimiento de MTU de ruta

El descubrimiento de MTU de ruta ( PMTUD ) es una técnica estandarizada en redes informáticas para determinar el tamaño máximo de la unidad de transmisión (MTU) en la ruta de re...

El descubrimiento de MTU de ruta ( PMTUD ) es una técnica estandarizada en redes informáticas para determinar el tamaño máximo de la unidad de transmisión (MTU) en la ruta de red entre dos hosts de protocolo de Internet (IP), generalmente con el objetivo de evitar la fragmentación de IP . PMTUD fue diseñado originalmente para enrutadores en el protocolo de Internet versión 4 (IPv4). [ 1 ] Sin embargo, todos los sistemas operativos modernos lo utilizan en los puntos finales. En IPv6 , esta función se ha delegado explícitamente a los puntos finales de una sesión de comunicaciones. [ 2 ] Como extensión del descubrimiento de MTU de ruta estándar, una técnica llamada descubrimiento de MTU de ruta de capa de empaquetamiento funciona sin soporte de ICMP . [ 3 ]

Implementación

Para los paquetes IPv4, el descubrimiento de MTU de ruta funciona activando el bit de bandera "No fragmentar " (DF) en las cabeceras IP de los paquetes salientes. A continuación, cualquier dispositivo en la ruta cuya MTU sea menor que la del paquete lo descartará y enviará un mensaje ICMP ( Protocolo de mensajes de control de Internet ) de tipo 3, código 4 que contiene su MTU, lo que permite al host de origen reducir su MTU de ruta según corresponda. El proceso se repite hasta que la MTU sea lo suficientemente pequeña como para recorrer toda la ruta sin fragmentación.

Como los enrutadores IPv6 no fragmentan los paquetes, no existe la opción "No fragmentar" en el encabezado IPv6 . Para IPv6, el descubrimiento de MTU de ruta funciona asumiendo inicialmente que la MTU de la ruta es la misma que la MTU en la interfaz de capa de enlace donde se origina el tráfico. Luego, de forma similar a IPv4, cualquier dispositivo a lo largo de la ruta cuya MTU sea menor que el paquete descartará el paquete y enviará un mensaje ICMPv6 " Paquete demasiado grande (tipo 2)" que contiene su MTU, lo que permite al host de origen reducir su MTU de ruta adecuadamente. El proceso se repite hasta que la MTU sea lo suficientemente pequeña como para recorrer toda la ruta sin fragmentación. [ 4 ]

Si la MTU de la ruta cambia después de que se establece la conexión y se vuelve menor que la MTU de ruta determinada previamente, el primer paquete grande provocará un error ICMP y se encontrará la nueva MTU de ruta más baja. Si la ruta cambia y la nueva MTU de ruta es mayor, el origen no se enterará del aumento, porque todos los enrutadores a lo largo de la nueva ruta serán capaces de reenviar todos los paquetes que el origen envíe utilizando la MTU de ruta más baja determinada originalmente. [ 5 ] [ 6 ] [ 4 ]

Problemas

Muchos dispositivos de seguridad de red bloquean todos los mensajes ICMP por supuestos beneficios de seguridad, incluidos los errores necesarios para el correcto funcionamiento de PMTUD. Esto puede provocar que las conexiones completen correctamente el protocolo de enlace TCP de tres vías , pero luego se bloqueen al intentar transferir datos. Este estado se conoce como conexión de agujero negro . [ 7 ]

Algunas implementaciones de PMTUD intentan sortear este problema infiriendo que los paquetes de carga útil grandes se han descartado debido a la MTU en lugar de a la congestión del enlace. Un esquema de este tipo está estandarizado en RFC 8899, Datagram Packetization Layer Path MTU Discovery (DPLPMTUD). [ 3 ] Ante la pérdida de conectividad, DPLPMTUD utiliza paquetes de sondeo de tamaños controlados para sondear la MTU de la ruta. El acuse de recibo de un paquete de sondeo indica que la MTU de la ruta es al menos del tamaño de ese paquete. El uso de DPLPMTUD está estandarizado en QUIC . [ 8 ] Sin embargo, para que los protocolos de la capa de transporte operen de la manera más eficiente, los mensajes ICMP Unreachable (tipo 3) aún deben permitirse.

Algunos enrutadores, incluido el kernel de Linux [ 9 ] y Cisco, [ 10 ] proporcionan una opción para reducir el tamaño máximo de segmento (MSS) anunciado en el handshake TCP como solución alternativa. Esto se conoce como MSS clamping .

Otro problema surge cuando los administradores de red no actualizan correctamente la MTU entre dos saltos de capa 3 adyacentes si el enlace entre estos saltos está compuesto por múltiples segmentos de capa 2 con conmutadores intermedios. Normalmente, la MTU en la interfaz L3 de salida se toma del primer segmento de capa 2. Sin embargo, si el segundo segmento o los siguientes tienen una MTU menor, el conmutador intermedio descartará el paquete silenciosamente sin enviar ningún mensaje ICMP (ya que solo los saltos de capa 3 pueden generar el mensaje ICMP "paquete demasiado grande"). En este caso, los administradores deben actualizar la MTU de cada interfaz L3 de salida al valor mínimo de la MTU de los segmentos de capa 2 utilizados hasta el siguiente salto L3.

Referencias

  1. J. Mogul; S. Deering (noviembre de 1990). Path MTU Discovery . Network Working Group. doi : 10.17487/RFC1191 . RFC 1191 .Proyecto de Norma. Obsoleto RFC 1063 . 
  2. J. McCann; S. Deering ; J. Mogul (julio de 2017). R. Hinden (ed.). Path MTU Discovery for IP version 6. Internet Engineering Task Force . doi : 10.17487/RFC8201 . STD 87. RFC 8201 .Estándar de Internet 87. Obsoletos RFC 1981 . 
  3. 1 2 G. Fairhurst; T. Jones; M. Tüxen; I. Rüngeler; T. Völker (septiembre de 2020). Descubrimiento de MTU de ruta de capa de empaquetamiento para transportes de datagramas . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC8899 . ISSN 2070-1721 . RFC 8899 . Norma propuesta. Actualiza los RFC 4821 , 4960 , 6951 , 8085 y 8261 . 
  4. 1 2 Davies, Joseph (2012). Comprensión de IPv6 (3.ª ed.). Redmond: Microsoft Press. págs. 146–147 . ISBN   978-0735659148OCLC 810455372 
  5. E. Comer, Douglas (2014). Interconexión de redes con TCP/IP Volumen 1 (6.ª ed.). Pearson. págs. 133–134 . ISBN   978-0-13-608530-0.
  6. Código fuente de Linux (IPv4) y código fuente de Linux (IPv6) ver línea con "mtu_expires" 10 * 60 segundos
  7. K. Lahey (septiembre de 2000). Problemas de TCP con el descubrimiento de MTU de ruta . Grupo de trabajo de redes. doi : 10.17487/RFC2923 . RFC 2923 .Informativo.
  8. J. Iyengar; M. Thomson, eds. (mayo de 2021). QUIC: Un transporte seguro y multiplexado basado en UDP . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC9000 . ISSN 2070-1721 . RFC 9000 . Norma propuesta.
  9. "Manipulación de encabezados de paquetes - wiki de nftables" . wiki.nftables.org . Consultado el 3 de julio de 2024 .
  10. "Concepto de ajuste de MTU de Ethernet y MSS de TCP para conexiones PPPoE" . Cisco . Consultado el 3 de julio de 2024 .