はじめに
このドキュメントでは、XR組み込みパケットトレーサについて説明します。カスタムパケットフローをトレースして、サービスの検証やトラブルシューティングに役立てることができます。
前提条件
要件
XR Embedded Packet Tracerは、Cisco IOS® XRバージョン7.1.2以降で最初に使用可能になり、ASR 9000シリーズでサポートされます。 追加のXR製品ファミリは、将来のアップデートでサポートされる予定です。
使用するコンポーネント
XR Embedded Packet Tracerは特定のプロトコルに依存せず、すべてのタイプのユニキャストおよびマルチキャストパケットと互換性があります。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
バックグラウンド情報.
XR Embedded Packet Tracerフレームワークにより、サービスフロー検証とパケット転送問題のトラブルシューティングが大幅に簡素化されました。
パケットトレースがインターフェイス上でアクティブになると、ネットワークプロセッサ(NP)は着信パケットを評価して、定義された基準を満たしているかどうかを判断します。パケットが指定の条件を満たす場合、識別子が内部ヘッダーに追加されます。このIDにより、ルータ内のデータパスとパントパスに関係するすべてのコンポーネントでパケットを容易に追跡できます。
条件とは、ルータを通過するときにトレースできるパケットを定義する一連の条件またはルールのことです。これらの条件は、トラブルシューティングまたはサービス検証のために、システムが特定のパケットフローを識別および監視するのに役立ちます。
条件は、次のコンポーネントで構成されます。
-
物理インターフェイス:
- パケットの到着先となるネットワークインターフェイスを指定します。
- 例:
packet-trace condition interface Gi0/0/0/1
-
オフセット/値/マスクの3要素:
XR Embedded Packet Tracerの制限事項
XRリリース7.1.2
パケットマーキングは、Lightspeed Plus、LightweightPeed、およびTomahawkラインカードでサポートされています。
パケットトレースは、前述のタイプのラインカードでサポートされています。
最大3つの4オクテットのオフセット/値/マスクセットを指定できます。
XRリリース7.5.2
Packet Tracerは、条件が設定されたときにバンドルメンバーを自動的に解決します
spp、NetIO、UDP、TCPのパントパスでパケットをトレースできるようになりました
Packet Tracerのワークフロー
次の図は、Packet Tracerワークフローの動作を示しています。

設定
Packet Tracerのカウンタと状態をクリアする
パケットトレーサカウンタをリセットするコマンド。パケットトレーサカウンタは、必要に応じてリセットできます。
clear packet-trace counters all
すべてのパケットトレーサの状態を削除するには、次のコマンドを使用します。
clear packet-trace conditions all
注意:設計上、パケットトレーサの状態をクリアできるのは、パケットトレースが非アクティブである間だけです。
パケットトレースの開始/停止
パケットトレースの開始と終了を手動で指定する必要があります。
RP/0/RP0/CPU0:Device# packet-trace start
RP/0/RP0/CPU0:Device# packet-trace stop
Packet Tracerの状態
条件は次のとおりです。
-
物理インターフェイス:パケットを受信すると予想される物理インターフェイスを示します。
-
[オフセット]、[値]、[マスク] [3要素]を選択します。関心の流れを定義するのに役立ちます。
Packet Tracerの状態 – インターフェイス
RP/0/RP0/CPU0:Device#packet-trace condition interface GigE0/0/0/0
RP/0/RP0/CPU0:Device#packet-trace condition interface GigE0/0/0/1
ヒント:サブインターフェイスでトレースする場合、オフセット/値/マスクの指定では、dot1qまたはQinQカプセル化を考慮する必要があります。
Packet Tracerの状態 – オフセット/値/マスク
「XR Packet Tracer Condition Generator Web App」は、パケットトレーサ条件を作成するためのツールを提供します。
ソースコードとインストールのガイドラインは、GitHubのXR Embedded Packet Tracer - Condition Generatorという名前でアクセスできます。
このアプリケーションを使用すると、目的のパケットフローのプロトコルスタックを視覚的に構築し、条件を定義するための関連レイヤを選択し、トレースする特定のフローを記述する値(オプションのマスクを使用)を入力できます。
Web Appのランディングページには、設定がサポートされているプロトコルヘッダーのリストが表示されます。
オフセットの計算はヘッダーの順序に依存するため、トラフィックを照合するヘッダーの前に必要なすべてのヘッダーを含めてください。
ヒント:PW制御ワードヘッダーを使用する場合は、必ずこれを含めてください。
設定例:
次にトポロジの例を示します。このドキュメントの目的は、パケットがXRV1デバイスを介して適切に送受信されているかどうかを確認することです。

