IP : Cisco Express Forwarding (CEF)

Troubleshooting de Inconsistências de Prefixo com o Cisco Express Forwarding

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


Índice


Introdução

Este documento descreve o verificador de consistência agora disponível para os Cisco 7500 e 12000 Series Router que executam o formulário distribuído do Cisco Express Forwarding (CEF). O verificador de consistência, introduzido no Software Release 12.0(15)S do � do Cisco IOS e nos outros trens de versão, está projetado detectar quando a informação de encaminhamento em placas de linha e o route processor (RP) perdem a sincronização. O Cisco IOS relata os seguintes mensagens de registro quando o verificador detecta um problema:

%FIB-4-RPPREFIXINCONST2: RP missing prefix for 
133.160.0.0/16 (present in routing table)

 %FIB-4-RPPREFIXINCONST2: RP missing prefix for 
 133.160.0.0/16 (present in routing table)

 %FIB-4-LCPREFIXINCONST2: Slot 1 missing prefix entry for 64.0.17.0/32

Este documento também fornece dicas de Troubleshooting para inconsistências CEF.

Pré-requisitos

Requisitos

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

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

  • Cisco IOS Software Release 12.0(15)S e Mais Recente

  • Cisco 7500 e 12000 Series Router

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.

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Tabelas de encaminhamento CEF

Para entender o que o verificador de consistência está revisando, é necessário antes entender e definir as tabelas de encaminhamento CEF.

O CEF descreve um mecanismo de switching de alta velocidade que um roteador se use para enviar a pacotes do de entrada à interface externa. O CEF usa dois conjuntos de estruturas de dados ou tabelas, armazenados na memória do roteador.

  • Banco de informação de encaminhamento (FIB) - Descreve uma informação de banco de dados usada para fazer decisões de encaminhamento. Ele é conceitualmente semelhante a uma tabela de roteamento ou a um cache de roteamento, embora sua implementação seja diferente.

  • Adjacência - Dois Nós na rede seriam adjacentes se podem se alcançar através de um salto único através de uma camada de enlace.

A tabela FIB é atualizada quando ocorre uma das situações a seguir:

  • A entrada do cache do Protocolo de resolução de endereços (ARP) do próximo salto é alterada, removida ou expira.

  • A entrada de tabela de roteamento para as mudanças do prefixo ou é removida.

  • A entrada da tabela de roteamento para alterações no nó seguinte é removida.

Os Cisco 7500 e 12000 Series Routers suportam CEF distribuído (dCEF), em que as placas de linha tomam as decisões de encaminhamento de pacote utilizando cópias armazenadas localmente do mesmo FIB e tabelas de adjacência como o RP. As tabelas entre o RP e as placas de linha devem permanecer sincronizadas. Toda alteração às tabelas do RP deve ser encaminhada às placas de ingresso.

O IPC (Comunicação interprocessos) é o protocolo usado pelos roteadores que suportam encaminhamento de pacote distribuído. As atualizações CEF são codificadas como os elementos de informação da representação de dados externos (XDR) dentro dos mensagens IPC. O seguinte diagrama ilustra o mecanismo de distribuição da estrutura de dados CEF.

/image/gif/paws/14540/cefincon-1.gif

O que é uma inconsistência?

Existem dois tipos de inconsistências:

  • Informações ausentes, como um prefixo específico, em uma placa de linha.

  • Informações diferentes, como endereços IP distintos de nós seguintes, na placa de ingresso.

    router#show ip cef 24.20.84.32
    24.16.0.0/13, version 833173, cached adjacency to POS6/0
    0 packets, 0 bytes
    Flow: AS 6172, mask 13
    via 4.24.234.153, 0 dependencies, recursive
    next hop 4.24.234.153, POS6/0 via 4.24.234.152/30
    valid cached adjacency
    router#execute-on all show ip cef 24.20.84.32
    ========= Line Card (Slot 1) =======
    24.16.0.0/13, version 408935, cached adjacency 0.0.0.0
    0 packets, 0 bytes
    Flow: AS 6172, mask 13
    via 157.130.213.1, 0 dependencies, recursive
    next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30
    valid cached adjacency
    ========= Line Card (Slot 2) =======
    24.16.0.0/13, version 13719, cached adjacency 0.0.0.0
    0 packets, 0 bytes
    Flow: AS 6172, mask 13
    via 157.130.213.1, 0 dependencies, recursive
    next hop 157.130.213.1, POS1/0.500 via 157.130.213.0/30
    valid cached adjacency

Uma indicação de uma inconsistência de CEF é uma diferença na coluna " cef-ver " do comando show cef linecard, segundo as indicações da seguinte saída.

7505-2A#show cef linecard                                                        
CEF table version 35, 11 routes                                               
Slot CEF-ver    MsgSent    XDRSent  Window   LowQ   MedQ  HighQ Flags         
1          0          0          0 LC wait      0      0      0 disabled      
2         31         95        422      24      0      0      0 up, sync      
3         34        105        544      24      0      0      0 up, sync

