ブリッジング(イーサネット)ループを診断するにはどうすればよいですか?


43

スパニングツリーに障害が発生した場合(またはスパニングツリーがない場合)、イーサネットループが発生した場合、問題の場所を診断する最善の方法は何ですか?

どのスイッチ?、どのケーブル?等々。


何か答えがありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探してください。または、独自の回答を提供して受け入れることもできます。
ロンモーピン

回答:


31

では、次のようなトポロジがあると仮定します。

          SW1
         /   \
        /     \
       /       \
PC A--SW2-----SW3--PC B

何らかの理由でブリッジングループがあり、STPが無効になっているか、誰かが間違った場所などでフィルターを適用しています。

PC AはPC Bと通信したい。PCBは最初にPC BのMACに対してARPを送信し、宛先はMAC ffff.ffff.ffffのブロードキャストです。したがって、フレームはSW1とSW3の両方に送られます。SRC MACはPC Aです。SW1はフレームをSW3にフラッディングし、SW3はSW2からSW1に着信するフレームをフラッディングします。

SW1とSW3は、最初のフレームが入ったときにPC AのMACを学習しました。2番目のフレームが反対方向から入った場合、それを再学習する必要があります。これらのイベントは非常に高速で繰り返し発生するため、MACフラッピングを訴えるログメッセージが表示されます。「MAC FLAP 0000.0000.0001はGi0 / 24とGi0 / 23の間でフラッピングしています」のようなものです。これは、ループがあることを示す良い兆候です。

その後、このMACをトレースしようとすることができます。同じサブネット内のデバイスのARPキャッシュを調べて、このデバイスのIPを確認してください。したがって、MACでは、sh mac-address-tableまたはIPを使用してトレースを試みることができます。すべてのIPとそれらが接続されている場所のリストがある場合があります。

ホストがDHCPサーバーからIPアドレスを取得する場合、ホストがどこから来ているのかを見つけるためにそこで試すこともできます。オプション82を有効にしている場合は、非常に役立ちます。

他の兆候は、CLIが非常に遅くなることです。CPU負荷は非常に高くなります。スイッチはASICでほぼすべてを実行するため、スイッチのCPU負荷が50%を超える場合、おそらく適切ではありません。SNMP監視を実装し、高CPU負荷に注意する必要があります。MACフラップメッセージも探します。スイッチにループがある場合、LEDはおそらく狂ったように点滅します。

ループから保護するためにできること:

  • STPを有効にします!(だよ)
  • CPU負荷のSNMPモニタリング
  • STPトポロジの変更など、特定のイベントのSNMPトラップを有効にします
  • ブロードキャストを制限するには、ポートでストーム制御を有効にします
  • L2トポロジでVLANを過度にスパンしないでください。
  • ポートセキュリティを有効にし、ポートごとのMACアドレスの数を制限する
  • DHCPを実行する場合はOption82を有効にします

CPU負荷項目に少し驚かされます。私はこれをブリッジングループで見たことはありませんが、ループを扱う私の経験はすべてProCurveギアにあります。それらについては、CLIが決して緩慢であるようには見えませんでした。
ポール・ギア

面白い。たぶん、HPはシスコとは違うことをしているのかもしれません。これに影響を与える可能性があるのは、ループに関係するインターフェースの速度です。ユニキャストまたはブロードキャストの場合。スイッチのVLANにSVIがあるかどうか。
ダニエルディブ

1
うん-ちょっと変だ。私は...(スイッチIPの問題を除く)それらのもののすべてがシリコンであることだろうと思っているだろう
ポール・ギア

実際、考えてみると、影響を受けるVLANにスイッチIPがなかったことはほぼ確実です。そのサイトのスイッチ間リンクはすべて、管理IPが設定されていない中継VLANでタグ付けされていません。
ポール・ギア

22

