ECMP (Equal Cost Multi-Path) es una técnica de enrutamiento que permite a un router distribuir el tráfico entre múltiples rutas de igual costo hacia un mismo destino.
Esto puede mejorar el rendimiento y la redundancia de la red al utilizar de manera más eficiente el ancho de banda disponible y proporcionar rutas alternativas en caso de fallo de un enlace.
Al final del artículo encontrarás un pequeño test que te permitirá evaluar los conocimientos adquiridos en esta lectura
Las rutas ECMP pueden configurarse de dos formas principales:
- ECMP estático: Se definen manualmente múltiples rutas de igual costo en la tabla de enrutamiento, lo que resulta útil para balancear el tráfico entre proveedores de internet o enlaces internos en la red.
- ECMP dinámico: Se genera automáticamente mediante protocolos de enrutamiento dinámico como OSPF (Open Shortest Path First). Estos protocolos calculan las mejores rutas disponibles y permiten ajustar dinámicamente la distribución del tráfico según las condiciones de la red.
¿Cómo funciona ECMP en MikroTik V6?
MikroTik, en su sistema operativo RouterOS v6, soporta ECMP para balancear tráfico a través de varias puertas de enlace.
Ejemplo de configuración de ECMP MikroTik V6
Para implementar ECMP en MikroTik, se deben definir varias rutas con el mismo costo. Un ejemplo básico de configuración es el siguiente:
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1, 192.168.2.1
Implementación grafica
¿Cómo funciona ECMP en MikroTik V7?
La función de enrutamiento de rutas múltiples de igual costo (ECMP) es una técnica de enrutamiento que permite que el tráfico se equilibre en varias rutas de igual costo hacia un único destino. Los protocolos de enrutamiento tradicionales determinan una sola ruta óptima para reenviar paquetes a un destino
En MikroTik, ECMP se implementa a través de la configuración de múltiples rutas con la misma distancia administrativa. Cuando hay varias rutas disponibles para un destino, el router utiliza un algoritmo hash para distribuir el tráfico entre ellas. Este algoritmo tiene en cuenta diferentes parámetros, como la dirección IP de origen y destino, los puertos y el protocolo utilizado.
En RouterOS, la funcionalidad ECMP se habilita por defecto cuando hay varias rutas con la misma distancia administrativa y métrica hacia el mismo destino, RouterOS las utilizará todas de manera equitativa para el balanceo de carga.
Ejemplo de configuración de ECMP MikroTik V7
Suponga que tiene dos enlaces WAN y desea utilizar ECMP para balancear el tráfico entre ellos.
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1
add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=1
Funcionamiento de ECMP en el Envío de Paquetes
1. Identificación de Rutas de Igual Costo
- Los protocolos de enrutamiento como OSPF, rutas estáticas identifican múltiples rutas con el mismo costo hacia un destino.
- Estas rutas se almacenan en la tabla de enrutamiento del router.
2. Algoritmo de Selección de Ruta para el Envío de Paquetes
Una vez que el router tiene múltiples rutas de igual costo, debe decidir por cuál enviar cada paquete. Para ello, usa diferentes métodos de balanceo:
a. Hashing basado en flujo (Flow-Based Hashing)
- Se calcula un valor hash basado en ciertos campos del paquete, como:
- Dirección IP de origen y destino
- Número de puerto origen y destino
- Protocolo de transporte (TCP/UDP)
- Este hash se usa para asignar siempre el mismo flujo de paquetes a la misma ruta, evitando problemas de reordenamiento.
b. Round-Robin (Menos común)
- Cada paquete se envía de manera secuencial por una de las rutas disponibles.
- Puede generar reordenamiento de paquetes en tráfico TCP, por lo que no se usa ampliamente.
c. Balanceo de Carga Adaptativo (Dynamic Load Balancing)
- Algunos routers monitorean el tráfico en cada enlace y ajustan dinámicamente el balanceo para evitar congestión.
- Se basa en la medición del uso de ancho de banda o la latencia.
3. Envío del Paquete
- Una vez seleccionada la ruta, el paquete se reenvía por el enlace correspondiente.
- La decisión se toma en cada router a lo largo del camino hacia el destino.
Importancia del balanceo ECMP
El enrutamiento ECMP es una técnica valiosa para mejorar el rendimiento y la fiabilidad de las redes. Permite que el tráfico se distribuya de manera equitativa a través de múltiples rutas, mejorando así la utilización del ancho de banda y proporcionando redundancia en caso de fallos en la red.
Cuando un paquete debe ser encaminado, el router selecciona una de las rutas ECMP disponibles. Esta elección puede basarse en diferentes algoritmos de distribución, como:
- Hashing por flujo: Se asigna cada flujo de tráfico a una ruta específica para evitar la reordenación de paquetes.
- Round-robin: Distribuye los paquetes de manera equitativa entre las rutas disponibles.
- Carga adaptativa: Ajusta dinámicamente en caso de ser generada por un protocolo de enrutamiento dinámico, si las rutas son estáticas se puede ajustar de forma manual la asignación de tráfico según la carga de cada enlace.
a. Balanceo de carga
Al utilizar varias rutas en paralelo, ECMP distribuye el tráfico de manera eficiente, evitando congestiones en enlaces individuales y mejorando la utilización de los recursos de la red.
b. Redundancia y tolerancia a fallos
Si una de las rutas falla, los paquetes pueden ser redirigidos automáticamente a otra ruta disponible sin necesidad de recalcular la tabla de enrutamiento. Esto mejora la resiliencia de la red.
c. Mejora en la latencia y rendimiento
En entornos de centros de datos y redes de alto tráfico, ECMP ayuda a reducir la latencia y aumentar el ancho de banda disponible mediante el uso de múltiples rutas simultáneamente.
d. Escalabilidad
ECMP permite a las redes escalar horizontalmente al agregar más enlaces paralelos sin necesidad de aumentar la complejidad del enrutamiento.
Problemáticas de las rutas ECMP
Desorden de paquetes
Aunque el enrutamiento ECMP puede mejorar el rendimiento de la red, también puede llevar a un desorden de paquetes. Esto sucede porque diferentes rutas pueden tener diferentes tiempos de latencia, lo que puede resultar en que los paquetes lleguen al destino en un orden diferente al que fueron enviados.
Complejidad de la configuración y el monitoreo
La configuración y el monitoreo de múltiples rutas ECMP puede ser más complejo que administrar una única ruta. Es importante tener en cuenta esta complejidad al implementar ECMP.
Algoritmos de selección de ruta
En función del tipo de tráfico y del algoritmo de equilibrio de carga utilizado, ECMP puede no distribuir el tráfico de manera uniforme en todas las rutas, lo que puede llevar a una utilización ineficaz de los recursos.
Métodos de balanceo de carga ECMP, PCC y NTH
Característica | ECMP (Equal Cost Multi-Path) | PCC (Per Connection Classifier) | NTH (Nth) |
Concepto básico | Distribuye el tráfico entre múltiples rutas de igual costo. | Clasifica las conexiones y distribuye el tráfico según reglas. | Asigna paquetes secuencialmente a diferentes enlaces. |
Ventajas | Fácil de configurar. Balanceo automático y eficiente. Failover automático si un enlace falla. | Control detallado del balanceo. Permite mantener sesiones en el mismo enlace. Altamente personalizable. | Simple de implementar. Distribuye nuevos paquetes equitativamente. |
Desventajas | No es ideal para enlaces de diferente ancho de banda. Puede no mantener el orden de los paquetes en una sesión. | Requiere configuración más compleja. Mayor consumo de recursos del router. | No es ideal para aplicaciones que requieren el mismo enlace para una sesión. Puede causar desorden de paquetes. |
Adecuado para | Enlaces de igual ancho de banda. Tráfico que no requiere mantener el orden de los paquetes. | Enlaces de diferente ancho de banda. Aplicaciones que requieren mantener la misma ruta para una sesión (ej: banca online, juegos). | Distribución equitativa de nuevos paquetes. Enlaces con capacidades similares. |
Ejemplo de uso | Dos enlaces de fibra óptica de 100 Mbps. | Un enlace de fibra de 100 Mbps y un enlace ADSL de 20 Mbps o enlaces de iguales capacidades. | Múltiples enlaces de igual capacidad para distribuir nuevos paquetes. |
Conclusión
En resumen, ECMP en MikroTik es una herramienta poderosa para optimizar el rendimiento y la disponibilidad de redes al distribuir el tráfico entre múltiples rutas de igual costo.
Su implementación adecuada permite un uso más eficiente del ancho de banda y proporciona redundancia en caso de fallos en la red. Sin embargo, es crucial considerar los desafíos potenciales, como el desorden de paquetes y la complejidad en la configuración, y realizar un monitoreo continuo para asegurar el máximo rendimiento y evitar problemas con sesiones persistentes.
Elección entre ECMP, PCC y NTH
Dependerá de las necesidades específicas de la red:
- ECMP: Simple de configurar, ideal para enlaces de igual ancho de banda y tráfico que no requiere mantener el orden de los paquetes.
- PCC: Mayor control y personalización, adecuado para enlaces de diferente ancho de banda y aplicaciones que requieren mantener la misma ruta para una sesión.
- NTH: Sencillo de implementar, útil para distribuir nuevas conexiones equitativamente en enlaces con capacidades similares.
En última instancia, la implementación exitosa de ECMP en MikroTik requiere una comprensión profunda de sus capacidades, limitaciones y la topología de la red, así como una planificación cuidadosa y un monitoreo constante para garantizar un rendimiento óptimo y una conectividad confiable.
Breve cuestionario de conocimientos
¿Qué te pareció este artículo?
¿Te atreves a evaluar tus conocimientos aprendidos?
Libros recomendados para éste artículo
(Book) Networking with MikroTik RouterOS: A Practical Approach to Understanding and Implementing RouterOS
Study material for the MTCNA Certification Course, updated to RouterOS v7
Libro Ruteo Avanzado RouterOS v7
Material de estudio para el Curso de Certificación MTCRE, actualizado a RouterOS v7










