IP : Cisco Express Forwarding (CEF)

Polarização CEF

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback

Introdução

Este documento descreve como a polarização do Cisco Express Forwarding (CEF) pode causar o uso suboptimal dos caminhos redundantes a uma rede de destino. A polarização CEF é o efeito quando um algoritmo de hash escolhe um caminho particular e os caminhos redundantes permanecem completamente não utilizados.

Contribuído por Anvitha Prabhu, por Shashank Singh, e por Shridhar Dhodapkar, engenheiros de TAC da Cisco.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

A informação neste documento é baseada em um Cisco Catalyst 6500 Switch que seja executado em um Supervisor Engine 720.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Informações de Apoio

O CEF comuta os pacotes baseados na tabela de roteamento que é povoada pelos protocolos de roteamento, tais como o Enhanced Interior Gateway Routing Protocol (EIGRP) e o Open Shortest Path First (OSPF). O CEF executa a função de balanceamento de carga uma vez que a tabela de roteamento (RIB) é calculada. Em um projeto de rede hierárquico, pode haver muitos caminhos redundantes dos custos iguais da camada 3 (L3). Considere esta topologia onde fluxos de tráfego da camada de acesso através da distribuição e do núcleo e no centro de dados.

                                         

Supõe que a fim alcançar a rede 10.1.1.1 do [Top Left] do roteador1 (r1), há dois caminhos de custo iguais (L1, L2). A decisão sobre que dos dois liga é usada é feita por um algoritmo de hashing. À revelia, o IP da fonte (SORVO) e o IP de destino (MERGULHO) são usados como os parâmetros no algoritmo de hashing.

Está aqui uma descrição de como o algoritmo de hashing trabalha:

Quando há somente dois trajetos, o interruptor/roteador executa uma operação do exclusive-or (XOR) nos bit da baixo-ordem (um bit quando qualquer um de dois links precisa de ser selecionado, dois bit para 3-4 links, e assim por diante) do SORVO e do MERGULHO. A operação XOR do mesmos SORVE e MERGULHA sempre resultados no uso do pacote do mesmo link.

O pacote passa então na camada de distribuição, onde o mesmo algoritmo de hashing é usado junto com a mesma entrada da mistura, e escolhe um link único para todos os fluxos, que saa do outro link underutilized. Este processo é chamado polarização CEF (o uso do mesmo algoritmo de hash e da mesma mistura entrou que os resultados no uso de uns únicos custos iguais Multi-PATH (ECMP) ligam para TODOS OS fluxos).

Este exemplo ilustra este processo com maiores detalhes:

                  

  1. O tráfego originado de 10.240.18.1 e destinado a 10.240.20.1 incorpora a rede no roteador A e é comutado por CEF. Porque há dois caminhos de custo iguais à rede 10.240.20.0/24, os endereços de rementente e destinatário no pacote atravessam o algoritmo de hash, e o resultado é um trajeto específico usado para alcançar o destino. Neste caso, o trajeto a tomada dos pacotes está para o C do roteador. De lá, os pacotes vão ao roteador F, e sobre a seu destino final.

  2. O tráfego originado de 10.240.18.2 e destinado a 10.240.20.1 incorpora a rede no roteador A e é comutado por CEF também. Porque há dois caminhos de custo iguais à rede 10.240.20.0/24, os endereços de rementente e destinatário no pacote atravessam o algoritmo de hash, e o CEF escolhe um trajeto. Neste caso, o trajeto a tomada dos pacotes está para o roteador B.

  3. O tráfego originado de 10.240.18.3 e destinado a 10.240.20.1 incorpora a rede no roteador A e é igualmente comutado por CEF. Porque há dois caminhos de custo iguais à rede 10.240.20.0/24, os endereços de rementente e destinatário no pacote atravessam o algoritmo de hash, e o CEF escolhe um trajeto. Neste caso, o trajeto a tomada dos pacotes está para o roteador B.

  4. Os pacotes com origem de 10.240.18.2 e 10.240.18.3 ambos chegam no roteador B, que tem outra vez dois caminhos de custo iguais para alcançar 10.240.20.1. Executa outra vez estes grupos de pares da fonte e do destino através do algoritmo de hash, que produz os mesmos resultados esses o algoritmo de hash no roteador A produzido. Isto significa que ambos os córregos dos pacotes passam ao longo de um trajeto - neste caso, o link para o roteador E. O link para o roteador D recebe o sem tráfego.

  5. Após o tráfego originado de 10.240.18.2 e de 10.240.18.3 é recebido no roteador E, é ligado ao longo do trajeto ao roteador F, e então a seu destino final.

