このドキュメントでは、Supervisor Engine 720 または 32 を実行する Cisco Catalyst 6500 シリーズ スイッチで使用可能なツールの Netdr について説明します。このツールを使って、ルート プロセッサ CPU(RP)またはスイッチ プロセッサ CPU(SP)への内部インバンド パス上のパケットをキャプチャすることができます。
このドキュメントに特有の要件はありません。
このドキュメント記載されている情報は、Supervisor Engine 720 を実行する Cisco Catalyst 6500 シリーズ スイッチに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
RP CPU は通常、ハードウェア スイッチングできないレイヤ 3(L3)制御トラフィックと L3 データ トラフィックの処理に使用されます。L3 制御トラフィックの例としては、Open Shortest Path First(OSPF)、Enhanced Interior Gateway Routing Protocol(EIGRP)、Border Gateway Protocol(BGP)、Protocol Independent Multicast(PIM)パケットなどがあります。ハードウェア スイッチングできない L3 データ トラフィックの例としては、IP オプションを設定したパケット、存続可能時間(TTL)値が 1 のパケット、およびフラグメンテーションが必要なパケットなどがあります。
SP CPU は通常、レイヤ 2(L2)制御トラフィックの処理に使用されます。この例としては、スパニング ツリー プロトコル(STP)、Cisco Discovery Protocol(CDP)、および VLAN Trunking Protocol(VTP)パケットがあります。
Netdr ツールを使用して、内部インバンド CPU ソフトウェア スイッチング パス上の送信(Tx)パケットと受信(Rx)パケットの両方をキャプチャします。このツールは、ハードウェア スイッチングされるトラフィックのキャプチャには使用できません。
Netdr は CPU 使用率の高いシナリオのトラブルシューティングに役立ちます。RP CPU がどれほどビジーであるかを確認するには、show process cpu コマンドまたは show process cpu history コマンドを実行します。SP CPU がどれほどビジーであるかを確認するには、remote command switch show process cpu コマンドまたは remote command switch show process cpu history コマンドを実行します。
Netdr は、割り込みによる高 CPU 使用率のトラブルシューティングにのみ便利です。割り込みによる CPU 使用率は、CPU に送られる着信パケットを処理した結果です。
Cat6500#show process cpu
CPU utilization for five seconds: 90%/81%; one minute: 89%; five minutes: 80%
上の例では、次のようになっています。
ここでは、Netdr ツールを使用する方法について説明します。
RP インバンド CPU パスでパケットをキャプチャするには、次の構文を使用します。
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
SP インバンド CPU パスでパケットをキャプチャするには、SP コンソールからすべてのコマンドを実行します。
Cat6500#remote login switch
Trying Switch ...
Entering CONSOLE for Switch
Type "^C^C^C" to end this session
Cat6500-sp#debug netdr capture ?
パケットをキャプチャすると、show netdr capture コマンドを使って表示できます。
Netdr のオプションの一部を次に示します。
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
パケットを確認してトップ トーカーとトレンドを把握します。送信元MAC(srcmac)アドレス、宛先MAC(destmac)アドレス、送信元および宛先(src & dst)IPアドレス、送信元インデックス(src_indx)などのフィールドに基づいて検索するには、"| include"オプションを使用できます。
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