Este documento descreve uma ferramenta disponível, Netdr, nos switches Cisco Catalyst 6500 Series que executam os Supervisor Engines 720 ou 32 que permite capturar pacotes no caminho interno da banda para a CPU do Route Processor (RP) ou CPU do Switch Processor (SP).
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas nos switches Cisco Catalyst 6500 Series que executam o Supervisor Engine 720.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
A CPU RP é normalmente usada para lidar com o tráfego de controle de Camada 3 (L3), bem como o tráfego de dados de L3 que não pode ser comutado por hardware. Alguns exemplos de tráfego de controle de L3 são pacotes OSPF (Open Shortest Path First), EIGRP (Enhanced Interior Gateway Routing Protocol), BGP (Border Gateway Protocol) e PIM (Protocol Independent Multicast). Alguns exemplos de tráfego de dados L3 que não podem ser comutados por hardware são pacotes com opções IP definidas, pacotes com valores de Time To Live (TTL) de 1 e pacotes que exigem fragmentação.
A CPU da controladora de armazenamento é normalmente usada para tratar o tráfego de controle da Camada 2 (L2). Alguns exemplos disso são os pacotes Spanning Tree Protocol (STP), Cisco Discovery Protocol (CDP) e VLAN Trunking Protocol (VTP).
A ferramenta Netdr é usada para capturar os pacotes de transmissão (Tx) e recepção (Rx) no caminho interno de switching do software da CPU na banda interna. Esta ferramenta não pode ser usada para capturar o tráfego que é comutado por hardware.
O Netdr é útil em tentativas de solucionar problemas de cenários de uso de CPU alta. Para verificar o quanto a CPU RP está ocupada, execute o comando show process cpu ou show process cpu history. Para verificar o quanto a CPU do SP está ocupada, emita o comando remote command switch show process cpu ou remote command switch show process cpu history.
O Netdr é útil apenas para solucionar problemas de utilização elevada e orientada por interrupções. A utilização da CPU orientada por interrupções é o resultado do processamento de pacotes recebidos enviados à CPU.
Cat6500#show process cpu
CPU utilization for five seconds: 90%/81%; one minute: 89%; five minutes: 80%
No exemplo anterior:
Esta seção descreve como usar a ferramenta Netdr.
Para capturar pacotes no caminho da CPU de RP na banda, use esta sintaxe:
Cat6500#debug netdr capture ?
acl (11) Capture packets matching an acl
and-filter (3) Apply filters in an and function: all must match
continuous (1) Capture packets continuously: cyclic overwrite
destination-ip-address (10) Capture all packets matching ip dst address
dstindex (7) Capture all packets matching destination index
ethertype (8) Capture all packets matching ethertype
interface (4) Capture packets related to this interface
or-filter (3) Apply filters in an or function: only one must match
rx (2) Capture incoming packets only
source-ip-address (9) Capture all packets matching ip src address
srcindex (6) Capture all packets matching source index
tx (2) Capture outgoing packets only
vlan (5) Capture packets matching this vlan number
Para capturar pacotes no caminho da CPU na banda do SP, você deve executar todos os comandos do console do SP.
Cat6500#remote login switch
Trying Switch ...
Entering CONSOLE for Switch
Type "^C^C^C" to end this session
Cat6500-sp#debug netdr capture ?
Quando os pacotes são capturados, eles são exibidos com o comando show netdr capture.
Aqui estão algumas das opções disponíveis para o Netdr:
Conclua estes passos para solucionar problemas com o Netdr:
Cat6500#debug netdr capture rx
Cat6500#show netdr capture
A total of 4096 packets have been captured
The capture buffer wrapped 0 times
Total capture capacity: 4096 packets
------- dump of incoming inband packet -------
interface NULL, routine mistral_process_rx_packet_inlin, timestamp 06:35:39.498
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)
bpdu 0, index_dir 1, flood 0, dont_lrn 1, dest_indx 0x387(903)
05000018 03F16000 01020000 40000000 00117F00 00157F00 00100000 03870000
mistral hdr: req_token 0x0(0), src_index 0x102(258), rx_offset 0x76(118)
requeue 0, obl_pkt 0, vlan 0x3F1(1009)
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800
protocol ip: version 0x04, hlen 0x05, tos 0x00, totlen 46, identifier 8207
df 0, mf 0, fo 0, ttl 32, >src 127.0.0.16, dst 127.0.0.21
udp src 68, dst 67 len 26 checksum 0xB8BC
Revise os pacotes para identificar os principais talkers e tendências. Você pode usar a opção "| include" para pesquisar com base em campos como o endereço MAC de origem (srcmac), o endereço MAC de destino (destmac), os endereços IP de origem e destino (src e dst) e o índice de origem (src_indx).
Cat6500#show netdr capture | include srcmac
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD
destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD
Cat6500#show netdr capture | inc src_indx
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)
dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)
Cat6500#remote command switch test mcast ltl-info index 102
index 0x102 contain ports 5/3
! This is the physical interface sourcing the packet going to the CPU.
Cat6500#remote command switch test mcast ltl-info index 387
index 0x387 contain ports 5/R
!5/R refers to RP CPU on the supervisor engine in slot 5