ユーザーの1人が最近、誰かの机からデスクトップスイッチを借りました。スイッチを返すと、近くにあるすべてのルーズイーサネットエンドを接続しました。これらのケーブルの1つはネットワークに接続され、別のケーブルは同じケーブルの2つの端でした。デスクトップスイッチはネットワークに接続され、それ自体に接続されました。スイッチにはSTPがなかったため、ネットワークから着信したブロードキャストは、他のケーブルで双方向にループしました。もちろん、ループされたポートでブロードキャストが受信されるたびに、ネットワークに複製されます。それはHSRPを完全に狂気に追いやり、そして-貧弱な設計のために-それはまた、キャンパス全体でOSPF隣接障害をもたらしました。

問題の最初の兆候は、私のメールに転送されたmacflapでした。これにより、すぐに正しいワイヤリングクローゼットが見つかりました。そこから、それはポートLED、インターフェイスpps、およびログに基づいた除去のプロセスでした。言うまでもなく、私はキャンパス全体を再設計しました。最良の予防策はおそらくbpduguardです。それ以来、この機能を展開しましたが、非常に簡単でした。私の電子メールでerrdisable syslogを取得することは至福にほかなりません。


3
残念ながら、さまざまなスイッチに接続されたWIFIアクセスポイントがある場合、MAC Flapsログメッセージは役に立ちません。ユーザーが1つのAPから次のAPにローミングすると、そのようなメッセージが発生します。BPDUガード(またはそのようなメカニズム)は、アクセススイッチでは必須です。怠zyな場合は、「errdisable recovery cause bpduguard」ステートメントを配置することもできます。これにより、5分後にerror-disableに設定されたポートが自動的にフォワーディングステートになり、切断後に設定でポートをリセットする必要がなくなります問題のケーブル
レミレトルノー

1
>そこから、それはポートLEDに基づいた除去のプロセスでした...ああ、Das Blinkenlichten。
アーサーケイ

11

ほとんどの機器では、CPUが100%になり、できるのは冗長な物理接続を切断することだけです。CPUが落ち着いたら、リンクを1つずつ差し戻して、どのリンクがループを引き起こしているのかを確認できます。

大きなシャーシ(6500など)の場合、すべてのブレードを引き出して、一度に1つずつ接続し直す必要がありました。どのブレードを見つけたら、個々のリンク(16 GBIC)をすべて引き出して、一度に1つずつ戻す必要がありました。決して楽しい。

最近の機器の中には、CPUが保護されているため、これを簡単に処理できるようにする必要があります-ボックスと対話することもできます。その時点で、トラフィックカウンターなどを調べて、誤動作しているリンクを特定することが可能になります。


11

私は最近、各ポートでブロードキャスト制限を使用する会社で働き始めました。ポートがブロードキャストとして容量の5%を超える場合、スイッチはポートをERRDISABLEにします。

 storm-control broadcast level 5.00  
 storm-control action shutdown

これは、1つのグループが無線ネットワークをLANにブリッジするデバイスを接続する傾向がある場合の命の恩人でした。

あなたの実際の質問のために、私はいつもそれがマニュアルであることを見つけました。


9

IOSの場合:

ポート間でMACアドレスがフラッピングしている可能性があります。以下のMAC_MOVE_NOTIFICATION(または同様の)エラーを探します。

sh logg

ポートを見つけるために:

sh int g0/1 controller

普通MulticastではないBroadcast数字を探してください。衝突は悪い兆候です。

最後になりましたが、CPUがpwnedされているため、ログインできません:)

sh proc cpu

スイッチはここでどうなっていますか?L2スイッチのみの場合、10%を超えるものは必要ありません。


9

管理されていない、または管理されていない(ログインの詳細がない、またはスイッチのオペレーティングシステムの知識など)、スイッチ、ブリッジループがある場合、手動でループを見つける方法を説明します。また、これは、元の質問「STPがありません」の根本的な問題にも対応しています。

