ループ対策

装置独自の機能ですが、ループ検知、ストーム制御など多くの装置で採用されているループ対策機能について説明します。

ループ対策の必要性

LANスイッチには多くのパソコンが接続されますが、居室などで複数のパソコン、プリンターが接続される場合はインターフェースが不足するため、居室用のLANスイッチを独自に設置することもあります。また、LANスイッチに自由にパソコンを接続可能な環境もあります。

居室用LANスイッチなどに自由にパソコンを接続できるネットワークの例

このような場合、STP(Spanning Tree Protocol)や代替え機能を利用しても、ループによりブロードキャストストームが発生する可能性が高いです。

自由にパソコンを接続できるネットワークでループが発生する例

例えば、通信できないためLANスイッチを見てみると近くに接続されていないケーブルがある、通信できるようになるかもしれないと思って取りあえずLANスイッチに挿してみた、これだけでループが発生して最悪のケースではループを発生させた近辺だけでなく、全ネットワークが停止します。これは、少しネットワークがわかっている人は行いませんが、たくさんの人が使うネットワークでは非常に多くあるトラブルです。

STPを有効にしていればある程度は防げますが、居室用スイッチがBPDUを透過せずにSTPでループを検知できなかったり、LANスイッチでは端末を接続するインターフェースのSTPを無効にすることもあるため、別途ループ対策を行うことは運用を行う上で非常に重要です。

ループ検知

LANスイッチは、独自にループを検知するしくみを持っている装置が多いです。代表的なしくみは、独自のループ検知フレームを送信し、自身にフレームが戻ってきた場合にループと認識する方法です。

1つ目のパターンは、LANスイッチ自身の異なるインターフェース間を直結してループが発生した場合です。

LANでループするのを検知する例

2つ目のパターンは、配下の居室用スイッチでループが発生した場合です。

居室用LANスイッチでループするのを検知する例

3つ目のパターンは、配下の2台の居室用スイッチをまたがってループが発生した場合です。

2台の居室用LANスイッチにまたがってループするのを検知する例

ループを検知したインターフェースは遮断されるため、ループが回避されます。

上記のパターンすべてを検知できる機器もありますし、一部のパターンしか検知できない機器もあります。

ストーム制御

実際にブロードキャストストームが発生しているか監視して、ループと判断する方法もあります。インターフェースで受信するフレームを監視しておき、一定量を越えるとループしていると判断し、該当のインターフェースを遮断します。これをストーム制御と言います。また、一定量のことを閾値(しきいち)といいます。

通信量が上がって閾値を超えた例

この方法は、ループ検知で示した3パターンすべてのループを検知できますが、閾値をどの値にするかの検討が難しいのが難点です。

例えば、通常でも最大300Mbpsを越える通信量があるのに、200Mbpsを越えると遮断する設定にすると通常の通信が成り立ちません。

閾値が200Mbpsのため少しの通信量でも閾値を超える例

逆に、200Mbpsしかないのに800Mbpsを越えると遮断する設定にすると、ブロードキャストストームが発生してしばらくしないと遮断されませんし、遮断の機能自体が働かないことも多いです。

閾値が800Mbpsのためブロードキャストストームが発生しても遮断されない例

ブロードキャストストームで厄介なのは、ブロードキャスト宛てのフレームはすべての装置宛てのため、LANスイッチ自体も受信してしまってCPUで処理される点です。LANスイッチはフレームの転送能力は高いのですが、自身宛てのフレームはそれほど多いことを前提としていないため、ブロードキャスト宛てのフレームが大量にループするとすぐにCPU負荷が高くなり、ほとんど反応しない状況になります。

遮断する機能はCPUを使うため、例えば1000Base-Tでは1Gbpsあるため余裕を見て閾値を800Mbpsとした場合でも、先にCPU負荷が高くなって無応答になると遮断する機能自体が働きません。つまり、ブロードキャストストームが発生したままになり意味がありません。

このため、ループ検知と合わせて適用し、最初は余裕を見た数字としておいて、測定で通信量を把握した後、設定する値を決める必要があります。

関連ページ

応用編「スパニングツリー代替え機能
LANスイッチ間のループを防止するための、STPの代替えとなる機能を説明しています。
設定編「ストーム制御の設定 - Catalyst
Catalystでのストーム制御の設定方法を説明しています。