Balanceamento de carga para interfaces de ethernet agregadas
O balanceamento de carga é feito na Camada 2 em todos os links de membros, tornando a configuração melhor sem congestionamento e mantendo a redundância. Os tópicos abaixo discutem a visão geral do balanceamento de carga, configuração do balanceamento de carga com base em endereços MAC e no link LAG, entendendo a consistência por meio de hashing resiliente.
Balanceamento de carga e visão geral da agregação de enlaces Ethernet
Você pode criar um grupo de agregação de enlaces (LAG) para um grupo de portas Ethernet. O tráfego de ponte de camada 2 é equilibrado em todos os links de membros deste grupo, tornando a configuração atraente para preocupações de congestionamento, bem como para redundância. Cada pacote LAG contém até 16 links. (O suporte da plataforma depende da versão do Junos OS em sua instalação.)
Para pacotes LAG, o algoritmo de hashing determina como o tráfego que entra em um pacote LAG é colocado nos links de membro do pacote. O algoritmo de hashing tenta gerenciar a largura de banda equilibrando uniformemente todo o tráfego de entrada nos links de membros do pacote. O modo hash do algoritmo de hashing é definido para carga de Camada 2 por padrão. Quando o modo hash é definido para carga útil de Camada 2, o algoritmo de hashing usa os campos de carga IPv4 e IPv6 para hashing. Você também pode configurar a chave de hash de balanceamento de carga para tráfego de Camada 2 para usar campos nos cabeçalhos de Camada 3 e Camada 4 usando a payload
declaração. No entanto, observe que o comportamento de balanceamento de carga é específico da plataforma e baseado em configurações apropriadas de hash-key.
Para obter mais informações, veja Configurando o balanceamento de carga em um link LAG. Em um switch de Camada 2, um link é superutilizado e outros links são subutilizados.
Configuração do balanceamento de carga com base em endereços MAC
O mecanismo chave de hash para balanceamento de carga usa informações de controle de acesso de mídia (MAC) de Camada 2, como fonte de quadro e endereço de destino. Para equilibrar o tráfego com base nas informações MAC da Camada 2, inclua a multiservice
declaração no [edit forwarding-options hash-key]
nível ou [edit chassis fpc slot number pic PIC number hash-key]
hierarquia:
multiservice { source-mac; destination-mac; payload { ip { layer3-only; layer-3 (source-ip-only | destination-ip-only); layer-4; inner-vlan-id; outer-vlan-id; } } }
Use o Feature Expolorer para confirmar o suporte de plataforma e versão para recursos específicos.
Analise a seção de comportamento de balanceamento de carga com base em endereço MAC específico da plataforma para obter notas relacionadas à sua plataforma.
Para incluir as informações MAC de endereço de destino na chave de hash, inclua a opção destination-mac
. Para incluir as informações MAC de endereço de origem na chave de hash, inclua a opção source-mac
.
-
Quaisquer pacotes que tenham o mesmo endereço de origem e destino serão enviados pelo mesmo caminho.
-
Você pode configurar o balanceamento de carga por pacote para otimizar os fluxos de tráfego EVPN em vários caminhos.
-
Os links agregados de membros da Ethernet agora usarão o endereço MAC físico como endereço MAC de origem em pacotes OAM de 802,3ah.
Comportamento de balanceamento de carga baseado em endereço MAC específico da plataforma
Plataforma |
Diferença |
---|---|
Série ACX |
os roteadores da Série ACX7000 oferecem suporte a hashing simétrico. Por exemplo, você precisa configurar as Observe o seguinte sobre o hashing em roteadores da Série ACX7000:
|
Veja também
Configuração do balanceamento de carga em um link LAG
Você pode configurar a chave de hash de balanceamento de carga para tráfego de Camada 2 para usar campos nos cabeçalhos de Camada 3 e Camada 4 dentro da carga de quadro para fins de balanceamento de carga usando a payload
declaração. Você pode configurar a declaração para analisar os campos de cabeçalho de pacotes de camada 3 (e somente ip de origem ou destino ip ) ou campos de camada 4 . Você configura essa declaração no nível de [edit forwarding-options hash-key family multiservice]
hierarquia.
Você pode configurar opções de Camada 3 ou Camada 4, ou ambas. As opções somente de ip de origem ou de destino somente ip são mutuamente exclusivas. A layer-3-only
declaração não está disponível nos roteadores da Série MX.
Por padrão, a implementação do Junos do 802.3ad equilibra o tráfego entre os links de membros em um pacote Ethernet agregado com base nas informações de Camada 3 transportadas no pacote.
Para obter mais informações sobre a configuração do grupo de agregação de links (LAG), consulte a Biblioteca de interfaces de rede do Junos OS para dispositivos de roteamento.
Exemplo: configuração do balanceamento de carga em um link LAG
Este exemplo configura a chave de hash de balanceamento de carga para usar a opção de endereço IP de Camada 3 de origem e campos de cabeçalho de Camada 4, bem como os endereços MAC de origem e destino para balanceamento de carga em um link de grupo de agregação de links (LAG):
[edit] forwarding-options { hash-key { family multiservice { source-mac; destination-mac; payload { ip { layer-3 { source-ip-only; } layer-4; } } } } }
Qualquer mudança na configuração de chave de hash requer uma reinicialização do FPC para que as mudanças entrem em vigor.
Entendendo o balanceamento de carga multicast em links agregados de 10 Gigabits para tráfego multicast roteado em switches EX8200
A tecnologia de streaming de vídeo foi introduzida em 1997. Os protocolos multicast foram posteriormente desenvolvidos para reduzir a replicação de dados e as sobrecargas de rede. Com a multicasting, os servidores podem enviar um único fluxo para um grupo de destinatários em vez de enviar vários fluxos unicast. Embora o uso da tecnologia de streaming de vídeo tenha sido anteriormente limitado a apresentações pontuais da empresa, a multicasting proporcionou um impulso à tecnologia que resultou em um fluxo constante de filmes, dados em tempo real, clipes de notícias e vídeos amadores fluindo sem parar para computadores, TVs, tablets e telefones. No entanto, todos esses fluxos rapidamente sobrecarregaram a capacidade do hardware da rede e o aumento das demandas de largura de banda, levando a blips e gaguejos inaceitáveis na transmissão.
Para satisfazer as crescentes demandas de largura de banda, vários links foram virtualmente agregados para formar canais de link lógicos maiores de ponto a ponto para o fluxo de dados. Essas combinações de links virtuais são chamadas de interfaces multicast, também conhecidas como grupos de agregação de enlaces (LAGs).
O balanceamento de carga multicast envolve o gerenciamento dos links individuais em cada LAG para garantir que cada link seja usado de forma eficiente. Os algoritmos de hashing avaliam continuamente o fluxo de dados, ajustando a distribuição de fluxo nos links no LAG para que nenhum link seja subutilizado ou superutilizado. O balanceamento de carga multicast é habilitado por padrão nos switches de ethernet EX8200 da Juniper Networks.
Este tópico inclui:
- Crie LAGs para multicasting em incrementos de 10 Gigabits
- Quando devo usar o balanceamento de carga multicast?
- Como funciona o balanceamento de carga multicast?
- Como implemento o balanceamento de carga multicast em um switch EX8200?
Crie LAGs para multicasting em incrementos de 10 Gigabits
O tamanho máximo do enlace em um switch EX8200 é de 10 gigabits. Se você precisar de um link maior em um switch EX8200, você pode combinar até doze links de 10 gigabits. Na topologia da amostra mostrada na Figura 1, quatro links de 10 gigabits foram agregados para formar cada link de 40 gigabits.
Quando devo usar o balanceamento de carga multicast?
Use um LAG com balanceamento de carga multicast quando precisar de um link downstream superior a 10 gigabits. Essa necessidade surge frequentemente quando você atua como um provedor de serviços ou quando você multicast vídeo para um grande público.
Para usar o balanceamento de carga multicast, você precisa do seguinte:
Um switch EX8200 — switches autônomos oferecem suporte a balanceamento de carga multicast, enquanto o Virtual Chassis não.
Uma configuração multicast roteada de Camada 3 — Para obter informações sobre a configuração de multicasting, consulte o Guia de configuração de protocolos de roteamento do Junos OS.
Links agregados de 10 gigabits em um LAG — Para obter informações sobre a configuração de LAGs com balanceamento de carga multicast, veja configuração do balanceamento de carga multicast para uso com links Ethernet agregados de 10 Gigabits em switches EX8200 (procedimento CLI).
Como funciona o balanceamento de carga multicast?
Quando o tráfego pode usar vários links de membros, o tráfego que faz parte do mesmo fluxo deve estar sempre no mesmo link.
O balanceamento de carga multicast usa um dos sete algoritmos de hashing disponíveis e uma técnica chamada shuffling de fila (alternando entre duas filas) para distribuir e equilibrar os dados, direcionando fluxos sobre todos os links agregados disponíveis. Você pode selecionar um dos sete algoritmos ao configurar o balanceamento de carga multicast, ou pode usar o algoritmo padrão, crc-sgip, que usa um algoritmo de verificação de redundância cíclica (CRC) no endereço IP de grupo de pacotes multicast. Recomendamos que você comece com o padrão crc-sgip e experimente outras opções se este algoritmo não distribuir uniformemente o tráfego multicast roteado de Camada 3. Seis dos algoritmos são baseados no valor hashed dos endereços IP (IPv4 ou IPv6) e produzirão o mesmo resultado cada vez que forem usados. Apenas a opção de modo equilibrado produz resultados que variam dependendo da ordem em que os fluxos são adicionados. Consulte a Tabela 1 para obter mais informações.
Algoritmos de hashing |
Com base em |
Melhor uso |
---|---|---|
crc-sgip |
Verificação de redundância cíclica do endereço IP de fonte e grupo de pacotes multicast |
Padrão — gerenciamento de alto desempenho do tráfego IP na rede Ethernet de 10 Gigabits. Atribuição previsível ao mesmo link de cada vez. Este modo é complexo, mas gera um bom hash distribuído. |
crc-gip |
Verificação de redundância cíclica do endereço IP de grupo de pacotes multicast |
Atribuição previsível ao mesmo link de cada vez. Experimente este modo quando o crc-sgip não distribuir uniformemente o tráfego multicast roteado de Camada 3 e os endereços IP do grupo variarem. |
crc-sip |
Verificação de redundância cíclica do endereço IP de origem dos pacotes multicast |
Atribuição previsível ao mesmo link de cada vez. Experimente este modo quando o crc-sgip não distribuir uniformemente o tráfego multicast roteado de Camada 3 e as fontes de fluxo variarem. |
sgip simples |
Cálculo XOR do endereço IP de fonte e grupo de pacotes multicast |
Atribuição previsível ao mesmo link de cada vez. Este é um método de hashing simples que pode não render nem mesmo uma distribuição quanto o crc-sgip rende. Experimente este modo quando o crc-sgip não distribuir uniformemente o tráfego multicast roteado de Camada 3. |
simplão gip |
Cálculo XOR do endereço IP de grupo de pacotes multicast |
Atribuição previsível ao mesmo link de cada vez. Este é um método de hashing simples que pode não render nem mesmo uma distribuição quanto o crc-gip rende. Experimente isso quando o crc-gip não distribuir uniformemente o tráfego multicast roteado de Camada 3 e os endereços IP do grupo variarem. |
simples de beber |
Cálculo XOR do endereço IP de origem de pacotes multicast |
Atribuição previsível ao mesmo link de cada vez. Este é um método de hashing simples que pode não render nem mesmo uma distribuição quanto os rendimentos do crc-sip. Experimente este modo quando o crc-sip não distribuir uniformemente o tráfego multicast roteado de Camada 3 e as fontes de fluxo variam. |
balanceado |
Método de cálculo round-robin usado para identificar links multicast com a menor quantidade de tráfego |
O melhor equilíbrio é alcançado, mas você não pode prever qual link será usado consistentemente porque isso depende da ordem em que os fluxos ficam on-line. Use quando a atribuição consistente não for necessária após cada reinicialização. |
Como implemento o balanceamento de carga multicast em um switch EX8200?
Para implementar o balanceamento de carga multicast com um nível otimizado de taxa de transferência em um switch EX8200, siga essas recomendações:
Permita 25% de largura de banda não utilizada no link agregado para acomodar quaisquer desabalos dinâmicos devido a mudanças de enlace causadas pelo compartilhamento de interfaces multicast.
Para links downstream, use interfaces multicast do mesmo tamanho sempre que possível. Além disso, para links agregados downstream, a taxa de transferência é otimizada quando os membros do link agregado pertencem aos mesmos dispositivos.
Para links agregados upstream, use um link de Camada 3 sempre que possível. Além disso, para links agregados upstream, a taxa de transferência é otimizada quando os membros do link agregado pertencem a diferentes dispositivos.
Veja também
Exemplo: configuração do balanceamento de carga multicast para uso com interfaces ethernet agregadas de 10 Gigabits em switches EX8200
Os switches EX8200 oferecem suporte a balanceamento de carga multicast em grupos de agregação de enlaces (LAGs). O balanceamento de carga multicast distribui uniformemente o tráfego multicast roteado de Camada 3 pelos LAGs, você pode agregar até doze links Ethernet de 10 gigabits para formar um link virtual ou LAG de 120 gigabits. O cliente MAC pode tratar este link virtual como se fosse um único link para aumentar a largura de banda, fornecer degradação graciosa à medida que ocorrem falhas de enlace e aumentar a disponibilidade. Nos switches EX8200, o balanceamento de carga multicast é habilitado por padrão. No entanto, se ele for explicitamente desativado, você pode reenable-lo. .
Uma interface com um endereço IP já configurado não pode fazer parte do LAG.
Apenas switches autônomos EX8200 com links de 10 gigabits oferecem suporte a balanceamento de carga multicast. O Virtual Chassis não oferece suporte a balanceamento de carga multicast.
Este exemplo mostra como configurar um LAG e um balanceamento de carga multicast reenável:
Requisitos
Este exemplo usa os seguintes componentes de hardware e software:
Dois switches EX8200, um usado como switch de acesso e outro usado como switch de distribuição
Versão 12.2 ou posterior do Junos OS para switches da Série EX
Antes de começar:
Configure quatro interfaces de 10 gigabits no switch de distribuição EX8200: xe-0/1/0, xe-1/1/0, xe-2/1/0 e xe-3/1/0. Veja configuração das interfaces de ethernet gigabit (procedimento CLI).
Visão geral e topologia
O balanceamento de carga multicast usa um dos sete algoritmos de hashing para equilibrar o tráfego entre os links individuais de 10 gigabits no LAG. Para obter uma descrição dos algoritmos de hashing, veja o equilíbrio entre cargas multicast. O algoritmo de hashing padrão é crc-sgip. Você pode experimentar os diferentes algoritmos de hashing até determinar o que melhor equilibra o seu tráfego multicast roteado de Camada 3.
Quando um link maior que 10 gigabits é necessário em um switch EX8200, você pode combinar até doze links de 10 gigabits para criar mais largura de banda. Este exemplo usa o recurso de agregação de links para combinar quatro links de 10 gigabits em um link de 40 gigabits no switch de distribuição. Além disso, o balanceamento de carga multicast é habilitado para garantir até mesmo a distribuição do tráfego multicast roteado de Camada 3 no link de 40 gigabits. Na topologia de amostra ilustrada na Figura 2, um switch EX8200 na camada de distribuição é conectado a um switch EX8200 na camada de acesso.
A velocidade do enlace é determinada automaticamente com base no tamanho do LAG configurado. Por exemplo, se um LAG é composto por quatro links de 10 gigabits, a velocidade do link é de 40 gigabits por segundo).
O algoritmo de hashing padrão, crc-sgip, envolve uma verificação de redundância cíclica tanto da fonte de pacotes multicast quanto dos endereços IP do grupo.
Você configurará um LAG em cada switch e um balanceamento de carga multicast reencável. Quando reencável, o balanceamento de carga multicast entrará automaticamente em vigor no LAG, e a velocidade é definida para 10 gigabits por segundo para cada link no LAG. A velocidade do link para o LAG de 40 gigabits é definida automaticamente para 40 gigabits por segundo.
Configuração
Procedimento
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
set chassis aggregated-devices ethernet device-count 1 set interfaces ae0 aggregated-ether-options minimum-links 1 set interfaces xe-0/1/0 ether-options 802.3ad ae0 set interfaces xe-1/1/0 ether-options 802.3ad ae0 set interfaces xe-2/1/0 ether-options 802.3ad ae0 set interfaces xe-3/1/0 ether-options 802.3ad ae0 set chassis multicast-loadbalance hash-mode crc-gip
Procedimento passo a passo
Para configurar um LAG e reenable multicast balanceamento de carga:
Especifique o número de interfaces Ethernet agregadas a serem criadas:
[edit chassis] user@switch#
set aggregated-devices ethernet device-count 1
Especifique o número mínimo de links para a interface Ethernet agregada (aex), ou seja, o LAG, a ser rotulado
up
:Nota:Por padrão, apenas um link precisa estar disponível para que o LAG seja rotulado
up
.[edit interfaces] user@switch#
set ae0 aggregated-ether-options minimum-links 1
Especifique os quatro membros a serem incluídos no LAG:
[edit interfaces] user@switch#
set xe-0/1/0 ether-options 802.3ad ae0
user@switch#set xe-1/1/0 ether-options 802.3ad ae0
user@switch#set xe-2/1/0 ether-options 802.3ad ae0
user@switch#set xe-3/1/0 ether-options 802.3ad ae0
Balanceamento de carga multicast reenável:
[edit chassis] user@switch# set multicast-loadbalance
Nota:Você não precisa definir a velocidade do enlace como faz para LAGs que não usam balanceamento de carga multicast. A velocidade do link é definida automaticamente para 40 gigabits por segundo em um LAG de 40 gigabits.
Você pode mudar opcionalmente o valor da opção
hash-mode
na declaração de equilíbrio de carga multicast para experimentar diferentes algoritmos até encontrar o que melhor distribui seu tráfego multicast roteado de Camada 3.Se você mudar o algoritmo de hashing quando o balanceamento de carga multicast for desativado, o novo algoritmo entra em vigor após o balanceamento de carga multicast reenável.
Resultados
Confira os resultados da configuração:
user@switch> show configuration chassis aggregated-devices { ethernet { device-count 1; } } multicast-loadbalance { hash-mode crc-gip; } interfaces xe-0/1/0 { ether-options { 802.3ad ae0; } } xe-1/1/0 { ether-options { 802.3ad ae0; } } xe-2/1/0 { ether-options { 802.3ad ae0; } } xe-3/1/0 { ether-options { 802.3ad ae0; } } ae0 { aggregated-ether-options { minimum-links 1; } } }
Verificação
Para confirmar que a configuração está funcionando corretamente, execute essas tarefas:
Verificando o status de uma interface LAG
Propósito
Verifique se um grupo de agregação de enlaces (LAG) (ae0) foi criado no switch.
Ação
Verifique se o ae0 LAG foi criado:
user@switch> show interfaces ae0 terse
Interface Admin Link Proto Local Remote ae0 up up ae0.0 up up inet 10.10.10.2/24
Significado
O nome de interface aex indica que este é um LAG. Um significa agregado, e E significa Ethernet. O número diferencia os vários LAGs.
Verificação do balanceamento de carga multicast
Propósito
Verifique se o tráfego é equilibrado igualmente entre caminhos.
Ação
Verifique o balanceamento de carga nas quatro interfaces:
user@switch> monitor interface traffic
Bytes=b, Clear=c, Delta=d, Packets=p, Quit=q or ESC, Rate=r, Up=^U, Down=^D ibmoem02-re1 Seconds: 3 Time: 16:06:14 Interface Link Input packets (pps) Output packets (pps) xe-0/1/0 Up 2058834 (10) 7345862 (19) xe-1/1/0 Up 2509289 (9) 6740592 (21) xe-2/1/0 Up 8625688 (90) 10558315 (20) xe-3/1/0 Up 2374154 (23) 71494375 (9)
Significado
As interfaces devem estar transportando aproximadamente a mesma quantidade de tráfego.
Balanceamento dinâmico de carga
O balanceamento de carga é usado para garantir que o tráfego de rede seja distribuído da forma mais uniforme possível entre os membros em um determinado ECMP (roteamento multi-caminho de custo igual) ou LAG (Link Aggregation Group). Em geral, o balanceamento de carga é classificado como estático ou dinâmico. Os cálculos de balanceamento de carga estático (SLB) são baseados apenas no conteúdo do pacote (por exemplo, IP de origem, IP de destino etc.). A maior vantagem do SLB é que o pedido de pacotes é garantido, pois todos os pacotes de um determinado fluxo tomam o mesmo caminho. No entanto, como o mecanismo SLB não considera o caminho ou a carga do enlace, a rede frequentemente experimenta os seguintes problemas:
-
Utilização ruim de largura de banda de enlace
-
O elefante flui em um único link caindo completamente os fluxos de ratos nele.
O balanceamento dinâmico de carga (DLB) é uma melhoria em cima do SLB.
Para ECMP, você pode configurar o DLB globalmente, enquanto para LAG, você o configura para cada interface Ethernet agregada. Você pode aplicar DLB no tipo de ether selecionado (Balanceamento dinâmico de carga) (IPv4, IPv6 e MPLS) com base na configuração. Se você não configurar nenhum tipo de ether (balanceamento dinâmico de carga), o DLB será aplicado a todos os EtherTypes. Observe que você deve configurar explicitamente o modo DLB porque não há modo padrão.
-
A partir do Junos OS Release 22.3R1-EVO, os switches QFX5130-32CD oferecem suporte a balanceamento dinâmico de carga para ECMP e LAG.
-
A partir do Junos OS Release 19.4R1, QFX5120-32C e switches QFX5120-48Y oferecem suporte a balanceamento dinâmico de carga para ECMP e LAG. Para LAG, o DLB deve ser configurado de acordo com a interface de ethernet agregada.
-
A partir do Junos OS evolved Release 19.4R2, os switches QFX5220 oferecem suporte a balanceamento dinâmico de carga (DLB) para ECMP. Para ECMP, o DLB deve ser configurado globalmente.
-
Você não pode configurar tanto o DLB quanto o hashing resiliente ao mesmo tempo. Caso contrário, um erro de confirmação será jogado.
-
O DLB é aplicável apenas para tráfego unicast.
-
O DLB não é suportado quando o LAG é um dos membros do ECMP de saída.
-
O DLB não é compatível com membros de LAG remotos.
-
O DLB não é compatível com Virtual Chassis e Virtual Chassis Fabric (VCF).
-
O DLB no LAG e o hiGig-trunk não são suportados ao mesmo tempo.
-
QFX5220, QFX5230-64CD e switches de QFX5240 não oferecem suporte a DLB no LAG.
Plataforma |
Suporte de DLB para ECMP |
Suporte de DLB para LAG |
---|---|---|
QFX5120-32C |
Sim |
Sim |
QFX5120-48Y |
Sim |
Sim |
QFX5220 |
Sim |
Não |
QFX5230-64CD |
Sim |
Não |
QFX5240 |
Sim |
Não |
Você pode usar os seguintes modos DLB para equilibrar o tráfego:
-
Por modo de pacote
Neste modo, o DLB é iniciado para cada pacote no fluxo. Esse modo garante que o pacote sempre seja atribuído à porta de membro de melhor qualidade. No entanto, neste modo, o DLB pode experimentar problemas de reordenamento de pacotes que podem surgir devido a desvios de latência.
-
Modo Flowlet
Esse modo depende da atribuição de links com base em fluxos em vez de fluxos. O tráfego de aplicativos no mundo real depende de mecanismos de controle de fluxo de protocolos de transporte de camada superior, como o TCP, que reduzem a taxa de transmissão. Como resultado, as flowlets são criadas. Você pode considerar as fluxolets como várias rajadas do mesmo fluxo separadas por um período de inatividade entre essas rajadas — esse período de inatividade é referido como o intervalo de inatividade. O intervalo de inatividade serve como critério de demarcação para a identificação de novos fluxos e é oferecido como uma declaração configurável pelo usuário sob a configuração DLB. Nesse modo, o DLB é iniciado por fluxo — isto é, para o novo fluxo, bem como para o fluxo existente que está inativo por um período suficientemente longo de tempo (configurado
inactivity-interval
). O problema de reordenação de cada modo de pacote é resolvido neste modo, pois todos os pacotes em um fluxo tomam o mesmo link. Se oinactivity-interval
valor estiver configurado para ser superior à latência máxima em todos os caminhos ECMP, então você pode evitar a reordenação de pacotes em fluxos enquanto aumenta a utilização de links de todos os links ECMP disponíveis. -
Modo de fluxo atribuído
Você pode usar o modo de fluxo atribuído para desabilitar seletivamente o reequilíbrio por um período de tempo para isolar fontes de problemas. Você não pode usar este modo para DLB em tempo real ou prever as portas de saída que serão selecionadas usando este modo porque o modo de fluxo atribuído não considera a carga de porta e o tamanho da fila.
Aqui estão alguns dos comportamentos importantes do DLB:
-
O DLB é aplicável apenas para EtherTypes de entrada.
-
Do ponto de vista do DLB, os pacotes de grupo de agregação de enlaces de Camada 2 e Camada 3 (LAG) são considerados os mesmos.
-
A utilização do link não será ideal se você usar o balanceamento dinâmico de carga em pacotes assimétricos — ou seja, em links ECMP com diferentes capacidades de membro.
-
Com o DLB, nenhuma mudança de fluxo acontece quando um novo link é adicionado por pacote e modos de fluxo atribuídos. Isso pode causar uso abaixo do ideal em cenários de flap de link onde um link utilizado pode não ser utilizado após passar por uma aba se nenhum novo fluxo ou fluxos for visto após a aba.
Benefícios
-
O DLB considera a utilização da largura de banda dos membros, juntamente com o conteúdo do pacote para a seleção dos membros. Como resultado, conseguimos uma melhor utilização de links com base em cargas de enlace em tempo real.
-
O DLB garante que as ligações presas pelos fluxos de elefantes não sejam usadas pelos fluxos de camundongos. Assim, ao usar DLB, evitamos quedas de colisão de hash que ocorrem com SLB. Ou seja, com o DLB os links estão espalhados e, portanto, a colisão e a consequente queda de pacotes são evitados.
Configuração do balanceamento dinâmico de carga
Este tópico descreve como configurar o balanceamento dinâmico de carga (DLB) no modo flowlet.
A partir do Junos OS Release 19.4R1, QFX5120-32C e switches QFX5120-48Y oferecem suporte a balanceamento dinâmico de carga para ECMP e LAG. Para LAG, o DLB deve ser configurado de acordo com a interface de ethernet agregada.
A partir do Junos OS evolved Release 19.4R2, os switches QFX5220 oferecem suporte a balanceamento dinâmico de carga (DLB) para ECMP. Para ECMP, o DLB deve ser configurado globalmente.
Configuração de DLB para ECMP (modo Flowlet)
Para configurar o balanceamento dinâmico de carga para ECMP com o modo flowlet (switches QFX5120-32C, QFX5120-48Y e QFX5220):
Da mesma forma, você pode configurar DLB para ECMP com cada pacote ou modo de fluxo atribuído .
Configuração de DLB para LAG (modo Flowlet)
Antes de começar, crie um pacote agregado de ethernet (AE), configurando um conjunto de interfaces de roteador como Ethernet agregada e com um identificador de grupo agregado específico (AE).
Para configurar o balanceamento dinâmico de carga para LAG com o modo flowlet (QFX5120-32C e QFX5120-48Y):
Habilite o balanceamento dinâmico de carga com o modo flowlet:
[edit interfaces ae-x aggregated-ether-options] user@router# set dlb flowlet
(Opcional) Configure o inactivity-interval valor — intervalo mínimo de inatividade (em micro segundos) para a re atribuição do link:
[edit interfaces ae-x aggregated-ether-options] user@router# set dlb flowlet inactivity-interval (micro seconds)
(Opcional) Configure o balanceamento dinâmico de carga com
ether-type
:[edit forwarding-options enhanced-hash-key] user@router# set lag-dlb ether-type mpls
(Opcional) Você pode ver as opções configuradas para balanceamento dinâmico de carga no LAG usando comando
show forwarding-options enhanced-hash-key
.
Da mesma forma, você pode configurar o DLB para LAG por pacote ou modo de fluxo atribuído .
Veja também
Exemplo: configure o balanceamento dinâmico de carga
Este exemplo mostra como configurar o balanceamento dinâmico de carga.
Requisitos
Este exemplo usa os seguintes componentes de hardware e software:
Dois switches QFX5120-32C ou QFX5120-48Y
Junos OS Release 19.4R1 ou posterior em execução em todos os dispositivos
Visão geral
O balanceamento dinâmico de carga (DLB) é uma melhoria em cima do SLB.
Para ECMP, você pode configurar o DLB globalmente, enquanto para LAG, você o configura para cada interface Ethernet agregada. Você pode aplicar DLB em tipos de ether selecionados (balanceamento dinâmico de carga), como IPv4, IPv6 e MPLS com base na configuração. Se você não configurar nenhum tipo de ether (balanceamento dinâmico de carga), o DLB será aplicado a todos os EtherTypes. Observe que você deve configurar explicitamente o modo DLB porque não há modo padrão.
A partir do Junos OS Release 19.4R1, QFX5120-32C e switches QFX5120-48Y oferecem suporte a balanceamento dinâmico de carga tanto no ECMP quanto no LAG.
Você não pode configurar o DLB e o Hashing resiliente ao mesmo tempo. Caso contrário, o erro de confirmação será jogado.
Topologia
Nesta topologia, tanto o R0 quanto o R1 estão conectados.
Este exemplo mostra a configuração estática. Você também pode adicionar configuração com protocolos dinâmicos.
Configuração
- Configuração rápida da CLI
- Configure o balanceamento dinâmico de carga para LAG (QFX5120-32C e QFX5120-48Y)
- Configure o balanceamento dinâmico de carga para switches ECMP (QFX5120-32C, QFX5120-48Y e QFX5220)
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
R0
set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.2/24 set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.2/24 set interfaces xe-0/0/54:0 unit 0 family inet address 10.10.10.2/24 set forwarding-options enhanced-hash-key ecmp-dlb per-packet set policy-options policy-statement loadbal then load-balance per-packet set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3 set routing-options static route 20.0.1.0/24 next-hop 10.1.1.3 set routing-options forwarding-table export loadbal
R1
set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.3/24 set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.3/24 set interfaces xe-0/0/52:0 unit 0 family inet address 20.0.0.2/16
Configure o balanceamento dinâmico de carga para LAG (QFX5120-32C e QFX5120-48Y)
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração.
Para configurar o roteador R0:
Repita este procedimento para os outros roteadores, depois de modificar os nomes, endereços e quaisquer outros parâmetros apropriados para cada roteador.
Configure o Grupo de agregação de enlaces (LAG).
[edit interfaces]
user@R0# set interfaces xe-0/0/0 ether-options 802.3ad ae0 user@R0# set interfaces xe-0/0/10 ether-options 802.3ad ae0 user@R0# set interfaces ae0 aggregated-ether-options lacp active user@R0# set interfaces ae0 unit 0 family inet address 10.1.0.2/24 user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3Após a configuração do LAG, na seção de verificação, execute as etapas na verificação da carga de tráfego antes de configurar o recurso de balanceamento dinâmico de carga na seção LAG , para verificar a configuração ou a carga de tráfego antes de configurar o DLB.
Configure o balanceamento dinâmico de carga com o modo por pacote para LAG.
[edit]
user@R0# set interfaces ae0 aggregated-ether-options dlb per-packetDepois de configurar o DLB, na seção de verificação, execute as etapas na verificação da carga de tráfego após a configuração do recurso de balanceamento dinâmico de carga na seção LAG , para verificar a configuração ou a carga de tráfego antes de configurar o DLB.
Configure o balanceamento dinâmico de carga para switches ECMP (QFX5120-32C, QFX5120-48Y e QFX5220)
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração.
Para configurar o roteador R0:
Repita este procedimento para os outros roteadores, depois de modificar os nomes, endereços e quaisquer outros parâmetros apropriados para cada roteador.
Configure o link de interface Ethernet Gigabit que se conecta do R0 ao R1.
[edit interfaces]
user@R0# set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.2/24 user@R0# set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.2/24 user@R0# set interfaces xe-0/0/54:0 unit 0 family inet address 10.10.10.2/24Crie as rotas estáticas:
[edit interfaces]
user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.0.3 user@R0# set routing-options static route 20.0.1.0/24 next-hop 10.1.1.3Aplique a política de balanceamento de carga. O recurso dinâmico de balanceamento de carga requer que os próximos saltos ECMP estejam presentes na tabela de encaminhamento.
[edit interfaces]
user@R0# set policy-options policy-statement loadbal then load-balance per-packet user@R0# set routing-options forwarding-table export loadbalConfigure o balanceamento dinâmico de carga com modo por pacote para ECMP.
[edit interfaces]
user@R0# set forwarding-options enhanced-hash-key ecmp-dlb per-packetNo R1, configure o link da interface Ethernet Gigabit.
[edit interfaces]
user@R2# set interfaces xe-0/0/0 unit 0 family inet address 10.1.0.3/24 user@R2# set interfaces xe-0/0/10 unit 0 family inet address 10.1.1.3/24 user@R2# set interfaces xe-0/0/52:0 unit 0 family inet address 20.0.0.2/16
Verificação
Confirme se a configuração está funcionando corretamente.
- Verifique a carga de tráfego antes de configurar o recurso de balanceamento dinâmico de carga no LAG
- Verifique a carga de tráfego após configurar o recurso de balanceamento dinâmico de carga no LAG
Verifique a carga de tráfego antes de configurar o recurso de balanceamento dinâmico de carga no LAG
Propósito
Verifique antes que o recurso DLB esteja configurado no Grupo de agregação de links.
Ação
A partir do modo operacional, execute o show interfaces interface-name | match pps
comando.
user@R0>show interfaces xe-0/0/0 | match pps Input rate : 1240 bps (1 pps) Output rate : 1024616 bps (1000 pps) ## all traffic in one link. user@R0>show interfaces xe-0/0/10 | match pps Input rate : 616 bps (0 pps) Output rate : 1240 bps (1 pps)<< Output rate : 1240 bps (1 pps) ## no traffic
Verifique a carga de tráfego após configurar o recurso de balanceamento dinâmico de carga no LAG
Propósito
Verifique se os pacotes recebidos no R0 estão equilibrados.
Ação
A partir do modo operacional, execute o show interfaces interface-name
comando.
user@R0>show interfaces xe-0/0/0 | match pps Input rate : 616 bps (0 pps) Output rate : 519096 bps (506 pps)<< Output rate : 519096 bps (506 pps) ## load equally shared user@R0>show interfaces xe-0/0/10 | match pps Input rate : 1232 bps (1 pps) Output rate : 512616 bps (500 pps)<< Output rate : 512616 bps (500 pps) ## load equally shared
Significado
Balanceamento dinâmico de carga com o modo por pacote funcionando com sucesso. Após a aplicação do recurso de balanceamento dinâmico de carga no LAG, a carga é igualmente compartilhada na rede.
Verificação
Confirme que a configuração está funcionando corretamente no R0.
Verifique o balanceamento dinâmico de carga no R0
Propósito
Verifique se os pacotes recebidos no R0 estão equilibrados.
Ação
A partir do modo operacional, execute o run show route forwarding-table destination destination-address
comando.
user@R0>show route forwarding-table destination 20.0.1.0/24 inet.0: 178 destinations, 178 routes (178 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 20.0.1.0/24 *[Static/5] 1d 03:35:12 > to 10.1.0.3 via xe-0/0/0.0 to 10.1.1.3 via xe-0/0/10.0 user@R0>show route 20.0.1.0/24 inet.0: 178 destinations, 178 routes (178 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 20.0.1.0/24 *[Static/5] 1d 03:35:12 > to 10.1.0.3 via xe-0/0/0.0 to 10.1.1.3 via xe-0/0/10.0
Significado
Verifique o balanceamento de carga no R1
Propósito
Confirme que a configuração está funcionando corretamente na R1.
Ação
A partir do modo operacional, execute o show route
comando.
user@R1>show route 20.0.1.25 inet.0: 146 destinations, 146 routes (146 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 20.0.0.0/16 *[Direct/0] 1d 03:37:11 > via xe-0/0/52:0.0
Significado
Balanceamento dinâmico de carga com o modo por pacote funcionando com sucesso. Após a aplicação do recurso de balanceamento dinâmico de carga no ECMP, a carga é igualmente compartilhada na rede.
Configure o tamanho da tabela flowset no modo de fluxo DLB
Visão geral
O balanceamento dinâmico de carga (DLB) é uma técnica de balanceamento de carga que seleciona um link de saída ideal com base na qualidade do link para que os fluxos de tráfego sejam distribuídos uniformemente. Você (o administrador de rede) pode configurar o DLB no modo flowlet.
No modo flowlet, o DLB rastreia os fluxos registrando o último temporizador visto e a interface de saída que a DLB selecionou com base na qualidade ideal do link. O DLB registra essas informações na tabela de fluxo alocada para cada grupo ECMP. O algoritmo DLB mantém um determinado fluxo em um link específico até que o temporizador visto pela última vez exceda o temporizador de inatividade. Quando o temporizatório de inatividade expira para um fluxo específico, o DLB verifica se esse link ainda é ideal para esse fluxo. Se o link não for mais ideal, o DLB selecionará um novo link de saída e atualizará a tabela de fluxo com o novo link e o último ponto de tempo conhecido do fluxo. Se o link continuar a ser ideal, a tabela de fluxo continua a usar o mesmo link de saída.
Você (o administrador de rede) pode aumentar o tamanho da tabela de fluxos para alterar a distribuição das entradas de tabela de fluxo entre os grupos ECMP. Quanto mais entradas um grupo ECMP tiver na tabela de fluxos, mais fluxos o grupo ECMP pode acomodar. Em ambientes como data centers de IA-ML que precisam lidar com grandes quantidades de fluxos, é particularmente útil para a DLB usar um tamanho de tabela de fluxo maior. Quando cada grupo de ECMP pode acomodar um grande número de fluxos, o DLB consegue uma melhor distribuição de fluxo nos links de membros do ECMP.
A tabela de fluxos contém 32.768 entradas totais, e essas entradas são divididas igualmente entre os grupos DLB ECMP. O tamanho da tabela de fluxos para cada grupo ECMP varia de 256 a 32.768. Use a fórmula a seguir para calcular o número de grupos de ECMP:
32,768/(flowset size) = Number of ECMP groups
Por padrão, o tamanho do fluxo é de 256 entradas, portanto, por padrão, existem 128 grupos de ECMP.
Benefícios
-
Melhore a distribuição de carga em links de saída.
-
Fluxos de grupo para minimizar quantos cálculos O DLB precisa fazer para cada fluxo.
-
Personalize a alocação de entrada da tabela de fluxos para máxima eficiência.
-
Aumente a eficiência do modo flowlet.
Configuração
Fique atento ao seguinte quando configurar o tamanho da tabela de fluxo:
-
Quando você altera o tamanho do fluxo, a escala dos grupos ECMP DLB também muda. Alocar um tamanho de tabela de fluxo superior a 256 reduz o número de grupos de ECMP capazes de DLB.
-
Quando você confirma essa configuração, o tráfego pode cair durante a mudança de configuração.
-
O DLB não é suportado quando um grupo de agregação de enlaces (LAG) é um dos membros de saída do ECMP.
-
Apenas as malhas underlay oferecem suporte a DLB.
-
QFX5240 portas de switch com uma velocidade inferior a 50 Gbps não suportam DLB.
Suporte para a plataforma
Consulte o Feature Explorer para obter suporte de plataforma e versão.
Documentação relacionada
Reequilíbrio de caminho reativo
Visão geral
O balanceamento dinâmico de carga (DLB) é uma ferramenta importante para o manuseio dos grandes fluxos de dados (também conhecidos como fluxos de elefante) inerentes às malhas de data center AI-ML. O reequilíbrio de caminho reativo é um aprimoramento dos recursos DLB existentes.
No modo flowlet do DLB, você (o administrador de rede) configura um intervalo de inatividade. O tráfego usa a interface de saída (saída) atribuída até que o fluxo pare por mais tempo do que o temporizador de inatividade. Se a qualidade do enlace de saída se deteriorar gradualmente, a pausa dentro do fluxo pode não exceder o temporizador de inatividade configurado. Neste caso, o modo flowlet clássico não realoca o tráfego para um link diferente, de modo que o tráfego não possa utilizar um link de melhor qualidade. O reequilíbrio de caminho reativo resolve essa limitação, permitindo que o usuário mova o tráfego para um link de melhor qualidade mesmo quando o modo flowlet é habilitado.
O dispositivo atribui uma banda de qualidade a cada link de membro de saída multicaminho de custo igual (ECMP) que se baseia no tráfego que flui pelo link. A banda de qualidade depende da carga de porta e do buffer de fila. A carga da porta é o número de bytes de saída transmitidos. O buffer de fila é o número de bytes à espera de serem transmitidos da porta de saída. Você pode personalizar esses atributos com base no padrão de tráfego que flui pelo ECMP.
Benefícios
-
Solução escalável para vincular degradação
-
Uso ideal de largura de banda para grandes fluxos de dados
-
Evitar ineficiências de balanceamento de carga devido a fluxos de longa duração
Configuração
Visão geral da configuração
As bandas de qualidade são numeradas de 0 a 7, onde 0 é a menor qualidade e 7 é a mais alta qualidade. Com base na carga da porta do membro e no tamanho da fila, o DLB atribui um valor de banda de qualidade à porta do membro. O mapeamento de banda de porta para qualidade muda com base na carga de porta instantânea e no tamanho da fila.
Quando ambas as condições a seguir são atendidas, o reequilíbrio de caminho reativo reequilibra um fluxo para um link de membro de maior qualidade:
-
Um link de membro de melhor qualidade está disponível cuja banda de qualidade é igual ou maior do que a banda de qualidade do membro atual, além do valor delta de qualidade de redesignação configurado. O delta de qualidade é a diferença entre as duas bandas de qualidade. Configure o valor delta de qualidade usando a
quality-delta
declaração. -
O valor aleatório do pacote que o sistema gera é menor do que o valor limite de probabilidade de reatribuição. Configure o valor limite de probabilidade usando a
prob-threshold
declaração.
Fique atento ao seguinte quando usar este recurso:
-
O reequilíbrio de caminho reativo é uma configuração global e se aplica a todas as configurações de DLB ECMP no sistema.
-
Você pode configurar a quantização de saída, além de reequilibrar caminho reativo para controlar o reajuste do fluxo.
-
A reordenação de pacotes pode ocorrer quando o fluxo se move de uma porta para outra. Configurar o reequilíbrio de caminho reativo pode causar problemas momentâneos fora de ordem quando o fluxo é reatribuído ao novo link.
Topologia
Nesta topologia, o dispositivo tem três portas de entrada e duas portas de saída. Dois dos fluxos de entrada são o tráfego de Camada 2 (L2) e um é o tráfego de Camada 3 (L3). A figura mostra as entradas da tabela encaminhando o tráfego para cada uma das portas de saída. Todas as portas de entrada e saída têm a mesma velocidade.
Nesta topologia, o reequilíbrio de caminho reativo funciona da seguinte forma:
O delta de qualidade 2 está configurado.
O fluxo L2 1 (
mac 0x123
) entra na porta de entrada et-0/0/0 com uma taxa de 10 por cento. Ela sai por et-0/0/10. A utilização do link de saída de et-0/0/10 é de 10 por cento e o valor de banda de qualidade é 6.O fluxo L3 entra na porta et-0/0/1 com uma taxa de 50%. Ele sai por et-0/0/11 e seleciona o link ideal da lista de membros do ECMP. A utilização do link de saída de et-0/0/11 é de 50 por cento com um valor de banda de qualidade de 5.
O fluxo L2 2 (
mac 0x223
) entra na porta et-0/0/2 com uma taxa de 40%. Ele também sai por et-0/0/11. Isso degrada ainda mais o valor da banda de qualidade do link et-0/11 para 4. Agora, a diferença nos valores de banda de qualidade de ambos os links de membros do ECMP é de 2.O algoritmo de balanceamento de caminho reativo agora se torna operacional porque a diferença nos valores de banda de qualidade para portas et-0/10 e et-0/0/11 é igual ou superior ao delta de qualidade configurado de 2. O algoritmo move o fluxo L3 de et-0/0/11 para um link de membro de melhor qualidade, que neste caso é et-0/0/10.
Depois que o vapor L3 se move para et-0/0/10, a utilização do enlace et-0/10 aumenta para 60 por cento com uma diminuição no valor da banda de qualidade para 5. O fluxo L2 2 continua a sair por et-0/0/11. A utilização do link et-0/11 permanece em 40%, com um aumento no valor da banda de qualidade para 5.
Configure o reequilíbrio do caminho reativo
Suporte para a plataforma
Consulte o Feature Explorer para obter suporte de plataforma e versão.
Documentação relacionada
Tabela de histórico de mudanças
O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.
payload
declaração.