A saída do comando show ip cef summary no RP e no LC deve mostrar o mesmo número de rotas e de adjacências quando as seguintes circunstâncias são verdadeiras:

  • Todas as placas de linha estão no estado "up, sync".

  • As filas de XDR do RP e do LC estão vazias [as colunas "LowQ/MedQ/HighQ" do comando show cef linecard do RP, e os dados "RP messages to be processed" (Mensagens do RP a serem processadas) do comando show cef linecard da placa de linha].

Nota: Uma exceção é o Engine 2 LC do Cisco 12000 Series, onde o ASIC de switching de pacote (PSA) instala rotas adicionais para executar ACL.

O Cisco IOS Software Release 12.0(22)S contém os verificadores de consistência v2 CEF (presente no Cisco IOS Software Release12.1E), que o deixa executar o comando show ip cef inconsistency now relatar todos os problemas.

Visão geral sobre o verificador de inconsistências

Enquanto as atualizações ocorrem às bases de dados de roteamento no RP e nas placas de linha, as inconsistências podem resultar devido à natureza assíncrona do mecanismo de distribuição para estes bancos de dados. O CEF oferece suporte a verificadores de consistência passivos e ativos executados independentemente. A tabela a seguir descreve esses verificadores.

Mecanismo de detecção Opera em Descrição
Lc-detect Placa de linha Opera na placa de linha recuperando prefixos IP ausentes de sua tabela FIB. Se os prefixos IP faltam, a placa de linha não pode enviar pacotes para estes endereços. Lc-detecta e envia prefixos IP ao RP para confirmação. Se o RP detecta que tem a entrada relevante, uma inconsistência é detectada e um Mensagem de Erro é indicado. Da mesma forma, o RP envia um sinal de volta para a placa de linha, confirmando que o prefixo IP é uma inconsistência.
Scan-lc Placa de linha Opera na placa de linha, procurando na tabela FIB um período configurado e enviando os próximos prefixos n para o RP. O RP faz uma consulta exata. Se o prefixo estiver ausente, o RP relata uma inconsistência. Finalmente, o RP envia uma confirmação de volta para a placa de linha.
Scan-rp Processador de rota Opere no RP (oposto do scan-lc), examinando a tabela FIB para identificar o período configurado e enviando os próximos n prefixos para a placa de linha. A placa realiza uma consulta exata. Se encontra os desaparecidos do prefixo, a placa de linha relata uma inconsistência e sinaliza finalmente o RP para a confirmação.
Scan-rib Processador de rota Opera sobre todos os RP (mesmo distribuídos não), e faz a varredura do RIB para assegurar-se de que as entradas do prefixo estem presente na tabela FIB RP.

Use os comandos a seguir para configurar os verificadores de consistência habilitados e as variáveis relacionadas.

  • ip cef table consistency-check type [period] [count] - controla parâmetros gerais dos verificadores.

  • ip cef table consistency-check - Habilita ou desabilita os tipos suportados e controla o período das varreduras e os prefixos varridos (não para lc-detect). O verificador de consistência está desabilitado por padrão.

Troubleshooting de Inconsistência no CEF

As inconsistências nunca devem acontecer e devem sempre ser investigadas. Utilize os comandos CEF debug e show ao Troubleshoot.

A Output Interpreter Tool (somente clientes registrados) oferece suporte a determinados comandos show, o que permite exibir uma análise da saída do comando show.

