この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、一連のCisco Nexus 9000クラウドスケールASICモジュールでスイッチドポートアナライザ(SPAN)からCPUへのパケットキャプチャを実行する手順について説明します。このドキュメントでは、SPAN-to-CPUパケットキャプチャを使用してCisco Nexus 9000 Cloud Scaleシリーズスイッチのパケットフローをトラブルシューティングする際に発生する一般的な注意事項についても説明します。
SPANからCPUへのパケットキャプチャにより、ネットワーク管理者は特定のパケットがCisco Nexus 9000 Cloud Scaleシリーズスイッチに入出力するかどうかを迅速かつ簡単に検証できます。通常のSPANまたはEncapsulated Remote SPAN(ERSPAN)セッションと同様に、SPAN-to-CPUモニタセッションには、1つ以上の送信元インターフェイスとトラフィック方向の定義が含まれます。送信元インターフェイスで定義された方向(TX、RX、またはその両方)に一致するトラフィックは、Cisco Nexus 9000デバイスのコントロールプレーンに複製されます。この複製されたトラフィックは、Ethanalyzerコントロールプレーンパケットキャプチャユーティリティを使用してフィルタリングおよび分析できます。また、後で確認するためにローカルストレージデバイスに保存することもできます。
この機能は、Cisco Nexus 9000シリーズスイッチを通過するパケットフローのトラブルシューティング中の一時的な使用を目的としています。パケットフローの問題のトラブルシューティングにSPAN-to-CPUモニタセッションがアクティブに使用されていない場合は、管理上シャットダウンまたは削除されることを強く推奨します。そうしないと、ネットワーク内の複製されたトラフィックのパフォーマンスが低下し、Cisco Nexus 9000シリーズスイッチのCPU使用率が向上する可能性があります。
このドキュメントで説明する手順は、次のハードウェアにのみ適用されます。
Cisco Nexus 9000シリーズスイッチのイーサネットスイッチドポートアナライザ(SPAN)機能の基本を理解しておくことをお勧めします。この機能の詳細については、次のドキュメントを参照してください。
このドキュメントの情報は、NX-OSソフトウェアリリース9.3(3)が稼働するCloud Scale ASICを搭載したCisco Nexus 9000シリーズスイッチに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
SPAN-to-CPUモニタセッションには、パケットフローのトラブルシューティングを行う際に注意すべき点と制限があります。このドキュメントでは、一般的に発生する注意事項について説明します。ガイドラインと制限事項の完全なリストについては、次の文書を参照してください。
デフォルトでは、Cisco Nexus 9000シリーズスイッチは、SPAN-to-CPUモニタセッションを介してコントロールプレーンに複製されるトラフィックのレートを50 kbpsに制限します。このレート制限は、クラウドスケールASIC/フォワーディングエンジンで実行され、デバイスのコントロールプレーンが複製されたトラフィックで圧倒されないようにするための自己保護メカニズムです。
show hardware rate-limiter spanコマンドは、SPAN-to-CPUモニタセッショントレートリミッタの現在の設定を表示するのに使用できます。
N9K# show hardware rate-limiter span Units for Config: kilo bits per second Allowed, Dropped & Total: aggregated bytes since last clear counters Module: 1 R-L Class Config Allowed Dropped Total +----------------+----------+--------------------+--------------------+--------------------+ span 50 0 0 0
複製されたトラフィックがハードウェアレートリミッタによって廃棄される場合、次の出力に示すように、Droppedカラムはゼロ以外の値になります。
N9K# show hardware rate-limiter span Units for Config: kilo bits per second Allowed, Dropped & Total: aggregated bytes since last clear counters Module: 1 R-L Class Config Allowed Dropped Total +----------------+----------+--------------------+--------------------+--------------------+ span 50 0 499136 499136
SPAN-to-CPUモニタセッションハードウェアレートリミッタは、hardware rate-limiter span {kbps}グローバルコンフィギュレーションコマンドを使用して変更できます。次に出力を示します。
N9K# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-1(config)# hardware rate-limiter span 250 N9K-1(config)# end N9K# show running-config | inc rate-limiter hardware rate-limiter span 250 N9K# show hardware rate-limiter span Units for Config: kilo bits per second Allowed, Dropped & Total: aggregated bytes since last clear counters Module: 1 R-L Class Config Allowed Dropped Total +----------------+----------+--------------------+--------------------+--------------------+ span 250 0 0 0
注意:シスコでは、Cisco TACから明示的に指示がない限り、SPAN-to-CPUモニタセッションハードウェアレートリミッタをデフォルト値の50 kbpsから変更することは推奨しません。このレートリミッタを大きい値に増やすと、Cisco Nexus 9000シリーズスイッチのCPU使用率とコントロールプレーンの不安定性が増加し、実稼働トラフィックに大きな影響を与える可能性があります。
show hardware rate-limiter spanコマンドの出力には、Allowedカウンタが含まれています。他のハードウェアレートリミッタでは、このカウンタはハードウェアレートリミッタを正常に通過したバイト数を示します。ただし、SPAN-to-CPUハードウェアレートリミッタのAllowedカウンタは、ソフトウェアの制限により増加しません。この例を次の出力に示します。
N9K# show hardware rate-limiter span
Units for Config: kilo bits per second
Allowed, Dropped & Total: aggregated bytes since last clear counters
Module: 1
R-L Class Config Allowed Dropped Total
+----------------+----------+--------------------+--------------------+--------------------+
span 50 0 499136 499136
このソフトウェアの制限は、すべてのNX-OSソフトウェアリリースに影響を与え、CSCva37512で文書化されています。
アクティブなSPAN-to-CPUモニタセッションが設定されたNexus 9000デバイスのコントロールプレーンに複製されたトラフィックの量を判別するには、show system internal access-list tcam ingress region spanコマンドを使用します。関連するパケットとバイトカウンタを示す前述のコマンドのフィルタ出力の例を次に示します。
N9K# show system internal access-list tcam ingress region span | include pkts:
<snip>
pkts: 56582127, bytes: 4119668263
コントロールプレーンによって作成され、SPAN-to-CPUモニタセッションの送信元インターフェイスから送信されるパケットは、SPAN-to-CPUモニタセッションではキャプチャされません。これらのパケットはインターフェイスから正しく出力されますが、パケットが生成された同じデバイス上のSPAN-to-CPUモニタセッションを介してキャプチャすることはできません。
たとえば、Ethernet1/1が別のルータに接続されたL3/ルーテッドインターフェイスであるCisco Nexus 9000シリーズデバイスを考えてみましょう。OSPFプロセス1は、Cisco Nexus 9000デバイス上で唯一のOSPFアクティブ化インターフェイスであるEthernet1/1でアクティブ化されます。
N9K# show running-config ospf !Command: show running-config ospf !Running configuration last done at: Wed Feb 26 16:16:30 2020 !Time: Wed Feb 26 16:16:37 2020 version 9.3(3) Bios:version 05.39 feature ospf router ospf 1 interface Ethernet1/1 ip router ospf 1 area 0.0.0.0 N9K# show ip ospf interface brief OSPF Process ID 1 VRF default Total number of interface: 1 Interface ID Area Cost State Neighbors Status Eth1/1 1 0.0.0.0 4 DR 0 up
Ethanalyerコントロールプレーンパケットキャプチャユーティリティは、OSPF Helloメッセージが10秒ごとにデバイスのコントロールプレーンによって生成されることを示します。
N9K# ethanalyzer local interface inband display-filter ospf limit-captured-frames 0 Capturing on inband 2020-02-26 16:19:13.041255 192.168.1.1 -> 224.0.0.5 OSPF Hello Packet 2020-02-26 16:19:22.334692 192.168.1.1 -> 224.0.0.5 OSPF Hello Packet 2020-02-26 16:19:31.568034 192.168.1.1 -> 224.0.0.5 OSPF Hello Packet ^C 3 packets captured
ただし、Ethernet1/1インターフェイスの出力/TX SPAN-to-CPUでは、60秒後にこのインターフェイスで送信されたこれらのOpen Shortest Path First(OSPF)Helloパケットは表示されません。
N9K# show running-config monitor !Command: show running-config monitor !Running configuration last done at: Wed Feb 26 16:20:48 2020 !Time: Wed Feb 26 16:20:51 2020 version 9.3(3) Bios:version 05.39 monitor session 1 source interface Ethernet1/1 tx destination interface sup-eth0 no shut N9K# show monitor Session State Reason Description ------- ----------- ---------------------- -------------------------------- 1 up The session is up N9K# ethanalyzer local interface inband mirror display-filter ospf autostop duration 60 Capturing on inband 0 packets captured
Cisco Nexus 9000デバイスのコントロールプレーンによって生成されたパケットが特定のインターフェイスから送信されるかどうかを確認するには、インターフェイスに接続されたリモートデバイスでパケットキャプチャユーティリティを使用することを推奨します。
次のトポロジを考えてみます。
VLAN 10(192.168.10.10)のサーバSRV01から送信されたインターネット制御メッセージプロトコル(ICMP)パケットは、VLAN 10ゲートウェイ192.168.10.1宛てです。このICMPパケットがデバイスN9K(Cisco Nexus 93180YC NX-OSソフトウェアリリース9.3(3)が稼働するEXは、VLAN 10でSRV01をAGGSWに接続するレイヤ2スイッチとして機能します。
NX-OSソフトウェアを実行するクラウドスケールASICを搭載したCisco Nexus 9000シリーズスイッチは、ASIC/フォワーディングエンジンごとに最大4つのアクティブSPANまたはERSPANセッションをサポートします。さらに、最初の3つのSPANまたはERSPANセッションが双方向(TXおよびRX)送信元インターフェイスで設定されている場合、4番目のSPANまたはERSPANセッションの送信元インターフェイスは入力/RX送信元である必要があります。
SPAN-to-CPUモニタセッションを設定する前に、デバイスで現在設定されている他のSPANまたはERSPANセッションの数を確認してください。これは、show running-config monitorコマンドとshow monitorコマンドで行うことができます。次の例は、デバイスに他のSPANまたはERSPANセッションが設定されていない場合の両方のコマンドの出力を示しています。
N9K# show running-config monitor !Command: show running-config monitor !Running configuration last done at: Tue Feb 25 20:34:04 2020 !Time: Tue Feb 25 20:34:06 2020 version 9.3(3) Bios:version 07.66 N9K# show monitor Note: No sessions configured
注:SPAN/ERSPANセッションの最大数およびその他の制限についての詳細は、『Cisco Nexus 9000 Series NX-OS Verified Scalability Guide for NX-OS Software Release 9.3(3)』を参照してください。
SPAN-to-CPUモニタセッションを定義する主要な設定要素は、スーパーバイザのインバンドインターフェイスである「sup-eth0」の宛先インターフェイスです。次の例は、Ethernet1/10の入力/RXパケットがCisco Nexus 9000シリーズスイッチのスーパーバイザに複製されるSPAN-to-CPUモニタセッションの設定を示しています。
N9K# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-1(config)# monitor session 1 N9K-1(config-monitor)# source interface Ethernet1/10 rx N9K-1(config-monitor)# destination interface sup-eth0 N9K-1(config-monitor)# no shut N9K-1(config-monitor)# end N9K#
show running-config monitorおよびshow monitorコマンドを使用して、SPAN-to-CPUモニタセッションが設定され、動作していることを確認します。SPAN-to-CPUモニタセッションの設定は、次の例に示すように、show running-config monitorコマンドの出力で確認できます。
N9K# show running-config monitor !Command: show running-config monitor !Running configuration last done at: Tue Feb 25 20:47:50 2020 !Time: Tue Feb 25 20:49:35 2020 version 9.3(3) Bios:version 07.66 monitor session 1 source interface Ethernet1/10 rx destination interface sup-eth0 no shut
SPAN-to-CPUモニタセッションの動作状態は、show monitorコマンドの出力で確認できます。次の例に示すように、出力では、SPAN-to-CPUモニタセッションの状態が「up」であり、「The session is up」という理由が示されます。
N9K# show monitor Session State Reason Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 up The session is up
Ethanalyerコントロールプレーンパケットキャプチャユーティリティを使用すると、Cisco Nexus 9000デバイスのコントロールプレーンに複製されたトラフィックを表示できます。Ethanalyzerコマンドのmirrorキーワードは、SPAN-to-CPUモニタセッションで複製されたトラフィックだけが表示されるように、トラフィックをフィルタリングします。Ethanalyzerのキャプチャおよび表示フィルタを使用して、表示されるトラフィックをさらに制限できます。有用なEthanalyzerのキャプチャおよび表示フィルタの詳細については、『Nexus 7000 Troubleshooting Guide』を参照してください。このドキュメントはCisco Nexus 7000プラットフォーム用に作成されたものですが、Cisco Nexus 9000プラットフォームにも適用されます。
Ethanalyzerコントロールプレーンパケットキャプチャユーティリティを使用して、SPAN-to-CPUモニタセッションで複製されたトラフィックをフィルタリングする例を次に示します。mirrorキーワードと、192.168.10.10(上記のトポロジではSRV01のIPアドレス)を送信元または宛先とするICMPパケットを定義する表示フィルタが使用されていることに注意してください。
N9K# ethanalyzer local interface inband mirror display-filter "icmp && ip.addr==192.168.10.10" limit-captured-frames 0
Capturing on inband
2020-02-25 21:01:07.592838 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.046682 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.047720 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.527646 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.528659 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.529500 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.530082 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.530659 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request 2020-02-25 21:01:08.531244 192.168.10.10 -> 192.168.10.1 ICMP Echo (ping) request ^C 9 packets captured
注:Ethanalyzerコントロールプレーンパケットキャプチャユーティリティを終了するには、Control-Cキーの組み合わせを使用します。
Ethanalyzerコマンドにdetailキーワードを含めることで、このトラフィックに関する詳細な情報を表示できます。単一のICMPエコー要求パケットの例を次に示します。
N9K# ethanalyzer local interface inband mirror display-filter "icmp && ip.addr==192.168.10.10" limit-captured-frames 0 detail
Capturing on inband Frame 2 (114 bytes on wire, 114 bytes captured) Arrival Time: Feb 25, 2020 21:56:40.497381000 [Time delta from previous captured frame: 1.874113000 seconds] [Time delta from previous displayed frame: 1.874113000 seconds] [Time since reference or first frame: 1.874113000 seconds] Frame Number: 2 Frame Length: 114 bytes Capture Length: 114 bytes [Frame is marked: False] [Protocols in frame: eth:ip:icmp:data] Ethernet II, Src: 30:8b:b2:37:6b:66 (30:8b:b2:37:6b:66), Dst: 28:ac:9e:d6:07:47 (28:ac:9e:d6:07:47) Destination: 28:ac:9e:d6:07:47 (28:ac:9e:d6:07:47) Address: 28:ac:9e:d6:07:47 (28:ac:9e:d6:07:47) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Source: 30:8b:b2:37:6b:66 (30:8b:b2:37:6b:66) Address: 30:8b:b2:37:6b:66 (30:8b:b2:37:6b:66) .... ...0 .... .... .... .... = IG bit: Individual address (unicast) .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default) Type : IP (0x0800) Internet Protocol, Src: 192.168.10.10 (192.168.10.10), Dst: 192.168.10.1 (192.168.10.1) Version : 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) 0000 00.. = Differentiated Services Codepoint: Default (0x00) .... ..0. = ECN-Capable Transport (ECT): 0 .... ...0 = ECN-CE: 0 Total Length: 100 Identification: 0x00e1 (225) Flags: 0x00 0.. = Reserved bit: Not Set .0. = Don't fragment: Not Set ..0 = More fragments: Not Set Fragment offset: 0 Time to live: 254 Protocol: ICMP (0x01) Header checksum : 0x265c [correct] [Good: True] [Bad : False] Source: 192.168.10.10 (192.168.10.10) Destination: 192.168.10.1 (192.168.10.1) Internet Control Message Protocol Type : 8 (Echo (ping) request) Code: 0 () Checksum : 0xf1ed [correct] Identifier: 0x0004 Sequence number: 0 (0x0000) Data (72 bytes) 0000 00 00 00 00 ed 9e 9e b9 ab cd ab cd ab cd ab cd ................ 0010 ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd ................ 0020 ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd ................ 0030 ab cd ab cd ab cd ab cd ab cd ab cd ab cd ab cd ................ 0040 ab cd ab cd ab cd ab cd ........ Data: 00000000ED9E9EB9ABCDABCDABCDABCDABCDABCDABCDABCD... [Length: 72] ^C 1 packet captured
SPAN-to-CPUモニタセッションのコンテキスト内でshut設定コマンドを使用して、SPAN-to-CPUモニタセッションを正常にシャットダウンし、Cisco Nexus 9000デバイスのコントロールプレーンへのトラフィックの複製を停止します。
N9K# configure terminal Enter configuration commands, one per line. End with CNTL/Z. N9K-1(config)# monitor session 1 N9K-1(config-monitor)# shut N9K-1(config-monitor)# end N9K#
show monitorコマンドを使用して、SPAN-to-CPUモニタセッションの動作状態を確認します。次の例に示すように、SPAN-to-CPUモニタセッションの動作状態は「down」と表示され、「Session admin shut」の理由が表示されます。
N9K# show monitor Session State Reason Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 down Session admin shut
必要に応じて、no monitor session {id}設定コマンドを使用して、SPAN-to-CPUモニタセッション設定を削除します。この例を次の出力に示します。
N9K# configure terminal Enter configuration commands, one per line . End with CNTL/Z. N9K-1(config)# no monitor session 1 N9K-1(config)# end
次の例に示すように、show running-config monitorコマンドを使用して、SPAN-to-CPUモニタセッション設定が正常に削除されたことを確認します。
N9K# show running-config monitor !Command: show running-config monitor !Running configuration last done at: Tue Feb 25 21:46:25 2020 !Time: Tue Feb 25 21:46:29 2020 version 9.3(3) Bios:version 07.66 N9K#
この手順の上記の例では、192.168.10.10(SRV01)から送信された192.168.10.1(AGGSW)宛てのICMPエコー要求パケットが、ホスト名がN9KのCisco Nexus 9000デバイスのEthernet1/10インターフェイスに着信しています。これは、SRV01がこのトラフィックをネットワークインターフェイスカード(NIC)から送信していることを示しています。これは、ICMPエコー要求パケットがCisco Cloud Scale ASICの転送パイプラインに十分に進み、デバイスのコントロールプレーンに複製されることを証明します。
ただし、これは、Cisco Nexus 9000デバイスがICMPエコー要求パケットをEthernet1/1からAGGSWに転送することを証明するものではありません。パケットがEthernet1/1からAGGSWに転送されているかどうかを確認するには、さらにトラブルシューティングを行う必要があります。信頼性の順:
1.予想される出力インターフェイス(この例ではN9KのEthernet1/1)のリモートデバイスが、Cloud-Scale ASICを搭載したCisco Nexus 9000シリーズデバイスの場合、リモートデバイス(前述の例ではAGGSWのEth1/1)で入力/SPAN to CPUモニタセッションをを実行できます。 予想される出力インターフェイスのリモートデバイスが、Cloud-Scale ASICを備えたCisco Nexus 9000シリーズデバイスでない場合、リモートデバイスのSPAN、ポートミラー、またはその他の類似したパケットキャプチャは同等です。
2. Cisco Nexus 9000デバイスの入力インターフェイス(上記の例ではN9KのEthernet1/10)で入力/RX ELAMを実行します。この手順の詳細については、『Nexus 9000 Cloud Scale ASIC NX-OS ELAM Troubleshooting TechNote』を参照してください。
3. Cisco Nexus 9000デバイスの出力インターフェイスで出力/TX SPAN-to-CPUを実行します(上の例ではN9KのEthernet1/1)。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
03-Oct-2021 |
初版 |