スパニングツリープロトコル(STP)とは?ネットワークループを防ぐ仕組み

冗長な配線は本来、信頼性を高めるためのものですが、STPがなければネットワーク全体をダウンさせる原因にもなります。

  1. STPが必要な理由

    冗長性を持たせようとスイッチ2台を2本のケーブルでつなぐと、信号が同じ経路を延々と巡り続ける「ループ」が意図せず発生することがあります。スパニングツリープロトコル(STP)は、こうした冗長な経路のうちひとつを論理的にブロックして、このループを防ぐために存在します。

  2. ループが引き起こす問題:ブロードキャストストーム

    ループが発生した状態でブロードキャスト信号が届くと、スイッチ同士が同じ信号を際限なく複製して転送し合い、あっという間にネットワーク全体の帯域を消費してしまいます。この暴走現象をブロードキャストストームと呼び、深刻な場合はネットワーク全体が機能停止に陥ることもあります。

  3. STPの動作の仕組み

    複数のスイッチの中から基準となる「ルートブリッジ」をひとつ選出したうえで、各スイッチのポートに役割を割り当てます。ルートブリッジへの最適な経路にあたるポートは「指定ポート」として開いたままにし、ループを生む可能性のある残りのポートは「ブロッキングポート」として塞ぐことで、木(ツリー)の形をした経路だけを残します。

  4. 収束にかかる時間とRSTP

    従来のSTPは、経路に変化が生じてから新しい構成に安定(収束)するまでに最大で50秒近くかかることがあり、その間は通信が途切れてしまう欠点があります。これを改善したRSTP(Rapid Spanning Tree Protocol)は、同じ基本原理を使いながら収束にかかる時間を数秒以内にまで短縮しています。

  5. 家庭でも影響はあるのか

    一般家庭ではスイッチを1台しか使わないことが多く、STPを意識する場面はほとんどありません。ただし、安価なスイッチやルーターを複数台、重複するケーブルでつないでしまうと意図せずループが発生することがあり、低価格な機器はSTPに対応していないことも多いため、そのまま通信障害につながる可能性があります。

  6. ひとことでまとめると

    STPとは「冗長な接続によって生まれたループ経路のひとつを論理的に遮断し、実際には1本の経路だけが使われる木構造を維持してくれる、スイッチネットワークの安全装置」とまとめることができます。

STPは管理型スイッチの機能であり、すべてのスイッチが持っているわけではない

STPを実行するのは管理型スイッチだけで、家庭でよく使われる安価な非管理型スイッチには、そもそもこの機能自体が存在しないことがほとんどです。だからこそ、非管理型スイッチ2台を冗長なケーブルでうっかりつないでしまうことが、小規模なネットワークでループが発生する典型的な原因になります。それを検知する仕組み自体が動いていないためです。

使用中のリンクに障害が起きると、ブロックされていたポートはどうなるか

ブロックされているポートは無駄になっているわけではなく、待機中の予備経路です。STPは現在使われているリンクに障害が発生したことを検知すると、それまでブロックしていたポートを再び開いて通信を復旧させます。これこそが、STPが正しく機能している前提で冗長な配線をしておく本来のメリットです。

よくある質問

STPがブロックしたポートはずっと使われないままですか?

いいえ。通常時はブロッキング状態で待機していますが、使用中の経路に障害が発生すると、STPがそれを検知してブロックしていたポートを再び開き、通信を継続させます。つまり冗長な接続は、普段は待機状態の予備経路として活用されているのです。

ループが発生した場合、ルーターを再起動すれば直りますか?

一時的に症状が緩和されることはありますが、根本原因である誤った冗長配線がそのままであれば、すぐに同じ問題が再発します。ケーブルの接続構成を点検して不要な冗長接続を取り除くか、STPに対応した管理型スイッチに交換するのが根本的な解決策です。