このループの障害箇所を特定するための基本的なアルゴリズムは、ポートIDを含むBPDUを送信するためのアクセスが容易ではないことを除いて、STPに似ています。

  • 最初に、パケットダンプ/スニッフィング対応デバイスをいずれかのスイッチのポートに接続します。これで、このデバイスがツリーのルートデバイスになりました。
    • 複数の場所、たとえば「キャンパス」などで障害の場所を特定する必要がある場合は、ポータブルsshクライアントを使用してパケットダンプマシンにリモートでログインできるようにすることで利益を得られます。
      • 私は個人的にLinuxラップトップを使用し、画面でtcpdumpを使用してインターネットに接続し、たとえばipadや電話からsshに接続します。
    • リモートで自分でログインできない場合は、友人を使用してtcpdumpを視覚的に監視します。これはおそらくリンク速度でフラッディングしており、ループソースデバイスへのパスが切断されるたびに違いに気づきやすいでしょう。
  • 次に、ルートスイッチから始めて、本質的にツリーを再作成する必要があります。
    1. また、ルートデバイスに複数のループリンクが接続されているシナリオがあるため、接続されているすべてのポートを同時に削除することから始める必要があります。
    2. ポートを1つずつ再接続し、パケットバーストが再表示される場合はいつでも、このポートを使用して、もう一方の端にある接続されたスイッチまで進みます。
    3. ループしたポートが見つかるまで手順1を繰り返し、手動ツリーでさらに下に反復することはできません。
    4. このスイッチのループ状態を解決したら、ツリーの上のスイッチに戻り、手順2を再開します。この再帰は、ルートスイッチで最終ケーブルが再接続されるまでずっと続きます。

これは、ループポートの完全な手動検索です。

通常、ループするポートのペアは1つだけです。つまり、最初に接続された(リンク)ポートをすべて削除してから、それらを1つずつ再接続する徹底的かつ安全な検索は不要です。「ツリー」を下る1つのポートペアだけがループしている場合は、一度に1つのポートを切断するだけで見つけることができます。

それにもかかわらず、一般的な「ファウルプルーフ」、方法、またはアルゴリズムは、上記で説明したものになります。


7

痛い。しかし、OK、私はこれに行く2つの方法を考えることができます...

Eyeball it:スイッチにポートインジケーターがある場合は、どのポートが最もアクティブであるかを確認できます。これらは最初に見始めるものです。ケーブルにラベルが付けられていれば、同じケーブルの2つのスイッチで2つのビジーなポートを見つけることの簡単な成果を検索できます。

SNMP監視:SNMP(または同様の)使用状況統計がある場合は、最も忙しいスイッチと最も忙しいポートを探します。次に、ケーブルを見ます。

...ラベルのないケーブルがある場合は、最も忙しいポートのチェックアウトの一部としてトレースとラベル付けを開始します。


2
SNMPトラップは、通常300秒に1回だけ実行されるSNMPポーリングよりも優れています。フラッディングとそれに続くメルトダウンが非常に高速に発生するため、SNMPによって監視されるものはありません。それでも役立つのですが、維持できないスイッチからデータを取得していないSNMPモニターが出発点になる可能性があります。
generalnetworkerror

3

問題のレイヤ2ドメインが完全に停止し、CPUがすべて固定されているため管理アクセス権がないという理解に基づいて、この質問に答えます。

ブリッジングループのトラブルシューティングを行う最良の方法は、アップリンクがなくなるまでアンプラグを開始することです。すべてのアクセススイッチがディストリビューションスイッチのペアに接続されている標準のスイッチドアクセスレイヤがあるとします。最初のアクセススイッチに移動し、アップリンクを取り外します。スイッチポートのLEDがメンタルにならない場合は、そのスイッチではないので、再度接続して次のスイッチに進みます。アップリンクのプラグを抜いてLEDが急速に点滅し続けるスイッチに到達するまで繰り返します。これがループのあるスイッチです。

次に、LEDが落ち着くまで、エンドユーザーポートでプラグを抜くプロセスを開始します。LEDが落ち着くと、最後に抜いたのは問題のあるポートであり、ケーブルをトレースし、ユーザーを適切に非難します。


2

正直に言うと、デバイスにリモートで(またはコンソールケーブルを介して)接続すると、その動作が非常に遅くなり、CLIで表示される文字を入力してから遅延が発生します。

