Escenario: Se ha creado una interfaz LAG (Link Aggregation Group) para incrementar el ancho de banda total entre dos nodos de red, usualmente switches.
Para probar que la interfaz LAG funciona correctamente, se han conectado dos servidores que transfieren datos, utilizando comúnmente la herramienta de medición de rendimiento de red Iperf.
Al final del artículo encontrarás un pequeño test que te permitirá evaluar los conocimientos adquiridos en esta lectura
Por ejemplo, se puede haber creado una interfaz LAG a partir de dos puertos Ethernet Gigabit, lo que proporciona una interfaz virtual capaz de balancear el tráfico a través de ambas interfaces y alcanzar teóricamente un rendimiento de 2Gbps.
Los servidores, en este caso, están conectados usando una interfaz de 10Gbps, como SFP+.
Configuración relevante para SW1 y SW2:
/interface bonding
add mode=802.3ad name=bond1 slaves=ether1,ether2
/interface bridge
add name=bridge1
/interface bridge port
add bridge=bridge1 interface=bond1
add bridge=bridge1 interface=sfp-sfpplus1
- Se añade un modo bonding 802.3ad con el nombre bond1 y los esclavos ether1 y ether2.
- Se crea un puente llamado bridge1.
- Se añade al puente bridge1 la interfaz bond1 y la interfaz sfp-sfpplus1.
Problema
Tras las pruebas iniciales, se observa que el rendimiento de la red nunca supera el límite de 1Gbps, aunque la carga de la CPU en los servidores y en los nodos de red (switches) es baja. Esto se debe a que LACP (802.3ad) utiliza una política de hash de transmisión para determinar si el tráfico puede equilibrarse sobre múltiples miembros del LAG.
En este caso, una interfaz LAG no crea una interfaz de 2Gbps, sino una interfaz que puede equilibrar el tráfico sobre múltiples interfaces esclavas cuando sea posible.
Para cada paquete se genera un hash de transmisión, que determina a través de qué miembro del LAG se enviará el paquete, evitando así que los paquetes se desordenen.
Existe la opción de seleccionar la política de hash de transmisión, que generalmente permite elegir entre Capa 2 (MAC), Capa 3 (IP) y Capa 4 (Puerto).
En RouterOS, esto se puede seleccionar mediante el parámetro transmit-hash-policy. En este caso, el hash de transmisión es el mismo ya que se envían paquetes a la misma dirección MAC, así como a la misma dirección IP y Iperf utiliza también el mismo puerto, generando así el mismo hash de transmisión para todos los paquetes e impidiendo el balanceo de carga entre los miembros del LAG.
Cabe destacar que no siempre los paquetes se equilibrarán sobre los miembros del LAG incluso cuando el destino sea diferente, ya que la política de hash de transmisión estandarizada puede generar el mismo hash de transmisión para diferentes destinos.
Síntomas:
- Tráfico pasando solo por un miembro del LAG.
Solución
Seleccionar la política de hash de transmisión adecuada y probar correctamente el rendimiento de la red.
La manera más sencilla de probar tales configuraciones es usar múltiples destinos. Por ejemplo, en lugar de enviar datos a un solo servidor, se deberían enviar datos a varios servidores.
Esto generará un hash de transmisión diferente para cada paquete y hará posible el balanceo de carga entre los miembros del LAG.
En algunos casos, se podría considerar cambiar el modo de la interfaz bonding para aumentar el rendimiento total.
Para tráfico UDP, el modo balance-rr podría ser suficiente, pero puede causar problemas para tráfico TCP.
Puedes leer más sobre la selección del modo adecuado para tu configuración aquí.
Aspectos Adicionales a Considerar:
Selección de Modos de Bonding
La elección del modo de bonding es crucial. Mientras que el balance-rr (round-robin) puede ser eficaz para el tráfico UDP, puede no ser ideal para TCP debido a la posibilidad de reordenamiento de paquetes. Por lo tanto, es importante considerar el tipo de tráfico que predominará en la red al elegir el modo de bonding.
Influencia de la Configuración de la Red
Otros aspectos de la configuración de la red también pueden influir en el rendimiento del LAG. Por ejemplo, la configuración de los switches, las capacidades del hardware y las políticas de red pueden afectar cómo se maneja el tráfico a través de las interfaces LAG.
Monitoreo y Diagnóstico
Es esencial implementar herramientas de monitoreo y diagnóstico para entender mejor cómo se está comportando el tráfico a través del LAG. Herramientas como Wireshark o incluso funciones de diagnóstico integradas en los switches pueden proporcionar información valiosa.
Consideraciones de Rendimiento y Capacidad
Aunque la interfaz LAG puede teóricamente alcanzar un ancho de banda de 2Gbps en este escenario, hay que recordar que el rendimiento real puede verse afectado por múltiples factores, como la calidad del cableado, la distancia entre los dispositivos y la propia configuración del hardware.
Pruebas Diversas
Realizar pruebas con diferentes configuraciones y tipos de tráfico puede ayudar a identificar la mejor configuración para un entorno específico. Esto podría incluir variar la dirección IP de destino, el puerto o incluso el tipo de tráfico (TCP vs UDP).
Actualización de Firmware y Software
Asegurarse de que tanto los switches como los servidores estén ejecutando la versión más reciente y estable de su firmware y software puede resolver problemas no identificados previamente y mejorar el rendimiento general.
Conclusión
El balanceo de carga en una interfaz LAG es un proceso complejo que requiere una configuración cuidadosa y una comprensión detallada de la red y sus componentes.
A través de la selección adecuada de la política de hash de transmisión y pruebas exhaustivas, se puede optimizar el rendimiento de la red y asegurar que los recursos disponibles se utilicen de manera eficiente.
Además, mantenerse al tanto de las actualizaciones y las mejores prácticas en la configuración de red puede contribuir significativamente a la eficacia y estabilidad del entorno de red.
Breve cuestionario de conocimientos
¿Qué te pareció este artículo?
¿Te atreves a evaluar tus conocimientos aprendidos?
Libro recomendado para éste artículo
Libro Switching y Brindging RouterOS v7
Material de estudio para el Curso de Certificación MTCSWE actualizado a RouterOS v7
Artículos Relacionados
- Malas configuraciones en Capa 2: Limitaciones de Hardware Offload en Múltiples Bridges
- Malas configuraciones en Capa 2: Flujo de paquetes con Hardware Offloading y aprendizaje de MAC
- Entendiendo el Concepto de MTU en Capa 2 y Capa 3: Impactos y Consideraciones
- Bonding XOR (balance-xor) en MikroTik
- Bonding Broadcast en MikroTik