O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve o que é o ELAM (Embedded Logic Analyzer Module), suas desvantagens e como usá-lo da melhor forma.
Com o aumento da complexidade dos dispositivos e protocolos de rede, pode ser extremamente difícil descobrir a origem de um problema de rede. Frequentemente, você deve determinar se um quadro é recebido e encaminhado corretamente em um dispositivo específico. Há várias ferramentas de captura, depurações e truques disponíveis para ajudar a responder a essa pergunta. No entanto, nem todos são viáveis ou estão disponíveis para serem executados em uma rede de produção.
O ELAM é uma ferramenta de engenharia que permite que você veja os Cisco ASICs e entenda como um pacote é encaminhado. Ele é incorporado no pipeline de encaminhamento e pode capturar um pacote em tempo real sem interrupções no desempenho ou nos recursos do plano de controle. Ele ajuda a responder a perguntas como:
O ELAM é extremamente poderoso, granular e não intrusivo. É uma valiosa ferramenta de solução de problemas para engenheiros do Cisco Technical Assistance Center (TAC) que trabalham em plataformas de switching de hardware.
O ELAM foi projetado como uma ferramenta de diagnóstico para uso interno. A sintaxe CLI usa nomes de código internos para Cisco ASICs, portanto a interpretação dos dados ELAM exige arquitetura específica de hardware e conhecimento de encaminhamento. Muitos desses detalhes não podem ser explicados porque expõem os recursos proprietários internos da Cisco que tornam os dispositivos da Cisco os melhores na classe.
Por esses motivos, o ELAM não é um recurso suportado pelo cliente e permaneceu uma ferramenta de diagnóstico para uso interno. Não há guias de configuração externa e a sintaxe e operação podem mudar de versão para versão sem aviso prévio.
Considerando estes desafios e a isenção de responsabilidade, aqui estão os motivos pelos quais a ELAM é descrita agora:
O ELAM pode ser executado sem o conhecimento completo da arquitetura de cada plataforma. Esta seção descreve os conceitos básicos necessários para executar um ELAM nas plataformas de switch Cisco Catalyst 6500 e 7600 Series (conhecido como simplesmente 6500 e 7600, respectivamente), juntamente com a plataforma de switch Nexus 7000 Series.
Como mencionado anteriormente, o ELAM depende do hardware subjacente; portanto, a sintaxe CLI depende do hardware em uso. No entanto, cada plataforma segue um fluxo de trabalho semelhante, como mostrado nesta imagem:
Note: Consulte a seção Exemplos de ELAM para ver como esse fluxo de trabalho é aplicado em diferentes plataformas.
Estas quatro etapas, que são detalhadas posteriormente nesta seção, descrevem o fluxo de trabalho:
A primeira etapa que você deve concluir para executar um ELAM é identificar o FE correto. Um 6500 com cartões de linha de encaminhamento clássicos ou centralizados (CFC) usa encaminhamento centralizado, onde o supervisor ativo toma a decisão de encaminhamento. Para pacotes que ingressam em placas de linha clássicas ou CFC, você deve executar o ELAM no supervisor ativo.
Com placas de linha habilitadas para encaminhamento distribuído (DFC - Distributed Forwarding), a decisão de encaminhamento é tomada localmente por um FE na placa de linha sem o supervisor. Para pacotes que ingressam em placas de linha DFC, você deve executar o ELAM na própria placa de linha.
Para a plataforma do switch Nexus 7000 Series, todas as placas de linha são totalmente distribuídas. Além disso, a maioria das placas de linha tem vários FEs. Ao configurar o ELAM, você deve saber a porta na qual o pacote é recebido e determinar o FE que mapeia para essa porta.
Para obter informações adicionais sobre hardware e arquitetura de encaminhamento, consulte estes artigos do Cisco Live 365:
O DBUS contém informações usadas pelo FE para tomar uma decisão de encaminhamento. Contém vários campos internos específicos da plataforma, juntamente com as informações do cabeçalho de um quadro. Visualize o DBUS para ajudar a determinar onde o pacote é recebido e as informações do pacote L2-L4.
O RBUS contém a decisão de encaminhamento tomada pelo FE. Visualize o RBUS para ajudar a determinar se o quadro está alterado e para onde ele é enviado.
O LTL é um índice usado para representar uma porta ou um grupo de portas. O índice LTL de origem e o índice LTL de destino mostram onde o quadro é recebido e onde é enviado.
Note: Diferentes plataformas e supervisores usam diferentes comandos para decodificar os valores de LTL.
Os valores LTL são exibidos como cinco ou menos números hexadecimais (0xa2c, por exemplo). O bit de inundação é o 16º bit no resultado LTL. Frequentemente, o RBUS exibe um campo com o índice LTL de destino e tem um campo separado para o bit de inundação. É importante mesclar esses resultados para o LTL correto. Por exemplo:
RBUS:
FLOOD ........................... [1] = 1
DEST_INDEX ...................... [19] = 0x48
Neste exemplo, o índice de LTL de destino é 0x48. Como o bit de inundação é 1, você deve definir o 16º bit no LTL como 1:
0x00048 = 0000 0000 0000 0100 1000
|
+---- Flood bit, set to 1 = 0x08048
Depois de contabilizar o bit de inundação, o índice de destino se tornou 0x8048.
A finalidade desses exemplos é ilustrar como o ELAM é usado para validar fluxos unicast básicos de IPv4 ou IPV6. Conforme descrito na seção Desafios ELAM deste documento, não é prático explicar todos os campos internos ou tipos de pacotes, como recirculação para multicast, túneis e MPLS.
Siga estes links para obter exemplos de uso de ELAM com dispositivos diferentes:
Como referência, o nome ASIC interno atribuído ao ELAM para cada tipo de módulo está listado nesta tabela:
Platform | Tipo de módulo | Nome ASIC interno |
---|---|---|
Catalyst 6500/Cisco 7600 | Sup720 (PFC3, DFC3) | Superman |
Catalyst 6500 | Sup2T (PFC4, DFC4) | Eureka |
Nexus 7000 | Série M (M1 e M2) | Eureka |
Nexus 7000 | Módulo M3 | F4 |
Nexus 7000 | F1 | Orion |
Nexus 7000 | F2 | Clipper |
Nexus 7000 | F3 | Flandres |
Nexus 6000 | N/A | Bigsur |
Há uma maneira mais amigável de usar o ELAM. Com o Cisco IOS® versões 12.2(50)SY e posteriores, a Cisco adicionou o comando show platform datapath para os 6500s que executam o Supervisor Engine 2T (Sup2T). Esse comando usa ELAM para capturar e exibir o resultado de encaminhamento de um pacote específico.
Para as plataformas de switch Nexus 7000 Series, um script fácil de usar, elame, foi adicionado no Cisco IOS versão 6.2(2) para aproveitar o ELAM:
N7KA# source sys/elame
elam helper, version 1.015
Usage:
elame [<src>] <dest> [vlan <vlan#>] [vrf <vrf_name>] [int <interface> | vdc] [trace]
Na saída:
Observe que o script de nome não é suportado nos módulos F3 e em outras placas de linha N77xx neste momento. Alguns bugs de aprimoramento foram arquivados para melhorar o script do Elame e ainda está sendo analisado pela unidade de negócios.
Note: O Elam é uma ferramenta interna e deve ser usado somente sob supervisão do TAC/BU.