Hashing resiliente em LAGs e grupos ECMP
O hashing resiliente ajuda a minimizar o remapping de fluxo entre grupos multicaminhos de custo igual (ECMP) e LAGs em um sistema equilibrado de carga. Os tópicos abaixo discutem o trabalho, o uso e a configuração de hashing resiliente em grupos de agregação de links (LAGs) e grupos ECMP.
Entender o uso de hashing resiliente para minimizar o remapping de fluxo em grupos LAGs/ECMP
Você usa hashing resiliente para minimizar o remapping de fluxo entre membros de um grupo LAG/ECMP em um sistema equilibrado de carga. Você pode configurar hashing resiliente em grupos de agregação de enlaces (LAGs) e em grupos de multicaminho de custo igual (ECMP).
- Por que você pode querer usar hashing resiliente e como funciona com hashing estático
- Limitações e ressalvas para hashing resiliente
- Hashing resiliente em LAGs
- Hashing resiliente no ECMP
Por que você pode querer usar hashing resiliente e como funciona com hashing estático
O hashing resiliente funciona em conjunto com o algoritmo padrão de hashing estático. Quando os membros são adicionados ou excluídos de um grupo LAG/ECMP, o algoritmo de hashing estático pode remapar caminhos de destino. Com hashing resiliente, as chances de um fluxo ser remado são mínimas se seu caminho não for afetado pela mudança de membro do grupo LAG/ECMP. Quando um fluxo é afetado por uma mudança de membro, o Mecanismo de Encaminhamento de Pacotes reequilibra o fluxo reprogramando a tabela de conjunto de fluxo.
O hashing resiliente, portanto, oferece os seguintes benefícios:
Minimiza os desequilíbrios de distribuição de tráfego entre membros de um grupo LAG/ECMP quando os membros são adicionados ou excluídos do grupo.
Minimiza o impacto nos fluxos vinculados a membros não afetados quando um novo membro é adicionado ou um membro existente é excluído do grupo.
No balanceamento de carga baseado em hash normal, com o algoritmo de hashing estático usado sozinho, os fluxos são atribuídos aos membros através da operação matemática mod (%). Qualquer aumento ou redução no número de membros do grupo resulta em um remapping completo de fluxos para os IDs dos membros, como mostrado no exemplo a seguir:
ID do membro = Hash (chave) mod (número de membros em grupo)
Exemplo:
Hash (chave) = 10
10 mod 5 = 0 (membro com ID 0 é selecionado para fluxo)
10 mod 4 = 2 (membro com ID 2 é selecionado para o mesmo fluxo quando o número de membros é reduzido em 1)
O hashing resiliente minimiza o remapping do caminho de destino quando um membro do grupo LAG/ECMP é adicionado ou excluído.
Quando o fluxo é afetado por uma mudança de membro no grupo, o hashing resiliente reequilibra o fluxo reprogramando a tabela de fluxo.
Tamanho do grupo LAG/ECMP |
Resultado normal (estático) de hashing |
Resultado de hashing resiliente |
Notas |
---|---|---|---|
4 |
Hash(10) % 4 = 2 Fluxo é atribuído ao membro ID 2. |
O fluxo é atribuído a um dos quatro membros do grupo com base nas entradas da tabela de fluxo. |
O tamanho original do grupo LAG/ECMP é 4. |
3 |
Hash(10) % 3 = 1 Fluxo é atribuído ao membro ID 1. |
O fluxo é atribuído ao mesmo membro do caso anterior. |
Exclua um membro do grupo LAG/ECMP original. O tamanho do grupo LAG/ECMP é 3. |
5 |
Hash(10) % 5 = 0 Flow é atribuído ao ID 0 membro. |
Há uma redistribuição mínima de fluxos de outros membros para este membro recém-adicionado. |
Adicione um membro ao grupo LAG original. O tamanho do grupo LAG/ECMP é 5. |
Limitações e ressalvas para hashing resiliente
Observe a seguinte limitação e ressalvas para o recurso de hashing resiliente:
-
O hashing resiliente se aplica apenas ao tráfego unicast.
-
O hashing resiliente suporta um máximo de 1024 LAGs, com cada grupo tendo um máximo de 256 membros.
-
O hashing resiliente não garante que a distribuição de tráfego esteja mesmo entre todos os membros do grupo, dependendo do padrão de tráfego e da organização da tabela de conjunto de fluxo de hashing resiliente no hardware. O hashing resiliente minimiza o remapping de fluxos para links de destino quando os membros são adicionados ou excluídos do grupo.
-
Se o hashing resiliente for habilitado em um grupo LAG ou ECMP e se
set forwarding-options enhanced-hash-key
tiver uma das opçõeshash-mode
,inet6
inet
oulayer2
for usado, alguns fluxos podem mudar os links de destino, porque os novos parâmetros de hash podem gerar novos índices de hash para os fluxos e, portanto, os novos links de destino. -
O hashing resiliente não é suportado em links de porta Virtual Chassis (VCP).
-
O hashing resiliente baseado em LAG não é suportado nos switches QFX5200 e QFX5210. O hashing resiliente baseado em ECMP é suportado nesses switches.
Hashing resiliente em LAGs
Um LAG combina interfaces Ethernet (membros) para formar um enlace lógico ponto a ponto que aumenta a largura de banda, fornece confiabilidade e permite o balanceamento de carga. O hashing resiliente minimiza o comportamento de remapping de destino quando um novo membro é adicionado ou excluído do LAG.
Uma configuração de hashing resiliente nos LAGs é baseada em interface Ethernet agregada.
Hashing resiliente no ECMP
Um grupo de ECMP para uma rota contém vários endereços de custo igual de next-hop para o mesmo destino na tabela de roteamento. (Rotas de custo igual têm os mesmos valores de preferência e métrica.)
O Junos OS usa o algoritmo de hashing estático para escolher um dos endereços next-hop do grupo ECMP para instalar na tabela de encaminhamento. O hashing resiliente melhora os ECMPs, minimizando o comportamento de remapeamento de destino quando um novo membro é adicionado ou excluído do grupo ECMP.
Uma configuração de hashing resiliente no ECMP é global— ela se aplica a todos os grupos de ECMP.
Configuração de hashing resiliente para lags/grupos ECMP
Você usa hashing resiliente para minimizar o remapping de fluxo entre membros de um grupo LAG/ECMP em um sistema equilibrado de carga. Você pode configurar hashing resiliente em grupos de agregação de enlaces (LAGs) e em conjuntos de multicaminho de custo igual (ECMP).
Este tópico inclui:
Configuração de hashing resiliente em LAGs
O hashing resiliente baseado em LAG não é suportado nos switches QFX5200 e QFX5210. O hashing resiliente baseado em ECMP é suportado nesses switches.
Para permitir hashing resiliente para um LAG:
Configuração de hashing resiliente em grupos de ECMP
Para permitir hashing resiliente para grupos ECMP:
[edit forwarding-options] user@switch# set enhanced-hash-key ecmp-resilient-hash
Quando o hashing resiliente é adicionado ou removido, a distribuição de tráfego em todos os membros de um grupo de ECMP para um determinado fluxo é reprogramada e, como resultado, alguns fluxos podem ser rematados para novos membros do grupo ECMP.