スイッチを2台用意して、故障に備えてケーブルを2本つなぎ、ループ状に冗長化したらどうなるでしょう? 安心できるでしょうか?
「1本切れても大丈夫なように予備を用意しておく」という発想は正しそうに思えます。ですが、スイッチの学習・転送・フラッディングの仕組み(STAGE01)を思い出すと、何か嫌な予感がしませんか?
冗長化したいけれど、ループは怖い
ネットワークは1本のケーブルが切れただけで通信が止まってしまっては困ります。そこで「予備のリンクを用意しておこう」という発想が生まれます。スイッチ同士を複数のケーブルでつなぎ、冗長化するわけです。
しかし、ここに大きな落とし穴があります。スイッチ同士をループ状につないでしまうと、フレームがぐるぐると回り続けるスイッチングループが発生してしまうのです。
ループが起きるとなぜ危険なのか
STAGE01で学んだ通り、スイッチは宛先MACアドレスがわからないフレームを受け取ると、受信ポート以外の全ポートにフラッディングします。ここでスイッチがループ状につながっていると、次のような悲劇が起こります。
- あるホストがブロードキャストフレーム(あるいは宛先未学習のフレーム)を送出する
- スイッチAがそれを受け取り、他の全ポートへフラッディングする
- ループでつながったスイッチBが、それを受け取ってさらに別のポートへフラッディングする
- スイッチBから送られたフレームが再びスイッチAに戻ってきて、また全ポートへ流される
- これが際限なく繰り返される
これがブロードキャストストームです。マンションの中で「伝言ゲームです」と叫びながら、同じ伝言がぐるぐる回廊を回り続けているようなものです。フレームは増え続け、やがて回線帯域とスイッチのCPUを食い尽くし、ネットワーク全体が機能停止に陥ります。
スイッチをループ状に接続したとき、ブロードキャストフレームが増殖し続けてネットワークが機能停止する現象を何と呼ぶでしょう?
答えを見る
ブロードキャストストームです。フラッディングされたフレームがループ経路をぐるぐると回り続け、際限なく増殖してしまうことで発生します。
MACアドレステーブルの不安定化も起きる
ループが起きると、さらに厄介な問題があります。同じ送信元MACアドレスを持つフレームが、複数の異なるポートから次々に到着するようになるため、スイッチのMACアドレステーブルの内容が「このMACはポート1」「いや、ポート3」と目まぐるしく書き換わり続けます。これをMACアドレステーブルの不安定化と呼びます。正しい転送先が定まらず、通信はますます混乱していきます。
解決策としてのSTP
この問題を解決するのがSTP(Spanning Tree Protocol、スパニングツリープロトコル)です。STPは、冗長化された複数のリンクのうちループを作ってしまう経路を論理的にブロック(遮断)し、ネットワーク全体として1本の木(ツリー)構造になるように調整します。普段は使わない道を「通行止め」にしておき、現用の道が切れたときだけ自動的に「通行止め」を解除して迂回路として使う、という仕組みです。
つまりSTPは、「物理的には冗長化(ループあり)」「論理的には非ループ(ツリー構造)」を両立させるための仕組みです。ケーブルの冗長性は保ちながら、実際にフレームが通る経路は常に1本道に保たれます。
STPの役割を最も正確に表しているのはどれでしょう。「物理的な冗長リンクを撤去する」「冗長リンクの一部を論理的にブロックしてループを防ぐ」のどちらでしょうか?
答えを見る
「冗長リンクの一部を論理的にブロックしてループを防ぐ」です。STPはケーブル自体を撤去するのではなく、特定のポートを論理的にブロッキング状態にすることでループを防ぎつつ、障害時には自動的に経路を切り替えて冗長性を活かします。
試験でのポイント
CCNA試験では、「なぜSTPが必要か」を問う文脈で、ブロードキャストストームとMACアドレステーブルの不安定化という2つの弊害がセットで問われることが多いです。STPが「リンクを切断する」のではなく「ポートを論理的にブロックする」という表現の違いにも注意しましょう。次のレッスンで学ぶ用語(BPDU、ルートブリッジ、ポート役割)の前提知識として、まず「なぜ必要なのか」という背景をしっかり理解しておくことが、暗記だけに頼らない実力につながります。
冗長化はしたいけど、ループはこわい。この矛盾を解決するのがSTPだったね。ブロードキャストストームって名前だけ聞くと大げさに感じるかもしれないけど、実際に現場で見ると本当にネットワークが真っ白になるくらい大変なんだよ。次はいよいよSTPの具体的な動き、ルートブリッジの選出方法を見ていくよ。