はじめに
このドキュメントでは、Cisco Nexus 9000パケットトレーサユーティリティを設定する方法について説明します。
前提条件
要件
次の項目に関する基本的な知識が推奨されます。
- Cisco Nexus 9000 ハードウェア アーキテクチャ
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Cisco Nexus 9500
- SW バージョン 7.0(3)I2(2a)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
パケット トレーサは、スイッチ経由でパケットのパスを追跡するために使用可能な、Nexus 9000 上の組み込みユーティリティです。コマンド ラインを使用して起動することができ、IP アドレスやレイヤ 4 属性を照合するように設定できます。ARP トラフィックを照合するために使用することはできません。
このツールを使用すると、フローがスイッチを通過しているかどうかを確認できます。また、備わっているカウンタを使用してフロー統計を追跡でき、パケットの断続的/完全な損失の発生時に役立ちます。
使用例のシナリオ
- IPv4 フローのみに該当(IPv6 および非 IP はサポートされません)
- このツールでは、Wireshark で示されるパケット内部の詳細は表示されません。
- 断続的なパケット損失:pingまたはその他のユーティリティは、パケット損失の明確な症状を提供できます
- 完全なパケット損失
サポートされているハードウェア
Broadcom Trident II ASIC 搭載のライン カード/ファブリック モジュールまたは TOR のみがサポートされます。以下に一覧を示します。
- N9K-C9372TX
- N9K-C9372PX
- N9K-C9332PQ
- N9K-C9396TX
- N9K-C9396PX
- N9K-C93128TX
- N9K-C9336PQ
- N9K-X9564PX
- N9K-X9564TX
- N9K-X9636PQ
サポートされていないハードウェア
- N9K-C93180YC-EX
- N9K-X9732C-EX
- N9K-C9232C
- N9k-C9272Q
- N9k-C92160YC
注:特定のラインカード/TORがリストされていない場合は、TACにお問い合わせください。
パケット トレーサの使用方法
コンフィギュレーション
パケット トレーサ コマンドは EXEC レベルのコマンドです。
N9K-9508#test packet-tracer src_ip <src_ip> dst_ip <dst_ip> <==== provide your src and dst ip
N9K-9508#test packet-tracer start <==== Start packet tracer
N9K-9508#test packet-tracer stop <==== Stop packet tracer
N9K-9508#test packet-tracer show <==== Check for packet matches
上記のコマンドは、ラインカードまたはファブリックモジュールに存在するすべてのBroadcom Trident II ASICに対してトリガーをプログラムします。一致する属性を持つフローがこれらのモジュールを通過すると、カウンタのヒットが示されるため、スイッチ内のパスを特定するのに役立ちます(入力モジュール – >ファブリックモジュールの1つ---->出力モジュール)。
カウンタを使用してドロップを関連付けることができます。
背景説明
ファブリック モジュールは、入出力モジュール スロットを相互接続します。すべてのファブリック モジュールがアクティブで、トラフィックを伝送します。ファブリック モジュールごとに 2 つの Broadcom Trident II ASIC(T2)インスタンスがあります。
問題
該当するトラフィックを特定の物理インターフェイスが受信したかどうか確認するには、PACL(ポート アクセスリスト)を使用します。ただし Nexus プラットフォームでは、一部のラインカードで PACL に対する TCAM カービングが行われません。TCAM カービングでは、モジュールのリロードが必要です。このような場合、パケット トレーサを使用して該当するトラフィックを照合します。また、ファブリック ポートに向かうパケットと出力モジュールに向かうパケットを追跡することもできます。そのため、パケット トレーサを使用することで、スイッチ内でトラフィックがどのように転送されるかをより詳しく把握できます。
パケット トレーサは、SPAN に対してカービングされる TCAM エントリを使用します。
解決方法
NS:North Star ASIC(北米地域)
T2 - Trident II ASIC
NFE:Network Forwarding Engine(ネットワークフォワーディングエンジン)
ALE:ACI リーフ エンジン
Nexus 9000スイッチアーキテクチャの詳細については、こちらのホワイトペーパーを参照してください。
注:9500シャーシには最大6つのファブリックモジュールがあります。前の図では、ファブリックを1つだけ表示してシンプルにしています。モジュールからのトラフィックは、任意のファブリックモジュールに到達できます。
使用例:入力モジュールでのトラフィックの照合、ファブリックモジュールでの入力トラフィック、および出力モジュールでのT2 ASICへの入力トラフィック
該当するトラフィックを照合するために設定する必要のある基本手順は次のとおりです。
switch#test packet-tracer {<src-ip>|<dst-ip>|<src-l4-port>|<dst-l4-port>} [<protocol>] [detail-fp|detail-hg]
必要な設定は次のとおりです。
switch#test packet-tracer src_ip <src_ip> dst_ip <dst_ip> protocol <> <==== provide your src and dst ip and protocol (protocol option 1 is for icmp)
switch#test packet-tracer start <==== Start packet tracer
switch#test packet-tracer show <==== Check for packet match statistics
特定のインターフェイスに適用する必要はありません。これらの設定では、T2 ASICのすべてのインスタンス上のすべてのLC/FMにフィルタACLがインストールされます。
トラフィックが入力されたモジュールのパケットカウントを示します。これは、モジュール(ラインカードとファブリックの両方)で受信される該当するトラフィックに一致します。
設定例を次に示します。
N9K-9508# test packet-tracer src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1 <=== Protocol 1 matches ICMP traffic
N9K-9508# test packet-tracer start
「test packet-tracer show」出力を解釈する方法を次に示します。
N9K-9508# test packet-tracer show
Packet-tracer stats
---------------------
Module 1: <=== Slot #. Same output will be displayed for other Linecards's and Fabric modules.
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 <==== Our filter #1
ASIC instance 0: <==== Trident ASIC instance #0
Entry 0: id = 7425, count = 0, active, fp, <==== pakcet match count on front panel port. it could be any port
Entry 1: id = 7426, count = 0, active, hg, <==== packet match count from fabric module to T2 ASIC on the linecard
ASIC instance 1:
Entry 0: id = 7425, count = 0, active, fp,
Entry 1: id = 7426, count = 0, active, hg,
Filter 2 uninstalled:
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
設定例:
パケット トレーサの設定:
N9K-9508# test packet-tracer src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1 <==== Filter to match echo traffic. Protocol 1 to match icmp traffic
N9K-9508# test packet-tracer src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1 <=== Filter to match echo reply traffic
N9K-9508# test packet-tracer start <==== Start packet tracer
N9K-9508# test packet-tracer show non-zero <==== Command to see packet statistics
Packet-tracer stats
---------------------
Module 1:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 2:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 22:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 23:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 24:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 25:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
テスト:モジュール1に接続された送信元IPからモジュール2に接続された宛先IPにpingを実行します。
Router# ping 10.1.1.1 source 10.2.2.1
PING 10.1.1.1 (10.1.1.1) from 10.2.2.1: 56 data bytes
64 bytes from 10.1.1.1: icmp_seq=0 ttl=253 time=0.77 ms
64 bytes from 10.1.1.1: icmp_seq=1 ttl=253 time=0.43 ms
64 bytes from 10.1.1.1: icmp_seq=2 ttl=253 time=0.408 ms
64 bytes from 10.1.1.1: icmp_seq=3 ttl=253 time=0.398 ms
64 bytes from 10.1.1.1: icmp_seq=4 ttl=253 time=0.383 ms
--- 10.1.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.383/0.477/0.77 ms
確認:パケットトレーサ数を確認します。
N9K-9508# test packet-tracer show non-zero <==== Command to see packet statistics
Packet-tracer stats
---------------------
Module 1:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 5, active, fp, <===== 5 Echo packets ingress on Module 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 2:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
ASIC instance 0:
Entry 0: id = 7457, count = 5, active, fp, <===== 5 Echo reply packets ingress on Module 2
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 3:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 4:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 22:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 4, active, hg, <==== Fabric module 22 received 4 echo packets
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 23:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 1, active, hg, <==== Fabric module 23 received 1 echo packets
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 3, active, hg, <==== Fabric module 23 received 3 echo reply packets
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 24:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
ASIC instance 0:
Entry 0: id = 7425, count = 2, active, hg, <==== Fabric module 23 received 2 echo reply packets
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
Module 26:
Filter 1 installed: src-ip 10.1.1.1 dst-ip 10.2.2.1 protocol 1
Filter 2 installed: src-ip 10.2.2.1 dst-ip 10.1.1.1 protocol 1
Filter 3 uninstalled:
Filter 4 uninstalled:
Filter 5 uninstalled:
N9K-9508#
その他の便利なコマンド:
test packet-tracer remove-all <=== すべての設定済みフィルタを削除
test packet-tracer clear <filter #> <=== すべてのフィルタまたは指定されたフィルタのカウンタをクリア
test packet-tracer src_ip <.> dst_ip <> l4-dst-port <dst_port> | l4-src-port <src_port> | protocol <=== L4 src_port、L4 dst_port または protocol に基づいて照合