O Cisco IOS® Software suporta vários mecanismos para facilitar o encaminhamento de tráfego com um retardo mínimo e throughput alto. Este documento explica como determinar qual caminho de switching ou encaminhamento do Cisco IOS são usados pelo pacotes.
Observação: este documento discute apenas switching de processo, switching rápida e Cisco Express Forwarding (CEF).
Leitores deste documento devem estar cientes destes tópicos:
Cisco IOS Software
Plataformas para Cisco 1600, 2500 e 3600 Series
Este documento não se restringe a versões de software e hardware específicas.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
A switching do Cisco IOS define o fluxo de pacotes pelo roteador. Mais especificamente, ele determina a velocidade com que o pacote pode ser encaminhado através do roteador e também em que buffers físicos os pacotes são armazenados.
Durante a história do Cisco IOS, vários métodos de switching foram desenvolvidos. Somente algumas plataformas específicas oferecem suporte a alguns métodos. CEF é o método de switching mais recente. Quando o CEF é ativado globalmente (comportamento padrão), o comando específico da interface ip route-cache cef também é ativado. Esse comando garante que a comutação CEF seja feita para pacotes que entram nessa interface. Ocasionalmente, se necessário para desabilitar o CEF em uma única interface, o comando no ip route-cache cef é adicionado. Isso desabilita a comutação CEF somente para essa interface. O Cisco IOS não adiciona o comando no ip route-cache ao running-config sozinho quando é forçado a desabilitar o CEF. Ele foi apresentado em várias plataformas na linha principal do Cisco IOS 12.0, especialmente plataformas de baixo e médio alcance, como as séries Cisco 1600, 2500 e 3600.
Quando um roteador recebe um pacote em uma interface roteada, primeiro remove as informações do quadro da Camada 2 (L2). Ele então armazenada o pacote de Camada 3 (L3) na memória de entrada/saída (E/S). O que acontece em seguida depende do caminho de switching que o pacote segue.
Estas etapas podem ser usadas para confirmar se os pacotes seguem o caminho de switching CEF:
Confirme se o CEF está habilitado globalmente e em uma determinada interface.
router#show ip cef %CEF not running
Use o comando ip cef no modo de configuração global para habilitar o CEF (central).
Observação: no Cisco 7200 Series, CEF é o método de switching padrão do Cisco IOS em uma próxima versão do Cisco IOS.
Use o comando show ip cef prefix e confirme se os prefixos estão listados.
router#show ip cef Prefix Next Hop Interface 0.0.0.0/32 receive 192.168.0.0/30 attached Serial2/0/0:1 192.168.0.0/32 receive
Confirme se o CEF está habilitado em uma interface específica.
Use o comando show cef interface x/x para procurar por "switching CEF de IP habilitada" ou "switching CEF distribuído de IP (dCEF) habilitada"
router#show cef interface fastEthernet 0/0/0 FastEthernet0/0/0 is up (if_number 2) Internet address is 192.168.1.253/24 ICMP redirects are always sent Per packet loadbalancing is disabled Inbound access list is not set Hardware idb is FastEthernet0/0/0 Fast switching type 1, interface type 18 IP Distributed CEF switching enabled Fast flags 0x0. ifindex 1(1) Slot 0 Slot unit 0 VC -1 Hardware transmit queue ptr 0x48001A00 (0x48001A00) Transmit limit accumulator 0x48001A02 (0x48001A02) IP MTU 1500
Use o comando show ip interface para exibir os métodos de comutação ativados do Cisco IOS.
router#show ip interface fastethernet 1/0/0.1 FastEthernet1/0/0.1 is up, line protocol is up IP fast switching is enabled IP fast switching on the same interface is enabled IP Flow switching is disabled IP CEF switching is enabled IP Distributed switching is enabled IP Fast switching turbo vector IP Normal CEF switching turbo vector IP multicast fast switching is enabled IP multicast distributed fast switching is disabled IP route-cache flags are Fast, Distributed, No CEF
Nesta saída, o sinalizador "No CEF" indica que o CEF foi desabilitado devido ao comando no ip route-cache cef em uma interface específica. O indicador "CEF" indica que o CEF é executado. Em um estado fixo, ambos os flags não devem aparecer. O bug da Cisco ID CSCdr80269 (clientes registrados apenas) resolve condições raras que podem levar ao aparecimento dos dois flags. Para obter mais informações sobre IDs de bug, consulte o Bug Toolkit (somente clientes registrados) .
Confirme se a maioria dos pacotes que fluem pelo roteador são comutados por CEF.
Use o comando show interface x/x stat e determine o número de pacotes e bytes que o roteador encaminhou através do "processador" em vez de "cache de rota". Observe que o "cache de rota" inclui pacotes comutados rapidamente e CEF.
router#show interface stats FastEthernet0/0 Switching path Pkts In Chars In Pkts Out Chars Out Processor 95084 26211621 33493 3386174 Route cache 24581 1132797 24542 13297583 Distributed cache 0 0 0 0 Total 119665 27344418 58035 16683757
Use o comando show ip cache para determinar se há uma entrada de cache IP, que indica que o pacote segue o caminho de switching rápida. A comutação rápida baseia-se em um cache de rota sob demanda para agilizar o encaminhamento de pacotes através de um roteador. O código do driver que é executado no hardware da interface transfere o controle temporariamente para o código de switching rápida, que procura no cache da rota um quadro e outras informações construídas a partir de um pacote transmitido anteriormente. Se o cache da rota contiver uma entrada, o código de switching rápida tentará enviar o pacote diretamente para a interface de destino.
router#show ip cache IP routing cache 0 entries, 0 bytes 0 adds, 0 invalidates, 0 refcounts Minimum invalidation interval 2 seconds, maximum interval 5 seconds, quiet interval 3 seconds, threshold 0 requests Invalidation rate 0 in last second, 0 in last 3 seconds Prefix/Length Age Interface Next Hop
Essas etapas delineiam um procedimento mais específico para verificar se os pacotes estão sendo encaminhados usando o CEF.
Ative o CEF com o comando ip cef.
Emita o comando clear ip cache para limpar as entradas de cache de comutação rápida.
Inicie o fluxo de tráfego.
Emita o comando show ip cache. Confirme se nenhuma entrada está sendo exibida no cache de comutação rápida, pois os pacotes são comutados pelo CEF.
Emita o comando show interface stats e confirme os acertos incrementais para a entrada do cache de rota.
Observação: o contador de cache de rota inclui pacotes comutados rapidamente e CEF.
Desative o CEF com o comando no ip route-cache cef na interface de entrada.
Emita o comando show interface stats e confirme os acertos incrementais do cache de rotas.
Emita o comando show ip cache e confirme se você vê entradas já que o Cisco IOS voltou para a comutação rápida.
Emita o comando no ip route-cache na interface de saída para desativar a comutação rápida. Os pacotes na interface de entrada correspondente são comutados por processo.
Observação: não é recomendado configurar a comutação de processos em uma rede de tráfego intenso.
Se você confirmou que o CEF está habilitado em uma interface de roteador e determinou que a maioria dos pacotes não é comutada por CEF, capture esses comandos quando relatar um problema ao Cisco Technical Assistance Center (TAC).
Nota:Consulte Informações Importantes sobre Comandos de Depuração antes de usar os comandos debug.
show cef interface x/x — Exibe informações de interface relacionadas ao CEF.
show ip cef prefix — Exibe a entrada do prefixo na Base de Informações de Encaminhamento (FIB).
show adjacency interface detail — Exibe prefixos recursivos e diretos resolvidos por meio da adjacência.
show cef not-cef-switched — Exibe quais pacotes não são comutados por CEF.
debug ip cef drop — Exibe informações de depuração para pacotes descartados por CEF.
A interface de entrada determina o caminho de switching do Cisco IOS que um pacote toma. Considere essas regras de thumb quando você habilita ou desabilita os métodos de comutação em uma interface específica.
| Interface de entrada | Interface de saída | Método de switching |
|---|---|---|
| CEF | Processo | CEF |
| Processo | CEF | Rápido |
| Processo | Switching Rápida (cache de rota de IP) | Switching rápida |
| CEF | Switching rápida | CEF |
Em outras palavras, você precisa que o CEF seja ativado na interface de entrada para que os pacotes sejam comutados pelo CEF. Como o CEF toma a decisão de encaminhamento na entrada, use o comando no ip route-cache cef na interface de ingresso para desativar o CEF. Por outro lado, como o Cisco IOS cria uma entrada de cache de switching rápida após comutar um pacote, um pacote que entra em uma interface comutada por processo e sai por uma interface comutada rapidamente é comutado, use o comando no ip route-cache na interface de saída para desativar a comutação rápida. Esses tipos de tráfego não são comutados por CEF:
Pacotes para os quais não há entrada no cache de switching
Pacotes destinados ao roteador
Tráfego de broadcast
Pacotes IP sem opções
Pacotes que requerem conversão de protocolos
Tráfego criptografado
O termo "punt" é definido pela Cisco para descrever a ação do driver de dispositivo de uma interface de enviar um pacote "para baixo" para o próximo nível de switching mais rápido. Essa lista define a ordem dos métodos preferidos de switching do Cisco IOS (do mais rápido ao mais lento).
CEF distribuído
CEF
Switching rápida
Switching de processo
Uma punção ocorre sob estas condições:
O nível seguinte mais baixo não produziu um caminho válido ou, no caso de CEF, uma adjacência válida. Em outras palavras, se o processo de consulta CEF falhou ao tentar localizar uma entrada válida no banco de informações de encaminhamento, o pacote é transportado para o próximo caminho de switching disponível ou é descartado.
Um determinado recurso ou encapsulamento da camada 2 não é suportado no nível mais baixo. Se o CEF suportar determinado recurso, a propriedade de um pacote é passada através de um conjunto de rotinas de software no "caminho de recurso" do CEF.
Um recurso requer processamento especial.
Uma adjacência de erro de saída no CEF é instalada quando algum recurso de saída não é suportado no CEF. O CEF pontua todos os pacotes que vão a tal adjacência para o próximo melhor modo de comutação, a fim de comutar todos os pacotes.
center#show ip cef 45.0.0.0
45.0.0.0/8, version 184, 0 packets, 0 bytes
via 1.1.1.1, Tunnel0, 0 dependencies
next hop 1.1.1.1, Tunnel0
valid punt adjacency
CEF Packets passed on to next switching layer
Slot No_adj No_encap Unsupported Redirect Receive Bad_ttl Options
RP 0 0 0 0 5700 0 0
2 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0
Com uma adjacência incompleta, o CEF considera que o roteador como um todo (incluindo todos os demais caminhos de switching) não sabe como obter o nó adjacente. Nós punimos os pacotes para processar a comutação a fim de iniciar algum protocolo de resolução como o ARP (Address Resolution Protocol), o que resulta na conclusão da adjacência algum tempo depois. Nessa condição, o CEF aponta um pacote a cada dois segundos para o próximo caminho de switching para evitar uma inundação de pacotes. Assim, nessa condição, os pings no endereço IP podem falhar cerca de 50% e você vê um "!.!.!.!.!" padrão de ping. Essa condição também ocorre quando a tabela CEF está corrompida, como indicado por uma diferença entre as informações do comando show ip route e as informações do comando show ip cef para um endereço IP específico.
Observação: no Gigabit Switch Router (GSR), a placa de linha (LC) gera respostas de eco ICMP (Internet Control Message Protocol) de dentro do CEF. Se o pacote não for destinado a um dos endereços locais de GSRs, nenhum processo será envolvido. Ele é comutado diretamente no hardware ou sob interrupção no dCEF, dependendo de qual LC você usa.
No GSR, a switching rápida e a alternância de processo não estão disponíveis. Se um prefixo de destino não puder ser resolvido para uma entrada de encaminhamento nas tabelas de LCs de entrada, o pacote será ignorado. Apenas os pacotes que correspondem a uma adjacência glean são direcionados para o Gigabit Routing Processor (GRP). Além disso, no GSR, a CPU do LC não envia pacotes ao GRP para recursos, e o LC envia um ICMP inalcançável (desde que o comando no ip unreachables não esteja configurado). No GSR, o único tráfego apontado para o GRP é de pacotes destinados a uma interface no roteador ou de pacotes originados do roteador.