Facebookfacebook Twitter Emailmail Imprimirprint
Martes 10 de diciembre de 2024
Santoral:
Nuestra Señora de Loreto, Eulalia
Otros:
Día de los Derechos Humanos
Semana:
50
Día año:
345/366 (94%)
U.F.:
Sin información
IPC:
Sin información
Dolar:
Sin información
Euro:
Sin información
Bitcoin:
U$ {bitcoin}
mindicador.cl

Bonding entre Mikrotik y Cisco

Agregar 2 o más interfaces para mayor ancho de banda y redundancia

Introducción

Muchas veces al conectar 2 switches, o algún servidor de alta demanda, nos encontramos con el problema que dicha conexión se puede transformar en un cuello de botella al tener todas las interfaces a la misma velocidad.

Nuestra primera elección debe ser escoger las interfaces más rápidas para la interconexión, por ejemplo elegir una interface de 1Gbps para enlazar 2 switches con interfaces de 100 mbps. Pero no siempre contamos con dicha interfaz más rápida.

¿Que es el Bonding?

El Bonding, Link Aggregation, PortChannel (como lo llama Cisco) o Teaming en versiones recientes de Linux, consiste en agrupar lógicamente 2 o más interfaces (hasta 8 en general), utilizado como redundancia con tiempos de convergencia bajo los 5 segundos y mediante algún balanceo de carga puede lograr sumar el ancho de banda de sus interfaces, aunque dentro de algunas limitaciones

En términos prácticos se crea una nueva interfaz virtual que cuenta con 2 o más interfaces esclavas, las que conectarán fisicamente los equipos entre si. Su operación se establece en Capa 2, por lo que es capaz de transportar VLANs, IPv4 e IPv6

Standard 802.3ad

El Standard 802.3ad, exige igual velocidad y modo duplex (full/half) para todas las interfaces. Permite recibir paquetes por cualquiera de las interfaces esclavas y establece un balanceo de carga en base a la dirección MAC de origen o destino. No puede asegurar que el paquete se responda por el mismo puerto que llegó, que afortunadamente no representa mayor problema dado que las interfaces esclavas no son controladas por el equipo y finalmente el paquete se presenta con la interface virtual como origen. El estado de salud de las interfaces es monitoreado por medio de MII cada 100ms (configuración default). Con Link Aggregation Control Protocol (LACP) se estable la coordinación entre los equipos para establecer la agregación

Otros mecanismos de Balance de Carga no Standard

Existen diferentes mecanismos para la distribución de los paquetes entre las interfaces, fuera del standard LACP, con sus ventajas e inconveniente, y no todos hacen un balance de carga realmente, en el caso de Mikrotik, éstos se basan en el desarrollo de Linux, de los que podemos destacar:

Round-Robin
Consiste en alternear ordenadamente cada paquete por cada una de las interfaces esclavas
Active-Pasive
Entrega todo el tráfico por la interfaz activa, y solo en caso de falla de ésta, se comienza a entregar por alguna de las pasivas que pasa a ser activa. Aunque no existe una mejor en el ancho de banda, puede ser una buen opción para respaldo, cuando la interface esclava se encuentra en un tercer equipo, que incluso no requiere de una configuración de bonding en la contraparte.
Xor
Por medio del cálculo de un Hash se determina por que puerto se entregará el tráfico, asegurando que la comunicación se mantendrá por el mismo puerto. En algunos casos podrían utilizar datos de capa 3.
Broadcast
Solo establece un mecanismo de respaldo de rápida convergencia, donde los paquetes se duplican en todas las interfaces del bonding

Nuestro Escenario

Para éste ejercicio he decidido presentarles una implementación entre diferentes marcas, con lo que puede ayudarles a resolver puntualmente dicha problemática o extrapolar y poder implementar un Bonding entre 2 Mikrotik o un PortChannel entre 2 Cisco.

Mikrotik

