Esquivando los estándares: Jumbo Frames

Una de las primeras cosas que uno aprende cuando se dedica al mundo de las redes es a lidiar con la MTU (Maximun Transfer Unit) de las diferentes tecnologías. En el caso de Ethernet, su MTU es de, aproximadamente, 1500 bytes. Esto se debe a razones históricas relacionadas con la necesidad de detectar la colisión de varias tramas Ethernet en un medio compartido. El descubrimiento de la MTU de un enlace se suele realizar siguiendo las directivas de la RFC 1191.
En la actualidad, los medios compartidos en Ethernet se encuentran prácticamente extintos, sin embargo, esta limitación se debe mantener por retrocompatibilidad y para cumplir con el estándar IEEE 802.3.
Fuente: Wikipedia
Sin embargo, pueden darse situaciones en las que sea ventajoso superar este límite de MTU impuesto por el estándar. En nuestro caso nos hemos encontrado con este problema durante el desarrollo de TRILL, protocolo explicado anteriormente.
El problema es sencillo. Si todos los equipos, tanto los equipos TRILL como los que no lo son, tienen la misma MTU, se pueden dar casos en los que la suma de la trama enviada por un equipo con la cabecera TRILL supere la MTU de Ethernet, medio que utilizamos para interconectar los diferentes equipos. A continuación podemos ver un dibujo explicativo.
Llegados a este punto disponemos de 3 posibles soluciones para este problema:
- Evitar por código las tramas superiores a la MTU del medio que se utilice para transmitir la información, en este caso Ethernet.
- Reducir la MTU de los equipos externos a TRILL, de manera que, al añadir las cabeceras de este protocolo no se supere el límite de MTU de Ethernet.
- Aumentar la MTU de la parte de la red que utiliza TRILL, de manera que al añadir las cabeceras de éste, el medio siga permitiendo la transferencia de datos.
La primera de las soluciones se ha descartado rápidamente ya que se podrían dar casos de pérdidas de paquetes grandes, penalizando en gran medida el rendimiento y la experiencia de usuario, ya que no existe la certeza de que un protocolo de nivel superior se encargue del control de flujo.
Reducir la MTU de los equipos externos a TRILL, sin embargo, causaría una gran bajada de rendimiento y aumentaría el uso de CPU ya que el número de tamas necesarias para enviar la misma cantidad de datos aumenta de manera importante. Además, esta acción debería realizarse manualmente en todos los equipos que se conecten a la red TRILL.
Comparativa de throughput: Ethernet vs Ethernet Jumbo frames. Fuente: Alteon Networks
Por lo tanto, la opción que mejora el rendimiento y requiere menos configuración por parte del usuario es la tercera. Puestos a investigar sobre la extensión de las tramas Ethernet, el estándar que las define es el IEEE 802.3as. Este estándar se encuentra integrado en el IEEE 802.3-2008.
Las primera pruebas realizadas han estado satisfactorias, por lo que parece que se ha encontrado la solución más óptima. Sin embargo, será necesario serguir realizando pruebas para comprobar que la gran mayoría de las NICs actuales soportan el estándar y que el código desarrollado se adapta a estas nuevas condiciones.