Nota: Antes de emitir comandos debug, consulte Informações importantes sobre comandos debug.

  • show ip cef inconsistency records detail – Exibe estatísticas sobre os mecanismos de detecção. Também grava informações detalhadas para várias (no momento, 4) inconsistências confirmadas, embora diferentes.

  • show ip cef inconsistency - Indica um sumário do estado.

    Table consistency checkers (settle time 15s)
         lc-detect: running
          0/0/0 queries sent/ignored/received
         scan-lc: running [100 prefixes checked every 60s]
          0/0/1053 queries sent/ignored/received 
         scan-rp: running [100 prefixes checked every 60s]
          1053/0/0 queries sent/ignored/received
         scan-rib: running [1000 prefixes checked every 60s]
          81/0/81 queries sent/ignored/received
        Inconsistencies: 0 confirmed, 0/4 recorded
  • show ip cef inconsistency records - Use a palavra-chave registros para descartar as inconsistências registradas.

  • show ip cef inconsistency records detail e execute-on slot

    router#exec slot 2 show ip cef inconsistency records detail
      ========= Line Card (Slot 2) =======
    
      Table consistency checkers (settle time 65s)
        lc-detect: running
         0/0/0 queries sent/ignored/received
        scan-lc: running [100 prefixes checked every 60s] 
         1289156/0/0 queries sent/ignored/received
        scan-rp: running [100 prefixes checked every 60s] 
         0/0/1068308 queries sent/ignored/received
        scan-rib: running [1000 prefixes checked every 60s] 
         0/0/0 queries sent/ignored/received
      Inconsistencies: 340 confirmed, 1/4 recorded
      Test table insert mode: normal
      Test table remove mode: normal
      -------- Inconsistency record 0 --------
      Prefix entry for 192.168.3.10/32 present on RP, missing on slot 2
      Detected at 00:01:46.736 by scan-rp
      Event log entries relevant for 192.168.3.10:
      +00:00:00.000: *.*.*.*/*          New FIB table           [OK]
        0x403FA4E8 0x403FA530 0x4009C1FC 0x4009C1E8
      +00:00:03.092: *.*.*.*/*          Flush ADJ table        [OK]
        0x404000B0 0x4040EEC0 0x4040F100 0x40401F64 0x404021AC 0x4040229C
      0x404029C8 0x4009C1FC 0x4009C1E8
      +00:00:03.100: *.*.*.*/*          Flush FIB table        [OK]
        0x404039D0 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC
    0x4009C1E8
      +00:00:03.124: *.*.*.*/*          New FIB table          [OK]
        0x404039D8 0x40401F4C 0x404021AC 0x4040229C 0x404029C8 0x4009C1FC
    0x4009C1E8
      First event occurred at 00:00:07.600 (2w5d ago) 
      Last event occurred at 00:00:10.724 (2w5d ago)

Nota: Não há nenhum acesso SNMP aos registros de inconsistência. Esta característica pode ser adicionada a uma Próxima Versão do Cisco IOS.

Comandos para Troubleshooting

  • cancele o CEF linecard - Se um prefixo IP falta de uma placa de linha, use este comando reinstalar o prefixo na placa de linha MENTE.

  • clear ip route - Se houver um prefixo ausente no RP, use esse comando para reinstalar o prefixo no FIB do RP.

Quando o verificador de consistência encontra um problema, as saídas do comando seguinte estão precisadas de pesquisar defeitos exatamente a edição.

  • show ip cef - Exibe as entradas no FIB no RP.

  • exec all show ip cef – Exibe valores FIB CEF em placas de linha.

  • show tech cef - Fornece informações para suporte técnico sobre CEF.

  • show ip cef inconsistency records detail ? Exibe detalhes de inconsistência de FIB CEF no RP.

  • exec slot show ip cef inconsistency records detail – Exibe detalhes de inconsistência de CEF FIB nas placas de linha.

  • nenhuma verificação de consistência da tabela do cef IP - Desliga os verificadores.

  • debug ip cef table consistency-checkers - Faz com que a consulta e os eventos de verificação sejam depurados.

Como reinicializar o verificador de consistência

Para limpar a inconsistência do CEF, use o comando clear ip cef inconsistency. Para desligar o verificador de consistência, use o comando no ip cef table consistency-check. É importante observar que a desativação do verificador de inconsistência não corrige os problemas reportados. O sistema continua a ser executado com as inconsistências, potencialmente levando a um comportamento inesperado.

Inconsistências falsas

Nas condições raras, a versão original do verificador de consistência CEF pode relatar um falso positivo. Esse problema é causado por janelas provisórias de tempo durante a atualização de bancos de dados CEF (especialmente durante atualizações muito grandes) e a distribuição de novas informações do RP para as placas de linha. Embora os mensagens falso-positiva sejam pesadamente taxa - e são assim mais que de um incômodo do que um impacto ao CPU - Cisco limitado recomenda desabilitar o verificador de consistência CEF a menos que pesquisando defeitos um problema de consistência específico.

Para minimizar as possibilidades dos falsos positivos para prefixos em processo da atualização, você pode ajustar o acordo-tempo, que é o atraso imposto na detecção. Utilize o comando ip cef table consistency-check [settle-time]. Este comando confia em estar presente do log de eventos; se não, o acordo-tempo é eficazmente 0.

Um valor padrão de 65 segundos foi selecionado para evitar a detecção indevida de prefixos adjacentes (/32s para entradas ARP) ausentes no RP. Uma exclusão de ARP ocorre em dois estágios no RP:

  1. A adjacência é marcada como incompleto e o prefixo de adjacência é suprimido.

  2. O caminhador da adjacência de um minuto exclui a adjacência e informa as placas de linha para fazerem o mesmo.

Esse processo leva a uma janela de até 60 segundos quando o prefixo de adjacência está presente em placas de linha, mas ausente no RP.

Nota: Na versão 2.0 do verificador de consistência, a introdução das inconsistências falsas foi fixada.

Problemas conhecidos

A seguir há uma lista dos bugs conhecidos da Cisco com o verificador de consistência CEF. Esta lista não é significada ser exaustiva.

Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Informações Relacionadas


Document ID: 14540