Hashing resistente en GRUPOS LAG y ECMP
El hash resistente ayuda a minimizar la reaplicación del flujo en grupos de múltiples rutas de igual costo (ECMP) y LAG en un sistema equilibrado de carga. A continuación, se analiza el funcionamiento, el uso y la configuración de hash resistente en grupos de agregación de vínculos (LAG) y grupos ECMP.
Descripción del uso de hash resistente para minimizar la reaplicación de flujo en grupos LAG/ECMP
Se utiliza hash resistente para minimizar la reaplicación del flujo entre los miembros de un grupo LAG/ECMP en un sistema equilibrado de carga. Puede configurar hash resistente en grupos de agregación de vínculos (LAG) y en grupos multiruta de igual costo (ECMP).
- Por qué es posible que desee usar hash resistente y cómo funciona con el hash estático
- Limitaciones y advertencias para un hash resistente
- Hashing resistente en LAG
- Hashing resistente en ECMP
Por qué es posible que desee usar hash resistente y cómo funciona con el hash estático
El hash resistente funciona junto con el algoritmo de hash estático predeterminado. Cuando se agregan miembros a un grupo LAG/ECMP o se eliminan de ellos, el algoritmo de hash estático puede volver a asignar rutas de destino. Con hash resistente, las posibilidades de que se reaplica un flujo son mínimas si su ruta no se ve afectada por el cambio de miembro del grupo LAG/ECMP. Cuando un flujo se ve afectado por un cambio de miembro, el motor de reenvío de paquetes reequilibra el flujo mediante la reprogramación de la tabla de conjunto de flujos.
Por lo tanto, el hash resistente ofrece los siguientes beneficios:
Minimiza los desequilibrios de distribución de tráfico entre los miembros de un grupo LAG/ECMP cuando se agregan o eliminan miembros del grupo.
Minimiza el impacto en flujos vinculados a miembros no afectados cuando se agrega un miembro nuevo o se elimina un miembro existente del grupo.
En el equilibrio normal de carga basado en hash, con el algoritmo de hash estático utilizado solo, los flujos se asignan a los miembros mediante la operación matemática de mod (%) Cualquier aumento o disminución en el número de miembros del grupo da como resultado una reaplicación completa de los flujos a los IDENTIFICA de los miembros, como se muestra en el siguiente ejemplo:
ID de miembro = Hash (clave) mod (número de miembros en el grupo)
Ejemplo:
Hash (clave) = 10
10 mod 5 = 0 (el miembro con ID 0 se selecciona para el flujo)
10 mod 4 = 2 (el miembro con ID 2 se selecciona para el mismo flujo cuando el número de miembros se reduce en 1)
El hash resistente minimiza la reaplicación de la ruta de destino cuando se agrega o elimina un miembro del grupo LAG/ECMP.
Cuando el flujo se ve afectado por un cambio de miembro en el grupo, el hash resistente reequilibra el flujo mediante la reprogramación de la tabla de conjunto de flujos.
Tamaño del grupo LAG/ECMP |
Resultado de hash normal (estático) |
Resultado de hash resistente |
Notas |
---|---|---|---|
4 |
Hash(10) % 4 = 2 El flujo se asigna al ID de miembro 2. |
El flujo se asigna a uno de los cuatro miembros del grupo según las entradas de la tabla de conjunto de flujo. |
El tamaño del grupo original de LAG/ECMP es de 4. |
3 |
Hash(10) % 3 = 1 El flujo se asigna al ID de miembro 1. |
El flujo se asigna al mismo miembro que en el caso anterior. |
Elimine un miembro del grupo LAG/ECMP original. El tamaño del grupo LAG/ECMP es 3. |
5 |
Hash(10) % 5 = 0 El flujo se asigna al ID de miembro 0. |
Hay una redistribución mínima de flujos de otros miembros a este miembro recién agregado. |
Agregue un miembro al grupo LAG original. El tamaño del grupo LAG/ECMP es de 5. |
Limitaciones y advertencias para un hash resistente
Observe las siguientes limitaciones y advertencias para la función de hash resistente:
-
El hash resistente solo se aplica al tráfico de unidifusión.
-
El hash resistente admite un máximo de 1024 LAG, y cada grupo tiene un máximo de 256 miembros.
-
El hash resistente no garantiza que la distribución del tráfico sea uniforme entre todos los miembros del grupo: depende del patrón de tráfico y de la organización de la tabla establecida de flujo de hash resistente en el hardware. El hash resistente minimiza la reaplicación de flujos a los vínculos de destino cuando los miembros se agregan o se eliminan del grupo.
-
Si se habilita el hash resistente en un grupo LAG o ECMP y si
set forwarding-options enhanced-hash-key
con una de las opcioneshash-mode
,inet
,inet6
olayer2
se utiliza, algunos flujos podrían cambiar los vínculos de destino, ya que los nuevos parámetros hash podrían generar nuevos índices hash para los flujos y, por lo tanto, los nuevos vínculos de destino. -
El hash resistente no se admite en los vínculos del puerto virtual de chasis (VCP).
-
El hash resistente basado en LAG no se admite en conmutadores QFX5200 y QFX5210. Se admite hash resistente basado en ECMP en esos conmutadores.
Hashing resistente en LAG
Un LAG combina interfaces Ethernet (miembros) para formar un vínculo lógico punto a punto que aumenta el ancho de banda, proporciona confiabilidad y permite el equilibrio de carga. El hash resistente minimiza el comportamiento de reaplicación de destino cuando se agrega o elimina un nuevo miembro del LAG.
Una configuración de hash resistente en LAG está basada en interfaces por Ethernet agregada.
Hashing resistente en ECMP
Un grupo ECMP para una ruta contiene varias direcciones de costo iguales del salto del siguiente salto para el mismo destino en la tabla de enrutamiento. (Las rutas de igual costo tienen los mismos valores de preferencia y métricas.)
Junos OS usa el algoritmo de hash estático para elegir una de las direcciones del salto siguiente del grupo ECMP para instalar en la tabla de reenvío. El hash resistente mejora los ECMP al minimizar el comportamiento de reaplicación de destino cuando se agrega o elimina un nuevo miembro del grupo ECMP.
Una configuración de hash resistente en ECMP es global; se aplica a todos los grupos de ECMP.
Configuración de hash resistente para GRUPOS LAG/ECMP
Se utiliza hash resistente para minimizar la reaplicación del flujo entre los miembros de un grupo LAG/ECMP en un sistema equilibrado de carga. Puede configurar hash resistente en grupos de agregación de vínculos (LAG) y en conjuntos de múltiples rutas de igual costo (ECMP).
Este tema incluye lo siguiente:
Configuración de hash resistente en LAG
El hash resistente basado en LAG no se admite en conmutadores QFX5200 y QFX5210. Se admite hash resistente basado en ECMP en esos conmutadores.
Para habilitar hash resistente para un LAG:
Configuración de hash resistente en grupos ECMP
Para habilitar el hash resistente para grupos ECMP:
[edit forwarding-options] user@switch# set enhanced-hash-key ecmp-resilient-hash
Cuando se agrega o elimina un hash resistente, la distribución de tráfico entre todos los miembros de un grupo ECMP para un flujo determinado se reprograma y, como resultado, algunos flujos se pueden volver a aplicar a nuevos miembros del grupo ECMP.