Índice
¿Qué es la ruta múltiple de igual costo (ECMP)?
Sintaxis
de configuración
Ejemplo
Gol
Topología
Ejemplo de configuración
La ruta múltiple de igual costo (ECMP) es una estrategia de enrutamiento de capa 3 para reenviar el tráfico a un destino mediante varias rutas disponibles. ECMP aumenta la cantidad de rutas a un destino y aumenta el ancho de banda disponible para llegar al destino. El mecanismo ECMP permite el balanceo de carga y un mayor ancho de banda mediante el uso de enlaces y ancho de banda no utilizados.
Aplicación de hash de
ECMPSe requieren diferentes seeds de hash en diferentes niveles para evitar la polarización del tráfico en la topología de red del centro de datos del tamaño del árbol. En SONiC, utilizamos algoritmos de hash distintos para ECMP y LAG de manera predeterminada, por lo que la configuración de la raíz de hash es todo lo que se requiere.
A pesar de que ECMP puede aumentar la cantidad de enlaces disponibles, todas las rutas disponibles deben compartirse estrechamente con la carga, de modo que ninguna ruta esté sobreutilizada o infrautilizada. Puede modificar los parámetros de hash de recurso compartido de carga de IP ECMP para afectar el uso compartido de carga de tráfico en varias rutas disponibles. Para obtener un uso compartido de carga óptimo de ECMP, configure ECMP en todos los dispositivos que residen entre el origen y el destino.
Una mejor práctica es configurar diferentes parámetros de balanceo de carga en cada nivel en función del patrón de tráfico único en la red, si es necesario. Por ejemplo, en el enrutador A, los campos hash para el balanceo de carga podrían incluir source-ip, dest-ip, protocol, source-port y L4-dest-port, mientras que en el enrutador B, los campos hash solo podían usar source-ip, dest-ip y protocol.
Configure la raíz hash de ECMP.
Configure un valor de inicialización de hash único para cada dispositivo a fin de evitar la polarización de hash, lo que puede provocar la congestión de la red. La polarización de red puede ocurrir cuando varios flujos de datos intentan llegar a un switch utilizando los mismos puertos de switch.
Sintaxis de configuración |
Explicación |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash { seed-value }
|
Configure la raíz hash. El valor del valor de raíz es de 0 a 16777215. |
Activación de múltiples rutas en la configuración de BGP
Sintaxis de configuración |
Explicación |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths {number}
|
Configure la cantidad máxima de rutas eBGP que se pueden seleccionar para formar rutas de múltiples rutas de igual costo (ECMP) para el uso compartido de carga. |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp {as-number}
DELLSONiC (conf-router-bgp)# address-family {ipv4 unicast | ipv6 unicast}
DELLSONiC (conf-router-bgp-af)# maximum-paths ibgp {number} |
Configure la cantidad máxima de rutas iBGP que se pueden seleccionar para formar rutas de múltiples rutas de igual costo (ECMP) para el uso compartido de carga. |
Configure el hash de recurso compartido de carga de ECMP para IPv4 (opcional).
Sintaxis de configuración |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv4 {ipv4-src-ip | ipv4-dst-ip | ipv4-ip-proto | ipv4-l4-src-port| ipv4-l4-dst-port | symmetric}
|
Configure el hash de recurso compartido de carga de ECMP para IPv6 (opcional).
Sintaxis de configuración |
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash ipv6 {ipv6-src-ip | ipv6-dst-ip | ipv6-next-hdr | ipv6-l4-src-port| ipv6-l4-dst-port | symmetric}
|
Tenga en cuenta que el switch SONiC de Dell tiene dos rutas de BGP para alcanzar las rutas 4.4.4.4/32. Debemos usar ECMP para llegar a 4.4.4.4/32 y utilizar ambas rutas simultáneamente.
Podemos ver la ruta anunciada por los vecinos BGP a nuestro switch para llegar a un host o subred, usar el comando show bgp ipv4 unicast <host/subnet>. A continuación, se muestra un ejemplo de salida
DELLSONiC# show bgp ipv4 unicast 4.4.4.4
Entrada de la tabla de enrutamiento BGP para 4.4.4.4/32
Caminos: (2 disponibles, mejor n.º 2, tabla predeterminada)
200
10.0.0.2 desde 10.0.0.2 (20.0.0.1)
Origen incompleto, métrica 0, válida, externa, múltiples rutas
Última actualización: 2023-12-25 14:34:55+0000
200
30.0.0.2 desde 30.0.0.2 (30.0.0.2)
Origen incompleto, métrica 0, válida, externa, múltiples rutas, best (ruta más antigua)
Última actualización: 2023-12-25 14:34:55+0000 |
|
Activemos ECMP.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# ip load-share hash seed 100
|
Configuremos la ruta BGP máxima a 2, ya que tenemos dos rutas.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure
DELLSONiC(config)# router bgp 100
DELLSONiC(config-router-bgp)# address-family ipv4 unicast
DELLSONiC(config-router-bgp-af)# maximum-paths 2 |
Para verificar si ambas rutas están instaladas en la tabla de enrutamiento, utilice el siguiente comando:
show ip route <hopst/subnet>
DELLSONiC# show ip route 4.4.4.4
Codes: K - kernel route, C - connected, S - static, B - BGP, O - OSPF
> - selected route, * - FIB route, q - queued route, r - rejected route
Destination Gateway Dist/Metric Last Update
--------------------------------------------------------------------------------------------------------------------------------
B>* 4.4.4.4/32 via 10.0.0.2 Eth1/1 20/0 03:02:41 ago
* via 30.0.0.2 Eth1/2
|