Debemos notar que una de las grandes ventajas de los equipos Mikrotik, es que en general cuentan con el mismo software y las mismas funcionalidades, salvo que algunos modelos lo pueden implementar por Hardware y otros lo emulan por Software.

En éste caso utilizaremos el Router Mikrotik hEX S, aun siendo un router debemos recordar que igualmente posee características de swich. Cuenta con interfaces de 1000 mbps, pero estarán funcionando a 100 mbps por limitación de la contraparte.

Cisco

Por parte de Cisco, se cuenta con un Switch Catalyst 3350, con IOS 12.1 utilizando 2 puertos Fast-Ethernet para el Port Channel

Configuración

Mikrotik

Utilizaremos las interfaces ether3 y ether4 para el bonding, las que no deben ser parte de algún bridge, con norma 802.3ad para asegurar la compatibilidad, definido como

/interface bonding add mode=802.3ad name=bonding1 slaves=ether3,ether4 transmit-hash-policy=layer-2-and-3

Con ello se agrega la interface bonding1, la que puede ser manejada de la misma manera que una ethernet, definirle IPv4 y/o IPv6, incluida en un bridge, definir sus VLANs. Dejo como ejemplo su incorporación a un bridge y definición como modo Trunk para la VLANs 10, 20 y 30

/interface bridge port

add bridge=bridge interface=bonding1 internal-path-cost=8

/interface bridge vlan

add bridge=bridge comment="Usuarios" tagged=bridge,ether2,bonding1 vlan-ids=10

add bridge=bridge comment="Gerencia" tagged=bridge,ether2,bonding1 vlan-ids=20

add bridge=bridge comment="Administracion" tagged=bridge,ether2,bonding1 untagged=ether5 vlan-ids=30

Cisco

Por parte de Cisco, definiremos un Port Channel con las interfaces FastEthernet 0/13 y FastEthernet 0/14, con el modo "active" o "pasive" para utilizar 802.3ad de la forma:

ena

conf term

interface range fastethernet 0/13 - 14

channel-group 1 mode active

end

Se creará la interface PortChannel1 acorde el channel-group definido (channel-group 1...), sobre la cual posteriormente se puede definir como modo trunk para las VLANs

ena

conf term

interface po1

switchport trunk encapsulation dot1q

switchport trunk allowed vlan 10,20,30

switchport mode trunk

end

Para definir el criterio de balanceo, deberemos introducir el comando port-channel load-balance {src-mac | dst-mac }, aunque dependiendo del equipo podría ofrecer más opciones

Conclusión

El mecanismo de balanceo provisto en en 802.3ad no nos asegura poder sumar el tráfico de todas las interfaces esclavas, pero a lo menos da alguna opción de poder aumentar la tasa de transferencia cuando existen múltiples equipos transfiriendo información, dependiendo del algoritmo que escojamos para balancear, siempre considerado como tráfico de salida, Si el destino de nuestras comunicaciones es un Servidor o una Gateway, será mejor opción definir como criterio de balanceo el src-mac, y a la inversa, convendrá utilizar dst-mac, dado que el mayor conjunto de MACs nos dará más opciones de equilibrar entre las interfaces esclavas.

Los Bonding no son exclusivos para una red local, también es posible utilizarlos en enlaces WAN de Fibra Óptica en interfaces SFP o SFP+, si nuestro proveedor lo permite. Así mismo puede ser utilizado para la conexión de servidores, ya sean Unix, Linux o Microsoft Windows, de alta demanda.

Referencias

Escrito por: Luis Hernán de la Barra, 24/11/2019
Si tiene interés por alguno de éstos servicios u otro similar, por favor llene el formulario de contacto

Generado por Sistema y almacenado en cache

Wyzer
Luis Hernán de la Barra
Teléfono:   +56995451689
WhatsApp:   +56995451689
E-Mail:info@wyzer.cl
Web:www.wyzer.cl