Estado de MTU en RedIRIS


[ Limitaciones  Centros conectados  Referencias ]

En este documento se describe la interacción de las conexiones TCP con el tamaño de la MTU de un enlace, así como los esfuerzos para conseguir una red completa en la que puedan circular las llamadas «tramas Jumbo» o «jumbo frames», paquetes de hasta 9000 bytes que superan hasta en 6 veces el tamaño máximo de trama usado en la actualidad.

Preliminares:

MTU significa Maximum Transmission Unit, y es la unidad máxima de transmisión en bytes en un medio. Dependiendo de la tecnología, tiene un valor u otro. Por ejemplo, Ethernet (el de 10 Mbps) tiene un tamaño máximo de 1500 bytes. Este artículo pretende dar una serie de razonamientos a favor y en contra de MTUs grandes en una red de alta velocidad como RedIRIS2.

La MTU más el tamaño de las cabeceras TCP da la MSS (Maximum Segment Size). Digamos que la MSS es como la MTU, pero en la capa de enlace.

Motivos:

  • Rendimiento: Al hacer el tamaño de paquete más grande, se reduce el número de paquetes por cada transmisión. Por ello, la CPU de todos los elementos que intervienen en la comunicación, en especial el equipo origen de los paquetes, desciende apreciablemente si se utilizan MTUs grandes.
  • Ampliación del ancho de banda: El rendimiento límite de TCP en redes de área amplia se conoce meticulosamente desde hace años (Matt Mathis et al., The Macroscopic Behavior of the TCP Congestion Avoidance Algorithm). Su fórmula es:

        Rendimiento < = ~0.7 * MSS / (RTT * (pérdida de paquetes)^0.5)

    Por tanto, un aumento en la MSS de, digamos, un factor 4x, ¡multiplicaría el rendimiento en el mismo factor, o bien permitiría el mismo rendimiento pero con un 16x de las pérdidas actuales! Esta limitación no tiene que ver con cosas como el tamaño de ventana, sino con la habilidad de TCP para detectar congestión, y que es tanto más cara en sobrecarga cuanto mayor es la velocidad de recepción.

  • Uniformidad: La red GÉANT acaba de aumentar su tamaño de paquete máximo a 9.000 bytes, al igual que Internet2. Eso permitiría un backbone internacional donde se «hablaría» con paquetes de MTU muy grande.

Primero un poco de historia. Hasta no hace demasiado (unos 15 años), la MTU que se utilizaba en Internet era la mínima para asegurar la comunicación: 576 bytes. A partir de 1990 se desarrollan métodos para averiguar el tamaño máximo de MTU permitida en una comunicación (Path MTU discovery, PMTUD) [RFC 1191 (IPv4), RFC 1981 (IPv6)].

Lo que sigue también puede (y debe) extenderse a otras tecnologías como FDDI, ATM o POS (Packet Over SONET), pero la influencia de estas tecnologías no ha sido tan determinante como la de Gigabit Ethernet a la hora de dar posibilidades de paquetes más grandes.

Desde aquellos años, y aunada por el enorme éxito del estándar Ethernet, la MTU generalizada que se utiliza en Internet se extiende hasta los 1.500 bytes, que «casualmente» coincide con el de Ethernet 10 Mbps.

Aún así, sistemas operativos modernos como Windows (2000, XP, etc.) siguen utilizando para determinadas interfaces la MTU mínima de aquellos años, es decir, 576 bytes.

Años después aparece con fuerza Fast Ethernet, que utiliza el mismo medio para transmitir (cable de cobre), pero con una velocidad de reloj 10 veces superior. Por tanto, y aunque en Fast Ethernet se tarda lo mismo en transmitir 15.000 bytes que 1.500 en Ethernet, en aras de la compatibilidad se elimina esta posibilidad en la totalidad de las instalaciones.