1. – 監視する特定のインターフェイスのパケットトレース条件を設定します。
RP/0/RP0/CPU0:xrv-1#packet-trace condition interface Bundle-Ether1
RP/0/RP0/CPU0:xrv-1#packet-trace condition interface Bundle-Ether2
2. – オフセット/値/マスクを生成します。一致させるヘッダーの横にあるチェックボックスを選択します。必要に応じて、複数のヘッダーを選択できます。選択したヘッダーごとに、対応するフレームが右側に表示されます。必要な値とマスクをフレームに入力し、Submitボタンをクリックして設定を完了します。

3. – オフセット/値/マスクがクリップボードにコピーされたら、これを使用して条件を定義します。
RP/0/RP0/CPU0:xrv-1#packet-trace condition 1 Offset 30 Value 0xc0a80a Mask 0xffffff
RP/0/RP0/CPU0:xrv-1#packet-trace condition 5 Offset 34 Value 0xc0a80c Mask 0xffffff
4. – パケットトレースステータスを確認します。
RP/0/RP0/CPU0:xrv-1#show packet-trace status
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Inactive
RP/0/RP0/CPU0:xrv-1#
RP/0/RP0/CPU0:xrv-1#show packet-trace status detail
------------------------------------------------------------
Location: 0/0/CPU0
Available Counting Modules: 4
#1 SPP
Last errors:
#2 npu_server_lsp
Last errors:
#3 NETIO
Last errors:
#4 UDP
Last errors:
Available Marking Modules: 1
#1 npu_server_lsp
Interfaces: 0
Conditions: 0
Last errors:
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Inactive
------------------------------------------------------------
Location: 0/RP0/CPU0
Available Counting Modules: 3
#1 SPP
Last errors:
#2 NETIO
Last errors:
#3 UDP
Last errors:
Available Marking Modules: 0
RP/0/RP0/CPU0:xrv-1#
5.- Packet Tracerを起動します。
RP/0/RP0/CPU0:xrv-1# packet-trace start
RP/0/RP0/CPU0:xrv-1#
RP/0/RP0/CPU0:xrv-1# show packet-trace status
------------------------------------------------------------
Packet Trace Master Process:
Buffered Conditions:
Interface Bundle-Ether1
Member GigE0/0/0/0
Interface Bundle-Ether2
Member GigE0/0/0/1
1 Offset 30 Value 0xc0a80a Mask 0xffffff
5 Offset 34 Value 0xc0a80c Mask 0xffffff
Status: Active
RP/0/RP0/CPU0:xrv-1#
6. – トラフィックをキャプチャするために、数分待ちます。
7. – 結果を確認します。
RP/0/RP0/CPU0:xrv-1#show packet-trace result
T: D - Drop counter; P - Pass counter
Location | Source | Counter | T | Last-Attribute | Count
------------ ------------ ------------------------- - ---------------------------------------- ---------------
0/0/CPU0 NP0 PACKET_MARKED P GigE0_0_0_0 6812
0/0/CPU0 NP0 PACKET_TO_FABRIC P 6812
0/0/CPU0 NP0 PACKET_TO_PUNT P 6543
0/0/CPU0 NP0 PACKET_FROM_FABRIC P 6812
0/0/CPU0 NP0 PACKET_TO_INTERFACE P GigE0_0_0_1 6812
RP/0/RP0/CPU0:xrv-1#
8.- show packet-trace descriptionコマンドを使用して、パケットトレーサフレームワークに登録されているすべてのカウンタとその説明を確認できます。
RP/0/RP0/CPU0:xrv-1#show packet-trace descriptions
NP0 PACKET_MARKED M Marked from ingress interface
NP0 PACKET_FROM_INJECT P Injected from linecard CPU
NP0 PACKET_FROM_FAB_INJECT P Injected from fabric
NP0 PACKET_ING_DROP D Dropped on ingress
NP0 PACKET_TO_FABRIC P Sent to router fabric
NP0 PACKET_TO_PUNT P Punted to linecard for CPU handling
NP0 PACKET_FROM_FABRIC P From router fabric
NP0 PACKET_EGR_DROP D Dropped on egress
NP0 PACKET_TO_INTERFACE P Packet sent to network interface
RP/0/RP0/CPU0:xrv-1#
9. – パケットトレースを停止します。
RP/0/RP0/CPU0:xrv-1#packet-trace stop
関連情報
XR組み込みパケットトレーサ
シスコのテクニカルサポートとダウンロード
ASR 9000シリーズラインカードのタイプの理解