拝啓、パトラッシュ様


オレもう疲れたよ・・・。



最近派遣先の社内ネットワークで一部問題が発生していた。


時にはネットワークがダウンし、4時間ほどまったく仕事にならない日もあった。


しかし今日やっとその問題の元凶が発覚した。

(といってもオレが解決したわけじゃないんだが)



えー、イメージしてみてください。


まず、同じネットワーク内に何の変哲もない2つのスイッチがあります。


これを仮にスイッチ1・スイッチ2とします。


そしてこれらのスイッチは何の変哲もない2本のLANケーブルで相互に接続されています。


これらのスイッチにはPCが接続され、スイッチ1はゲートウェイに接続されています。



さらにイメージしてみてください。


今、1台のPCからARPリクエストが送信されました。


そのARPリクエストを受け取ったスイッチ1は、受信したポート以外のすべてのポートからARPリクエストを送信しました。


そのARPリクエストを受け取ったスイッチ2は、受信したポート以外のすべてのポートからARPリクエストを送信しました。


そのARPリクエストを受け取ったスイッチ1は、受信したポート以外のすべてのポートからARPリクエストを送信しました。

そのARPリクエストを受け取ったスイッチ2は、受信したポート以外のすべてのポートからARPリクエストを送信しました。


(・・・以下永久に続く)


(((;゚д゚)))


「時には初心に戻ることも大切だね」って、そういうお話でしたとさ。



まぁ、もうお分かりの方も多いと思うが一応解説。


見てのとおりだがブロードキャストストームが発生している。


ARPリクエストはブロードキャストであり、スイッチはブロードキャストアドレスに向けて送信されたフレームを受信したポート以外のすべてのポートから送信する。


よって2本のLANケーブルによって接続されたスイッチではARPリクエストのブロードキャストが永久にループし続ける


さらに、それらのブロードキャストはネットワーク全体に送信されるため、ゆくゆくはネットワーク全体の帯域を食い尽くす

(メルトダウンって言ったかしら)


ネットワークトポロジをループ状に構成するなというのはこういう話が背景にある。



ただしこれには例外があり、STP(Spanning Tree Protocol)またはRSTP(Rapid Spanning Tree Protocol)という技術によってこの問題を回避することができる。


これらが実装されていた場合は、通常使用する接続を1本に制限し、その接続に障害が発生した場合は自動的に別の接続を利用するといった冗長構成を実現できる。


まぁ今回問題になったスイッチには実装されていなかったので、片方のLANケーブルを抜いて対処完了だったワケなんだが。