シスコスイッチの場合、2つの簡単なスイッチでインターフェイスの統計情報を調べると、常に100%(または255/255)の使用率になります。私が長年スイッチを扱ってきたとき、ポートが正当に100%使用されることはまだ見ていません。それ以外は、CPU使用率(通常は「プロセスCPUの履歴を表示する」)を確認します。ループインターフェースは、通常、ハイエンドスイッチを実行していない限り、CPUにかなり激しくヒットします。

ただし、STPは実際に有効にする必要があります!


2

米国の反対側のネットワークでこの問題が発生し、電話とサイトへの私のwanリンクを介して、レベル1のアナリストをリモートで支援する必要がありました。問題は、長年にわたってゆっくりとネットワークに追加してきたいくつかのブランドのスイッチがあったという事実によってさらに複雑になりました。オフィスを移動すると、各ポートの行き先をマークしてから、新しいオフィスでまったく同じ方法ですべてを再接続し、すべてを起動しました。言うまでもなく、スパニングツリーが機能していた少数のスイッチは同じ方法で収束せず、あらゆる種類のループと問題がありました。3つ以上の管理対象外のスイッチが、インフラストラクチャの残りの部分とループで接続されていることを発見しました。

管理されていない各スイッチを追跡する方法は、nediというツールを使用することでした(管理できるスイッチではlldp / cdpを有効にしました)。最初にnediでマップを生成しました。次に、マップが1つのスイッチから別のスイッチへの接続を示し、その後同じスイッチに戻った場所で、現場のネットワーク技術者に手動で回線をトレースさせました。ループに関連するインターフェースを手動でシャットダウンするか、現場の人にケーブルを抜いてもらいました。結局、私はすべてのクレイジーなオフブランドスイッチにもかかわらず、ネットワークを正常に機能させることができました。


1

ここでできることの1つは、コマンドshow cdp neighborまたはを使用してスイッチに接続されているマシンを確認することshow lldp neighborです。

BPDUガードコマンドが使用されておらず、誰かがより低い優先度(または古いMACアドレス)で不正なスイッチを接続すると、新しいデバイスはスパニングツリールートとしてネゴシエートし、確実に問題を引き起こします。


0

私の経験では、それはつねに差し込んだケーブル、または閉じていないケーブル、またはポートチャネルに追加したケーブルでした。より厳しいのは、他の誰かがそれをやったときであり、すぐに混乱しないことです。


0

ループの決定は、実際に使用しているスイッチのブランドに依存します。たとえば、Extremeスイッチでは、VLANでelrp-clientを実行でき、スイッチは基本的にそのVLANのすべてのポートでブロードキャストフレームを送信し、いずれかによって返されるかどうかを確認します。ポートがフレームを受信し直し、ループ候補が明らかになりました。

シスコでは、ストームコントロールを有効にできます。これは、ステータスがクリアされるまで(または、errdisableステートをクリアするまで)基本的に一定期間ポートをブロックするため、もう少し鈍器です。問題は、スパニングツリーも転送BPDUも行わないデバイスの混合トポロジでCiscoスイッチを使用している場合のみです。


0

間違いなく、私が発見した最速のアプローチは、インターフェイスのパケット/秒レートを監視することです。適切なCLIフィルターを備えたクイックショーインターフェースは、各インターフェースとパケット/秒レートをリストします。ループのソースを見つけるには、非常に高いパケット/秒のINPUTレートを持つ唯一のインターフェイスを探します。典型的な企業環境では、典型的な使用率プロファイルを使用して、必ず失敗することはありません。多くのインターフェースを備えた6500では、ソースを見つけるのにそれほど時間はかかりません...


0

ループ中、エンドステーションでの多数のブロードキャストトラフィック(ARP要求など)によってCPUの負荷が増加する場合があります(たとえば、CPUのチェックサムを計算する安価な100Mbit / s realtekカードを使用している場合)。ケーブルが切断された場合にループを見つけることは物理的に可能なため、2つのポートでリンクがすぐに失われました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.