Más tarde, se crea una nueva variedad del estándar Ethernet, el Gigabit Ethernet. De la misma forma que antes, puede transmitirse 10 veces más rápido. Pero ahora el panorama cambia. Gigabit Ethernet utiliza mayoritariamente un medio distinto, la fibra óptica. Ahora los segmentos Ethernet están separados y puede usarse un tamaño de paquete más grande sin miedo a que otros equipos en el mismo segmento no entiendan lo que se habla, ya que las instalaciones y «backbones» se construyen sobre Gigabit Ethernet.

Esto da lugar al movimiento conocido como «jumbo frames».

Ventajas

  1. Mayores velocidades con TCP estándar.
  2. Menor carga para equipos de red.
  3. Menor carga para equipos extremos.

Inconvenientes

  1. Problemas inesperados de interoperabilidad.
  2. Problemas de máquinas «ciegas» por bloqueo de tráfico ICMP provocado por PMTUD (agujeros negros: RFC 2923).
  3. Hay que tener cuidado. Las VLANes, dado que son segmentos de red al fin y al cabo, no pueden tener distinta MTU.

Lo que comúnmente se entiende por un «jumbo frame» es un paquete de 9000 bytes. Este tamaño no viene impuesta en principio por el estándar Gigabit Ethernet, ni por la limitación del tamaño de un paquete IPv4 (64 KB). Por tanto, 9.000 bytes puede parecer una cantidad un tanto arbitraria.

Y lo es. El problema principal viene dado por la efectividad del chequeo de redundancia cíclica (CRC) de 32 bits usado en Ethernet, que pierde efectividad a partir de 12.000 bytes. Y también cabe decir que un datagrama de aplicación como NFS puede rondar las 8 KB de tamaño, con lo que, incluyendo cabeceras, la información cabe en un paquete de 9 KB.

Limitaciones del protocolo:

  • Paquete IPv4: entre 68 y 65535 bytes (16 bits de tamaño).
  • Paquete IPv6: entre 1280 y 4.294.967.295 bytes (32 bits en forma extendida).

Limitaciones de la configuración

Cada vez que a un equipo llega un paquete demasiado grande para la MTU del enlace hacia donde tiene que encaminarlo, éste emite un paquete ICMP de tipo 3 diciendo que se necesita fragmentar el paquete. Este proceso se denomina Path MTU Discovery, y está descrito profusamente en el RFC 2923. Debido a que mucha gente filtra indiscriminadamente el tráfico ICMP a sus redes, pueden aparecer escenarios donde las máquinas se quedan literalmente sordas, debido a que nunca reciben los paquetes de vuelta ICMP que indican que ha de reducirse el tamaño del paquete. A estos equipos que filtran el ICMP se los llama «agujeros negros», pues se tragan los paquetes de control que permiten que el descubrimiento de MTU funcione.

Por tanto, la recomendación de RedIRIS es que no se apliquen bloqueos completos al tráfico ICMP, sino que éstos sean tan sólo limitadores de tráfico para que no se supere una cantidad determinada, digamos 64 Kbps o 128 Kbps. Eso podría permitir que el PMTUD funcionase en la práctica totalidad de los casos. En la sección de referencias hay algún enlace sobre diagnóstico de agujeros negros.

Limitaciones de hardware:

En Jumbo Frame Clean Networking Gear se puede encontrar un interesante listado de equipamiento según el tamaño máximo de MTU que soporta.

Despliegue

El plan de despliegue de jumbo frames en la comunidad RedIRIS ha de pasar por 3 fases:
  1. Despliegue de MTUs grandes en el backbone de RedIRIS2. (Hecho 02/12/04)
  2. Despliegue de MTUs grandes en los puntos de acceso de las instituciones a RedIRIS. (Comienzo 24/01/05)
  3. Configuración de MTUs grandes en los backbones de las instituciones para ofrecer a los investigadores para llevar sistemas con grandes necesidades de ancho de banda. (Comienzo 24/01/05)

Centros con MTU mayor de 1500 bytes

Comunidad

MTU

Institución

Cantabria 9000 IFCA
Galicia 9000 CESGA
Madrid 9000 ESA

Referencias