Entendendo o balanceamento de carga para tráfego BGP com largura de banda desigual alocada nos caminhos
A opção multicaminho elimina os critérios de desempate do processo de decisão de rota ativa, permitindo assim que rotas BGP de igual custo aprendidas com várias fontes sejam instaladas na tabela de encaminhamento. No entanto, quando os caminhos disponíveis não são de igual custo, você pode querer carregar o equilíbrio do tráfego de forma assimétrica.
Assim que vários saltos seguintes forem instalados na tabela de encaminhamento, um próximo salto de encaminhamento específico é selecionado pelo algoritmo de balanceamento de carga por prefixo do Junos OS. Esse processo se posiciona contra os endereços de origem e destino de um pacote para mapear deterministicamente o pareamento de prefixo em um dos próximos saltos disponíveis. O mapeamento por prefixo funciona melhor quando a função de hash é apresentada com um grande número de prefixos, como pode ocorrer em uma troca de peering na Internet, e serve para evitar a reordenação de pacotes entre pares de nós comunicadores.
Uma rede empresarial normalmente quer alterar o comportamento padrão para evocar um algoritmo de balanceamento de carga por pacote . Por pacote é enfatizado aqui porque seu uso é um erro de nome que decorre do comportamento histórico do ASIC processador de Internet original. Na realidade, os roteadores atuais da Juniper Networks oferecem suporte a por prefixo (padrão) e balanceamento de carga por fluxo. Este último envolve o hashing contra vários cabeçalhos de Camada 3 e Camada 4, incluindo partes do endereço fonte, endereço de destino, protocolo de transporte, interface de entrada e portas de aplicativos. O efeito é que agora os fluxos individuais são acelerados para um próximo salto específico, resultando em uma distribuição mais uniforme em próximos saltos disponíveis, especialmente quando o roteamento entre menos pares de origem e destino.
Com o balanceamento de carga por pacote, os pacotes que compreendem um fluxo de comunicação entre dois endpoints podem ser ressequencados, mas os pacotes dentro de fluxos individuais mantêm o sequenciamento correto. Não importa se você opta por balanceamento por prefixo ou de carga por pacote, a assimetria dos links de acesso pode apresentar um desafio técnico. De qualquer forma, os prefixos ou fluxos mapeados para, por exemplo, um link T1 exibirão desempenho degradado quando comparado com os fluxos que mapeiam para, por exemplo, um link de acesso Fast Ethernet. Pior ainda, com cargas de tráfego pesadas, qualquer tentativa de balanceamento de carga igual provavelmente resultará em saturação total do link T1 e interrupção da sessão decorrentes da perda de pacotes.
Felizmente, a implementação BGP da Juniper Networks oferece suporte à noção de uma comunidade de largura de banda. Essa comunidade estendida codifica a largura de banda de um determinado próximo salto, e quando combinado com multicaminho, o algoritmo de balanceamento de carga distribui fluxos por todo o conjunto de próximos saltos proporcionais às suas larguras de banda relativas. Dito de outra forma, se você tiver um próximo salto de 10 Mbps e 1 Mbps, em média nove fluxos serão mapeados para o próximo salto de alta velocidade para cada um que usa a baixa velocidade.
O uso da comunidade de largura de banda BGP é suportado apenas com balanceamento de carga por pacote.
A tarefa de configuração tem duas partes:
Configure as sessões externas de peering BGP (EBGP), habilite multicaminho e defina uma política de importação para marcar rotas com uma comunidade de largura de banda que reflete a velocidade do enlace.
Habilite o balanceamento de carga por pacote (realmente por fluxo) para uma distribuição ideal do tráfego.