内容

概要

前提条件

要件

使用するコンポーネント

背景説明

Netdr ツールの使用

Options

トラブルシュート

概要

このドキュメントでは、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%

上の例では、次のようになっています。

- 90% が、合計の CPU 使用率です。

- 81% は割り込みによる CPU 使用率で、CPU により処理されるトラフィックを構成します。

- 9 %(90 ～ 81)はCisco IOSによるCPU使用率ですか。ソフトウェアプロセス。

Netdr ツールの使用

ここでは、Netdr ツールを使用する方法について説明します。

注：Netdr は、バージョン 12.2(33) SXH 以降などの、新しい Cisco IOS ソフトウェア バージョンにおいて CPU 使用率が高い状況で安全に使用できます。一部の古いソフトウェア リリースでは、Netdr がより多く CPU を使用するため、すでに高 CPU 使用率のスイッチで実行するには危険があります。スイッチで古いソフトウェア バージョンを実行する場合は、Cisco Technical Assistance Center（TAC）の監督下でこの機能を使用することを推奨します。

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 ?

注：通常の RP CPU コマンド プロンプトに戻るには、「exit」と入力します。

パケットをキャプチャすると、show netdr capture コマンドを使って表示できます。

Options

Netdr のオプションの一部を次に示します。

- continuous オプションを使用した場合、スイッチは全キャプチャ バッファ（4096 パケット）をインバンド CPU パケットで連続的に満たし、ファースト イン ファースト アウト（FIFO）方式でバッファを上書きしていきます。

- tx オプションおよび rx オプションは、CPU から来るパケットと、CPU に向かうパケットを、それぞれキャプチャします。

- interface オプションは、指定したインターフェイスへ送られるパケットまたは指定したインターフェイスから送られるパケットをキャプチャするために使用します。このインターフェイスは、スイッチ仮想インターフェイス（SVI）またはスイッチの L3 インターフェイスです。

- vlan オプションは、指定した VLAN のすべてのパケットをキャプチャするために使用されます。指定される VLAN は L3 インターフェイスに関連付けられた内部 VLAN のいずれでもかまいません。show vlan internal usage コマンドは、内部 VLAN の L3 インターフェイスへのマッピングを表示するために使用されます。

- LTL（ローカル ターゲット ロジック）は、インターフェイスの内部ソフトウェアを表しています。src_indx（送信元インデックス）オプションと dst_indx（宛先インデックス）オプションは、送信元 LTL インデックスおよび宛先 LTL インデックスにそれぞれ一致するすべてのパケットをキャプチャするために使用します。interface オプションは、L3 インターフェイス（SVI または物理インターフェイス）の送受信パケットのキャプチャのみ可能であることに注意してください。 src_indx オプションまたは dst_indx オプションを使用すると、L2 インターフェイスの Tx パケットや Rx パケットをキャプチャできます。src_indx オプションおよび dst_indx オプションは L2 または L3 インターフェイス インデックスのいずれかを指定して使用します。

トラブルシュート

注：Netdr は、バージョン 12.2(33) SXH 以降などの、新しい Cisco IOS ソフトウェア バージョンにおいて CPU 使用率が高い状況で安全に使用できます。一部の古いソフトウェア リリースでは、Netdr がより多く CPU を使用するため、すでに高 CPU 使用率のスイッチで実行するには危険があります。スイッチで古いソフトウェア バージョンを実行する場合は、Cisco TAC の監督下でこの機能を使用することを推奨します。

Netdr を使用して問題のトラブルシューティングを行うには、次の手順を実行します。

1. Netdr で、RP CPU に着信するトラフィックのキャプチャを開始します。
Cat6500#debug netdr capture rx

2. キャプチャしたパケットを表示します。
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

3. パケットを確認してトップ トーカーとトレンドを把握します。送信元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)

4. パケットの送信元インターフェイスおよび宛先インターフェイスを検出するには、src_indx および dest_indx を復号化します。

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