この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Catalyst 9000シリーズスイッチを含むネットワークのレイヤ2ループを特定し、トラブルシューティングする方法について説明します。
スパニングツリープロトコルの概念を理解しておくことをお勧めします。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
レイヤ2ループは、ローカルエリアネットワークでhavokを引き起こします。その結果、ブロードキャストストームが発生し、影響を受ける仮想LAN(VLAN)内の通信が妨げられ、エンドポイントとネットワークデバイスが同様にブロックされます。レイヤ2トラフィックには、最終的にパケットがネットワークで消費される存続可能時間(TTL)などのメカニズムがないため、問題は時間の経過とともに勢いを増します。代わりに、アドレス解決プロトコル(ARP)やダイナミックホストコンフィギュレーションプロトコル(DHCP)などのループされたトラフィックは、ループが切断されるまで無限にループします。アクティブループの調査を担当する担当者は、ストレスの多い立場にいます。
幸いなことに、レイヤ2ループを調査してトラブルシューティングするための実証済みの手法があります。このドキュメントでは、TACエンジニアの世代が使用する方法について説明します。
スパニングツリー:ループを防ぐ方法
この単純なトポロジは、スパニングツリープロトコルの動作を示しています。このトポロジには、次の点が当てはまります。
ループを防ぐため、スパニングツリーはこのトポロジで収束しました。 緑色の矢印は、クライアントPCから送信されたブロードキャストパケットが、相互接続されたスイッチ上でどのように転送されるかを表しています。BBBBのブロッキングポートは、クライアントから送信されたブロードキャストがデバイス間で無限にループすることを防止します。
レイヤ2ブロードキャストストームはどのように形成されますか。
スパニングツリーによるループの防止がブロードキャストストームを防げないシナリオは数多くあります。
ネットワーク上の物理(レイヤ1)の問題によって単方向リンクが発生し、スパニングツリーのスピーカでBPDUの交換の信頼性が損なわれる可能性があります。信頼性の低いBPDUの受信または配信によって、予期しないスパニングツリーコンバージェンスが発生します。
例 1:
このシナリオでは、BBBBはルートポート上のルートブリッジからのBPDUの受信を停止します。BBBBは、このBPDUの喪失に応答してコンバージします。そのルートポートはBPDUを受信しなくなり、指定ポートになるため、ルートへの実行可能なパスではなくなります。そのブロッキングポートはAAAAからBPDUを受信し続け、ルートポートになります。どちらのインターフェイスもブロックされないため、ループが発生します。
例 2:
スパニングツリーが期待どおりに収束すると、ネットワークの中断が発生する可能性もあります。 ネットワークに接続された特定のデバイスは、ループのベクトルになる可能性があります。ハブまたは同様のデバイスが予期せずネットワークに接続されると、ブロードキャストストームが発生する可能性があります。
ネットワークエンジニアは、さまざまな方法でレイヤ2ループやブロードキャストストームにアプローチします。このセクションでは、数え切れないほどのTACケースと致命的な停止でテストされた実証済みの手法について説明します。
この方法では、非常に基本的なコマンドを使用し、追跡が無秩序になる可能性があるスパニングツリープロトコル(STP)トポロジ変更通知(TCN)などのデータポイントを回避します。Rapid STP(RSTP)トポロジのTCNは、非エッジポートがブロッキングからフォワーディングに移行すると発生します。ループ自体が原因で、STPスピーカがコンバージェンスに参加できないという予測が出るほど、STPスピーカに負荷がかかる場合があります。コントロールプレーンの輻輳が原因で着信BPDUを適切に処理できない場合、被害を受けたスイッチのインターフェイスはフォワーディングに移行します。TCNは、被害を受けたデバイスを明らかにする症状であることが多いですが、必ずしもループの発生源であるとは限りません。
STP TCNの代わりに、考慮するより有効で線形なデータポイントはインターフェイス入力レートです。 ループに参加するインターフェイスは、予想される入力レートよりもはるかに高い値を示します。こうした下流デバイスは被害者である可能性が高いため、産出率はそれほど懸念されません。また、影響を受けるインターフェイス上でブロードキャストとマルチキャストの高いレートが観察され、平均パケットサイズが予想より小さい値に偏っていることがわかります。
これらのコマンドだけで、ネットワークエンジニアは単純な方法でほとんどまたはすべてではないレイヤ2ループを分離できます。
show interfaces | includeがup|入力レート
「show interfaces | include is up|input rate」のパイプと引数を使用すると、わかりやすい出力の一部が得られます。ここには、現在「up」になっているすべてのインターフェイスと、その入力レートが表示されます。ここでは、入力レートのみを考慮します。予想外に高い入力レートを持つインターフェイスは、ループの影響を受ける可能性があります。入力レートが予想外に高いインターフェイスに接続されたデバイスは、ループの発生源により近い可能性があります。 予想外に高い出力レートを持つインターフェイスは、おそらくループの発生源から遠ざかることになります。
ACCESS-SWITCH1#show interfaces | in is up|input rate <snip>
GigabitEthernet1/0/1 is up, line protocol is up (connected) <----- Typical endpoint with a low input rate. This would not raise suspiscion. 5 minute input rate 33000 bits/sec, 21 packets/sec GigabitEthernet1/0/2 is up, line protocol is up (connected) 5 minute input rate 24000 bits/sec, 11 packets/sec <snip> 5 minute input rate 0 bits/sec, 0 packets/sec <----- This output represents interfaces that are down. 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec TwentyFiveGigE1/1/1 is up, line protocol is up (connected) <----- Twe1/1/1 in this scenario is high-bandwith uplink interface. We would expect uplinks to have a fair amount of traffic on input. 5 minute input rate 2816922000 bits/sec, 2072252 packets/sec. If we were troubleshooting a loop, pay special attention to this interface given the input rate. TwentyFiveGigE1/1/2 is up, line protocol is up (connected) 5 minute input rate 2926942401 bits/sec, 3043467 packets/sec <-- The same logic goes for this port. The input rate is relatively high but that is possibly function of its position in the network. TwentyFiveGigE1/1/3 is up, line protocol is up (connected) 5 minute input rate 0 bits/sec, 0 packets/sec <snip>
ACCESS-SWITCH1#show cdp neighbor twe1/1/1 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID ACCESS-SWITCH2 Twe 1/1/1 142 S I C9300-48P Twe 1/1/4 <--- We confirm that the expected neighbor is attached to this interface. Total cdp entries displayed : 1
show spanning-tree
このコマンドを使用して、ローカルスイッチがスパニングツリーが収束したと認識する方法を理解します。 スパニングツリーのさまざまな派生版の違いに注意してください。Catalystスイッチはデフォルトでrapid-PVSTを実行しますが、PVSTとMSTをサポートします。
ACCESS-SWITCH1#show spanning-tree VLAN0001 <----- Keep in mind that in per-vlan spanning-tree, each VLAN represents a unique instance of spanning-tree Spanning tree enabled protocol rstp Root ID Priority 1 Address 380e.4d77.4800 Cost 2000 Port 3 (TwentyFiveGigE1/0/3) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address b08b.d08d.6b80 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gig1/0/1 Desg FWD 20000 128.1 P2p Gig1/0/2 Desg FWD 20000 128.2 P2p <snip> Twe1/1/1 Root FWD 800 128.33 P2p Twe1/1/2 Desg FWD 800 128.34 P2p Twe1/1/3 Alt BLK 800 128.35 P2p <---- This output corresponds with expectation. This step helps to populate STP information in your topology as you move from device to device
このシンプルでわかりやすい方法により、時間のかかるパケットキャプチャを回避し、スパニングツリーTCNに集中する必要がなくなり、調査の最前線で実際の問題を常に把握できます。また、「推測とチェック」によるトラブルシューティングも不要になります。
次のトポロジダイアグラムについて考えてみます。
スイッチ間の冗長相互接続により、このトポロジではスパニングツリーによって複数のポートがブロックされます。この例では、黄色のXマークはブロッキングポートを表しています。転送ポートはすべて、ルートブリッジと比較したローカルスイッチの場所に応じて、指定ポートまたはルートポートのいずれかになります。 緑色の矢印は、サンプルクライアントがこのネットワークで送信するブロードキャストトラフィックの正常で予想されるフローを表します。
それほど複雑ではありませんが、このネットワークでは多くの冗長リンクが存在するため、ループが形成される機会が多くなります。
トポロジ全体からのこのスニペットは、サーバが接続されているアクセススイッチのスパニングツリーの役割と状態に焦点を当てています。
ダウンストリームアクセススイッチがルートポートでBPDUを受信するのを防ぐ単方向リンクがあったかどうかを検討します。応答としてスパニングツリーが再コンバージェンスし、レイヤ2ループが発生します。
ACCESS-Cの以前のルートポートがDISTRO-BからのBPDUを受信しなくなります。スイッチはポートをルートへの実行可能なパスとして認識しなくなるため、優先順位の最も高いブロッキングポートはROOT/FORWARDINGになります。以前のルートポートはDESIGNATED/FORWARDINGに移行します。この再コンバージェンスにより、フォワーディングループが発生します。
次の図は、ループがクライアントから送信されるブロードキャストトラフィックに与える影響を示しています。 ループが中断されない限り、ループされたトラフィックは無限にループし続け、複数のインターフェイス上の影響を受けるスイッチに入出力される可能性があります。ループしたトラフィックの方向を表す複数の赤い矢印が表示されます。
より多くのトラフィックが無限にループするため、問題は勢いを増し続けます。Catalyst 9000ファミリのスイッチは、デフォルトで堅牢なコントロールプレーンポリシング(CoPP)メカニズムを利用しますが、一部の製品は利用しません。ループVLAN内にローカルスイッチ仮想インターフェイス(SVI)を持つスイッチは、そのVLAN内のブロードキャストトラフィックのコピーを持ち、CPUにパントされます。CoPPを使用しないと、このパントされたすべてのトラフィックによってスイッチのCPUが割り込まれる可能性があります。被害を受けたスイッチが期待どおりにスパニングツリーに参加できないため、この状況は悪い状況を悪化させる傾向があります。
この種の問題をトラブルシューティングする際に直面する最初の課題の1つは、どこから始めるかの決定です。 結局のところ、私たちが始める立場はそれほど重要ではありません。 ループの影響を受けるすべてのデバイスは、最終的にループの発生源までトレースします。
この例では、影響を受けるクライアントが接続するスイッチから始めます。
開始点 – ACCESS-A – クライアントに直接接続
この方法では、最初の始点は関係ありません。 影響を受けるインターフェイスはすべて、問題の発生源を指しています。最初に、このプロセスに従うと、ループやリフレクションの発生源に到達します。このシナリオでは、影響を受けるクライアントはスイッチACCESS-Aに接続します。ここから始めましょう。このプロセスの最初のステップは、すべてのアクティブインターフェイスの入力レートを考慮することです。
ACCESS-A#show interfaces | in is up|input rate GigabitEthernet1/0/1 is up, line protocol is up (connected) 5 minute input rate 33000 bits/sec, 21 packets/sec <--- This access port (downlink) has a small volume of traffic inbound. This does not raise suspiscion. <snip> 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec TwentyFiveGigE1/1/1 is up, line protocol is up (connected) 5 minute input rate 2816922000 bits/sec, 2672252 packets/sec <--- This port is an uplink. There is a fair amount of traffic inbound on this port, but also keep in mind that the uplink is expected to be busier. TwentyFiveGigE1/1/2 is up, line protocol is up (connected) <--- This is our other uplink on this switch. The input rate is zero, suggesting the other end of this link is not transmitting. This implies that the other end of the link successfully blocks. 5 minute input rate 0 bits/sec, 0 packets/sec
平均パケットサイズは、1秒あたりのバイト数を1秒あたりのパケット数で割ることによって計算されます。この例では、平均パケットサイズは約132バイトです。これは、大量の小さなパケットによって平均が歪んでいることを示唆しています。たとえば、大量のARPがあると、実稼働ネットワークで予想される平均パケットサイズと同じ誤差が生じる可能性があり、そのポートがブロードキャストストームの被害を受けていることが示唆されます。
いずれのダウンリンクも異常な入力レートを示しません。影響を受ける可能性があるポートは、ディストリビューションレイヤへのアップリンクであるルートポートのみです。次のデバイスに移る前に、まずスイッチのスパニングツリーについて検討します。
ACCESS-A#show spanning-tree <--- Without an argument, this command gives spanning-tree information for all VLANs with an active STP instance running. For this example, we assume VLAN 1 is consistent with all VLANs on the trunk. VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 380e.4d77.4800 Cost 2000 Port 3 (TwentyFiveGigE1/1/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address b08b.d08d.6b80 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gig1/0/1 Desg FWD 20000 128.1 P2p Gig1/0/2 Desg FWD 20000 128.2 P2p <snip> Twe1/1/1 Root FWD 800 128.33 P2p Twe1/1/2 Desg FWD 800 128.34 P2p
<snip>
これは、ネットワークとスパニングツリーのコンバージェンスの予測方法を知っておくと役に立ちます。Te1/1/1は想定されるルートポートです。Twe1/1/2もスイッチに接続して転送しますが、その入力レートは0パケット/秒であるため、リンクのもう一方の端が正常にブロックしていることがわかります。スパニングツリーに関しては、すべて問題ないように見えます。ここで、影響を受けるポートのリンクピアを確認します。
ACCESS-A#show cdp neighbors twentyFiveGigE 1/1/1 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID DISTRO-A Twe 1/1/1 137 S I C9300-48P Twe 1/0/3
ネクストホップスイッチ:DISTRO-A
次のステップでは、疑わしいインターフェイスに接続しているスイッチで、前のアクティビティを繰り返します。 「show interfaces」を実行します。 | include is up|input rate」を使用して、入力レートが非常に高いインターフェイスを特定します。
DISTRO-A#show interfaces | in is up|input rate 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec TwentyFiveGigE1/1/1 is up, line protocol is up (connected) 5 minute input rate 4846092202 bits/sec, 4572251 packets/sec <-- In this scenario, this input rate raises red flags. This is another situation where understanding normal baselines is helpful. TwentyFiveGigE1/1/2 is up, line protocol is up (connected) 5 minute input rate 0 bits/sec, 0 packets/sec <-- The other end of this link is likely blocking. TwentyFiveGigE1/1/3 is up, line protocol is up (connected) 5 minute input rate 146192134 bits/sec, 171252 packets/sec <-- Fair amount of usage, though exponentially smaller that our 'suspect' link. Again, knowing expected baselines is helpful to identify when deviations occur. This is a downlink towards an access switch in this scenario, and does not raise red flags. TwentyFiveGigE1/1/4 is up, line protocol is up (connected) 5 minute input rate 4938392202 bits/sec, 4723294 packets/sec <-- This is along the same magnitude of input as Twe1/1/1. Often, interfaces impacted by the same broadcast storm shows similar activity. In our scenario, this interface raises red flags. TwentyFiveGigE1/1/5 is up, line protocol is up (connected) 5 minute input rate 032182156 bits/sec, 104263 packets/sec <-- Similar to Twe1/1/3, this interface is active but not at a suspicious level.
DISTRO-Aでは、入力レートが予想より高い2つのインターフェイスが見つかりました。ループの性質は、通常は送信元へのパスが複数あることを意味します。 両方のインターフェイスに注目しますが、最初にスパニングツリーを調べて、異常がないかどうかを確認します。
DISTRO-A#show spanning-tree
VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 380e.4d77.4800 Cost 2000 Port 3 (TwentyFiveGigE1/1/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address c18b.a18d.5b76 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Twe1/1/1 Root FWD 800 128.33 P2p Twe1/1/2 Desg FWD 800 128.34 P2p Twe1/1/3 Desg FWD 800 128.35 P2p Twe1/1/4 Desg FWD 800 128.36 P2p Twe1/1/5 Desg FWD 800 128.37 P2p
<snip>
ネットワーク内のDISTRO-Aの位置を見ると、このスイッチ上のすべてのポートが転送されることが期待されていることがわかります。ルートブリッジに直接接続するルートポート(Twe1/1/1)があります。他のスイッチへのダウンリンクと相互接続はすべて指定され、転送されます。これは、スパニングツリーの出力で追跡されます。
ここで、疑わしいインターフェイス上のピアを確認し、次に何を行うかを決定します。 どちらの方向でも、ループの発生源に到達します。
DISTRO-A#show cdp neighbors twentyFiveGigE 1/1/1 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID CORE Twe 1/1/1 137 S I C9500-48Y4C Twe 1/0/1 DISTRO-A#show cdp neighbors twentyFiveGigE 1/1/4 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID ACCESS-B Twe 1/1/4 137 S I C9300-48P Twe 1/1/1
最初にCOREを確認しますが、ACCESS-Bに移行する場合も、このシナリオで同様に有効です。
ネクストホップスイッチ:CORE
CORE#show interfaces | in is up|input rate TwentyFiveGigE1/0/1 is up, line protocol is up (connected) <--- Both active downlinks have comparably high input rates. It is not unexpected for core devices to have high interface activity. 5 minute input rate 4946092202 bits/sec, 4671352 packets/sec TwentyFiveGigE1/0/2 is up, line protocol is up (connected) 5 minute input rate 4936092202 bits/sec, 4474252 packets/sec <--- It appears that both Twe1/0/1 and Twe1/0/2 are victimized. These are the only active downlinks, so this makes sense. <snip> 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec
このスイッチはルートブリッジであるため、すべてのインターフェイスが転送されることが予想されます。「show spanning-tree」で迅速に確認します。
CORE#show spanning-tree VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 380e.4d77.4800 This bridge is the root Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 1 (priority 0 sys-id-ext 1) Address 380e.4d77.4800 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Twe1/0/1 Desg FWD 800 128.25 P2p Twe1/0/2 Desg FWD 800 128.26 P2p
ブロードキャストストームに対する予期しない入力パスはありません。シスコが廃棄する情報に基づくと、ループはコアのダウンストリームに位置します。次に、ダウンリンクのピアを確認します。
CORE#show cdp neighbors twentyFiveGigE 1/0/1 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID DISTRO-A Twe 1/0/1 144 S I C9300-48P Twe 1/1/1 CORE#show cdp neighbors twentyFiveGigE 1/0/2 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID DISTRO-B Twe 1/0/2 139 S I C9300-48P Twe 1/1/1
ディストロAから来ました。DISTRO-Aを再検討し、疑わしいとマークされたスイッチ上の他のインターフェイス/ピアを確認するか、DISTRO-Bに向かいます。次にDISTRO-Bを見てみましょう。
ネクストホップスイッチ:DISTRO-B
DISTRO-B#show interfaces | in is up|input rate <snip> 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec TwentyFiveGigE1/1/1 is up, line protocol is up (connected) 5 minute input rate 4446192309 bits/sec, 4673252 packets/sec <--- Suspicious TwentyFiveGigE1/1/2 is up, line protocol is up (connected) 5 minute input rate 4457101202 bits/sec, 4571365 packets/sec <--- Suspicious TwentyFiveGigE1/1/3 is up, line protocol is up (connected) 5 minute input rate 136192034 bits/sec, 170261 packets/sec TwentyFiveGigE1/1/4 is up, line protocol is up (connected) 5 minute input rate 4936092202 bits/sec, 4474252 packets/sec <--- Suspicious
次に、スパニングツリーについて簡単に説明し、予期したとおりに動作することを確認します。
DISTRO-B#show spanning-tree VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 380e.4d77.4800 Cost 800 Port 3 (TwentyFiveGigE1/1/1) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address b08b.d08d.6b80 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- <snip> Twe1/1/1 Root FWD 800 128.33 P2p Twe1/1/2 Desg FWD 800 128.34 P2p Twe1/1/3 Desg FWD 800 128.33 P2p
Twe1/1/3 Desg FWD 800 128.33 P2p Twe1/1/5 Alt BLK 800 128.34 P2p
このスイッチのスパニングツリーは、安定したネットワークに期待されるものに対応します。ルートポートが想定どおりに収束され、DISTRO-B(Twe1/1/4)への相互接続がブロックされていることがわかります。アクセス側インターフェイスは指定/転送です。
次に、疑わしいインターフェイス上のピアを調査します。
DISTRO-B#show cdp neighbors twentyFiveGigE 1/1/1 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID CORE Twe 1/1/1 144 S I C9500-48Y4C Twe 1/0/1 DISTRO-B#show cdp neighbors twentyFiveGigE 1/1/2 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID ACCESS-C Twe 1/1/2 139 S I C9300-48P Twe 1/1/1 DISTRO-B#show cdp neighbors twentyFiveGigE 1/1/5 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID DISTRO-A Twe 1/1/5 132 S I C9300-48P Twe 1/1/2
COREから来たばかりで、すでにDISTRO-Aを訪れました。これまでの調査結果に基づいて、ロジックはACCESS-Cに送信されます。
アクセスC
ACCESS-C#show interfaces | in is up|input rate GigabitEthernet1/0/1 is up, line protocol is up (connected) 5 minute input rate 43012 bits/sec, 34 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute input rate 0 bits/sec, 0 packets/sec
<snip> TwentyFiveGigE1/1/1 is up, line protocol is up (connected) 5 minute input rate 0 bits/sec, 0 packets/sec <-- This interface has zero packets inbound. Normally this means the interface on the other end of the link is blocking. In this scenario we need to take a closer look since the upstream switch is a distribution switch. TwentyFiveGigE1/1/2 is up, line protocol is up (connected) 5 minute input rate 4834056103 bits/sec, 4461235 packets/sec <-- This interface has a suspicious input rate. TwentyFiveGigE1/1/3 is up, line protocol is up (connected) 5 minute input rate 4456091109 bits/sec, 4573242 packets/sec <-- This interface also has a suspicious input rate.
このスイッチは明らかにループの影響を受けます。2つのインターフェイスが被害の証拠を示しています。また、ディストリビューションレイヤへのアップリンクが予想外に静かになっています。これらの観察に注目し、spanning-tree nextをチェックして、何か目立つものがないか確認します。
ACCESS-C#show spanning-tree VLAN0001 Spanning tree enabled protocol rstp Root ID Priority 1 Address 380e.4d77.4800 Cost 1600 Port 4 (TwentyFiveGigE1/1/2) Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Bridge ID Priority 32769 (priority 32768 sys-id-ext 1) Address b08b.d08d.6b80 Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec Aging Time 300 sec Interface Role Sts Cost Prio.Nbr Type ------------------- ---- --- --------- -------- -------------------------------- Gig1/0/1 Desg FWD 20000 128.01 P2P <snip> Twe1/1/1 Desg FWD 800 128.33 P2p Twe1/1/2 Root FWD 800 128.34 P2p Twe1/1/3 Alt BLK 800 128.33 P2p
しかし、スパニングツリーの動作とネットワークで何が期待されているかを理解しておくことは重要です。予想されるスパニングツリーコンバージェンスを示す前の図から、ACCESS-Cには2つのブロッキングポートがあると予想されます。show spanning-treeの出力にはブロッキングポートが1つだけリストされており、大きな赤いフラグになっています。これは、トラブルシューティング中に目立たなくなる可能性があるため、このスイッチで異常なその他の特徴を見てみましょう。
階層型ネットワーク内のアクセススイッチには、通常、ルートポートと、ルートへの1つ以上の代替ポートがあります。ルートブリッジから離れたダウンリンクは通常、「designated」および「forwarding」です。Twe1/1/1は指定ポートとして示されています。つまり、リンクパートナーよりもルートブリッジに近いと見なしています。この図にはポート番号は記載されていません。そのため、問題の疑われるデバイスのどのポートにどのデバイスが接続されているかを確認します。
ACCESS-C#show cdp neighbors twentyFiveGigE 1/1/1 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID. <--- There is no neighbor information listed for this interface. Very suspiscious. ACCESS-C#show cdp neighbors twentyFiveGigE 1/1/2 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID ACCESS-B Twe 1/1/2 144 S I C9300-48P Twe 1/1/3
ACCESS-C#show cdp neighbors twentyFiveGigE 1/1/3 Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone, D - Remote, C - CVTA, M - Two-port Mac Relay Device ID Local Intrfce Holdtme Capability Platform Port ID DISTRO-A Twe 1/1/3 137 S I C9300-48P Twe 1/1/2
インターフェイスTwe1/1/1にはネイバーがリストされていません。これは、ピアから送信されたCDPフレームが到達しない(または到達して処理できない)ことを示し、この状況での単方向リンクを示唆します。この時点で、DISTRO-BとACCESS-Cの間のリンクをさらに詳しく調べるのに十分な証拠があります。
このインターフェイスでの入力レートはゼロですが、スパニングツリーの出力とインターフェイスの出力レートに基づいて、他端からの転送が予測されます。リンクの両端が指定されていると主張する予期しないSTPコンバージェンスとCDP情報の欠如を組み合わせると、このリンクは単方向になります。
この状況でループを解消する最も速い方法は、ACCESS-AのTwe1/1/1をシャットダウンすることです。 Twe1/1/1を閉じると、ループは物理的に切断されます。ループが物理的に中断されると、ブロードキャストストームは即座に収束し始めます。
これは単純化されたシナリオですが、概念を示しています。ループの発生源への影響を受けるインターフェイスをトレースします。
要約
このシナリオでは、レイヤ2ループを迅速かつ正確にトラブルシューティングするための基本的な方法を示しました。この方法は、次の手順で要約できます。
ACCESS-C#show interfaces | in is up|input rate
2. 問題の疑われるインターフェイスに接続しているピアデバイスを特定します。ループは、これらのインターフェイスの1つのダウンストリームにあります。 複数のパスがループを指していますが、最終的にはすべてのパスが送信元に繋がっています。
ACCESS-C#show cdp neighbors twentyFiveGigE 1/1/1
3. 一部のネットワークには、複数の転送パスを持つデバイスがあります。スパニングツリーをチェックして、トポロジが期待どおりに収束されていることを確認します。ブロッキングインターフェイスがブロックすることを確認します。
ACCESS-C#show spanning-tree
これらの手順を組み込み、デバイス間を移動する際にトポロジを構築します。最終的にループの発生源に到達します。
何らかの要因によってスパニングツリーが想定どおりに収束しない場合に、ループが発生する可能性があります。このシナリオでは、単方向リンクにより、ブロックされることが予想されるリンク上でアクセススイッチが転送を行いました。
ブロードキャストストームは、不正なデバイスや疑わしいデバイスがループしたり、トラフィックがネットワークに戻ったりしたときにも発生します。
このドキュメントで説明する方法論は、ネットワーク専門家がレイヤ2ループやトラフィックリフレクションのシナリオの原因をすばやく特定するために役立ちます。
最後に、なぜTCNを使用しないのでしょうか。
現場では、ループのトラブルシューティングを行う際に、スパニングツリーTCNに重点を置いて追跡することが一般的です。インプットレートを推奨します。Catalyst 9000ファミリのスイッチには、堅牢なコントロールプレーンポリシングポリシー(CoPP)が組み込まれており、パントされたトラフィックの量に起因するパントパスの中断を防ぎます。ただし、Catalyst 9000スイッチのCoPPは、ボリュームがプラットフォームポリサーの値を超える場合にBPDUをポリシングします。そのため、高いCPU使用率が見られない場合でも、Catalyst 9000のスパニングツリーが犠牲になります。2960、3560、3750、4k回線などのレガシーCatalystを含むその他のスイッチプラットフォームはCoPPを使用しないため、ループの発生時に電力が過剰になる可能性があります。あらゆるデバイスがループの影響を受ける可能性があるため、スパニングツリーはCPUパントパス上の何百万もの誤ったブロードキャストと競合します。その結果、生成されるTCNは誤検出であることが多く、エンジニアを誤った経路に導くことになります。
Catalystスイッチには、レイヤ2ループに対する耐性を備えたオプション機能があります。これらの機能とベストプラクティスは、ループが発生する前にループを防止し、発生した場合の影響を軽減することを目的としています。
機能
RootGuard:Root Guardは、インターフェイスがルートポートになることを防ぎます。上位のBPDUが受信されると、インターフェイスはRoot-Inconsistent状態になります。これは、他の組織によって管理されているデバイスへの接続がネットワークに含まれている場合に特に役立ちます。通常、これはアクセスレイヤに面するディストリビューションレイヤダウンリンクに適用されます。安定したネットワークでは、上位のBPDUがダウンストリームから到達することは想定されていません。
LoopGuard:通常STPでは、ルートポートと代替ポートはBPDUを受信し、指定ポートはそれを送信します。この関係により、スパニングツリーが単方向リンクに応答できなくなる可能性があります。ループガードは、代替ポートまたはルートポートが指定ポートになることを防止します。BPDUがインターフェイスで定期的に受信されず、処理されない場合、ループガードによってインターフェイスはerr-disabled状態になります。
BPDUGuard:この機能は、設定されたポートでBPDUが受信された場合にインターフェイスをerr-disable状態にすることで動作します。これは、別のネットワークデバイスの接続が想定されていないエッジポートで設定します。この機能は、PortFastと組み合わせて使用されることがよくあります。
PortFast:PortFastはエッジポートで使用されます。ほとんどはアクセスですが、一部のシナリオではトランクでも使用されます。エッジポートがスパニングツリーの通常の段階を行わずに、直接、フォワーディングに移行できる。これにより、エンドポイントの観点から見た時間が節約され、不安定なエッジポートがTCNを送信することも防止されます。ネットワークデバイスが誤って接続された場合にループが発生しないようにするため、PortFastは常にBPDUGuardと一緒に使用する必要があります。
その他のベストプラクティス
VLANスコーピング:トランク上で必要なVLANのみを許可します。これにより、ループの範囲が制限され、ローカライズされた問題がネットワーク全体の停止になることを防ぎます。
非動作VLANをネイティブとして使用する:ベストプラクティスは、トランクに非動作VLANを使用することです。多くのネットワークでは、デフォルトのネイティブVLAN(1)が使用されており、これはネットワーク全体に広がっています。非動作VLANをネイティブとして使用して、ループの潜在的な範囲をさらに制限します。
均一パスコスト計算方法の使用:Catalyst 9000シリーズのスイッチでは、IOS XE 17.6の時点で、すべてロングパスコスト方式がデフォルトで実行されます。以前のバージョンは、デフォルトでは不足する可能性があります。ほとんどのレガシーCatalystスイッチは、デフォルトでは短く動作します。複数のパスコスト方式が混在する環境では、トポロジの変更や障害への対応に問題が生じます。すべてのスイッチで同じ方法が実行されていることを確認します。詳細については、スパニングツリーに関連するプラットフォーム設定ガイドを参照してください。
「spanning-tree pathcost method <long/short>」コマンドを使用して、パスコスト方式を操作します。「Show spanning-tree summary」を使用して、使用されている方式を確認します。
ACCESS-A(config)#spanning-tree pathcost method ? long Use 32 bit based values for default port path costs short Use 16 bit based values for default port path costs ACCESS-A(config)#spanning-tree pathcost method long <snip>
ACCESS-A#show spanning-tree summary Switch is in rapid-pvst mode Root bridge for: VLAN0001 Extended system ID is enabled Portfast Default is disabled PortFast BPDU Guard Default is disabled Portfast BPDU Filter Default is disabled Loopguard Default is disabled EtherChannel misconfig guard is enabled UplinkFast is disabled BackboneFast is disabled Configured Pathcost method used is long <--- Displays the configured pathcost method.
<snip>
スパニングツリープロトコルの設定 – Catalyst 9300スイッチ
スパニングツリーのオプション機能の設定 – Catalyst 9300スイッチ
スパニングツリーのオプション機能の設定 – Catalyst 9600スイッチ
改定 | 発行日 | コメント |
---|---|---|
1.0 |
14-Nov-2023 |
初版 |