Como evitar a polarização CEF

  1. Alterne entre o padrão (SORVO e MERGULHO) e (SORVO + MERGULHO + portas Layer4) a configuração completa das entradas do hashing em cada camada da rede.

    O Catalyst 6500 fornece algumas escolhas para o algoritmo de hashing:
    • Padrão - Use o endereço IP de origem e de destino, com os pesos desiguais dados a cada link a fim impedir a polarização.
    • Simples - Use o endereço IP de origem e de destino, com o peso igual dado a cada link.
    • Completamente - Use o endereço IP de origem e de destino e mergulhe o número de porta 4, com pesos desiguais.
    • Simples completos - Use o endereço IP de origem e de destino e mergulhe o número de porta 4, com os pesos iguais dados a cada link.
        6500(config)#mls ip cef load-sharing ?
          full    load balancing algorithm to include L4 ports
          simple  load balancing algorithm recommended for a single-stage CEF router

        6500(config)#mls ip cef load-sharing full ?
          simple  load balancing algorithm recommended for a single-stage CEF router
          <cr>
    Atualmente, nenhum comando existe para verificar o algoritmo do compartilhamento de carga no uso. A melhor maneira de encontrar que o método é no uso é verificar a configuração atual através do comando show running-config. Se nenhuma configuração esta presente começar com o compartilhamento de carga do cef dos mls IP, o algoritmo desigual da fonte do padrão e do peso do destino está no uso.

    Nota: 1) O Catalyst 6500 não apoia pelo compartilhamento de carga do pacote. 2) A opção completa não inclui um ID universal na mistura. Se é usada em cada camada de uma topologia da multi-camada, a polarização é possível. É aconselhável usar a opção simples com este comando a fim conseguir o melhor compartilhamento de carga e usar menos adjacências do hardware.

  2. Alterne entre mesmo e o número ímpar de links ECMP em cada camada da rede.
    A função de balanceamento de carga CEF não depende de como as rotas do protocolo são introduzidas na tabela de roteamento. Consequentemente, as rotas de OSPF exibem o mesmo comportamento que o EIGRP. Em uma rede hierárquica onde haja diverso Roteadores que executa o compartilhamento de carga em seguido, todos usam a mesma carga-parte do algoritmo.

    Os balanceamentos de carga do algoritmo de hash esta maneira à revelia:
    1: 1
    2: 7-8
    3: 1-1-1
    4: 1-1-1-2
    5: 1-1-1-1-1
    6: 1-2-2-2-2-2
    7: 1-1-1-1-1-1-1
    8: 1-1-1-2-2-2-2-2
    O número antes dos dois pontos representa o número de caminhos de custo iguais. O número depois que os dois pontos representam a proporção de tráfego que está enviado pelo trajeto.

    Isto significa que:
    • Para dois caminhos de custo igual, o compartilhamento de carga é 46.666%-53.333%, não 50%-50%.
    • Para três caminhos de custo igual, o compartilhamento de carga é 33.33%-33.33%-33.33% (como esperado).
    • Para quatro caminhos de custo igual, o compartilhamento de carga é 20%-20%-20%-40% e não 25%-25%-25%-25%.

    Isto ilustra que, quando há número par de links ECMP, o tráfego não é função de balanceamento de carga
    Uma maneira de desabilitar a polarização CEF está a um peso da anti-polarização, que seja introduzido na versão 12.2(17d)SXB2.

    A fim permitir o peso da anti-polarização, incorpore este comando:
    6500(config)# mls ip cef load-sharing full simple
    Use este comando se há dois caminhos de custo igual e ambos precisam de ser usados ingualmente. A adição da palavra-chave simples permite que o hardware use o mesmo número de adjacência que na adjacência de CEF do ® do Cisco IOS. Sem a palavra-chave simples, o hardware instala entradas adjacentes adicionais a fim evitar a polarização da plataforma.

  3. O Cisco IOS introduziu um conceito chamado o ID exclusivo/ID que as ajudas evitam a polarização CEF. Este algoritmo, chamado o algoritmo universal (o padrão em versões do Cisco IOS atuais), adiciona um valor roteador-específico de 32 bits à função de mistura (chamada o ID universal - este é um valor acima aleatoriamente gerado na altura da bota do interruptor que pode pode ser manualmente controlada). Isto semeia a função de mistura em cada roteador com um ID exclusivo, que se assegure de que a mesmos fonte/pares do destino pique em um valor diferente no Roteadores diferente ao longo do trajeto. Este processo fornece um compartilhamento de carga para toda a rede melhor e contorna a edição da polarização. Este conceito do ID exclusivo não trabalha para um número par de caminhos de custo iguais devido a uma limitação do hardware, mas trabalha perfeitamente para um número ímpar de caminhos de custo iguais. A fim superar este problema, o Cisco IOS adiciona um link à tabela de adjacência do hardware quando há um número par de caminhos de custo iguais a fim fazer o sistema acreditar que há um número ímpar de enlaces de custo igual.
    A fim configurar um valor personalizado para o ID universal, use:
    6500(config)ip cef load-sharing algorithm universal <id>


Document ID: 116376