STP(Spanning Tree Protocol)は、Ethernet(L2)ネットワークに冗長な経路があるときに発生し得るループ(L2ループ)を防ぐためのプロトコルです。IEEE 802.1Dとして標準化され、冗長リンクを残しつつも、論理的にはループのないツリー構造になるようにスイッチのポートを制御します。
L2ループが起きると、ブロードキャストや未知ユニキャストがネットワーク内を回り続け、ブロードキャストストーム、MACアドレステーブルの不安定化(フラッピング)、CPU負荷上昇などを引き起こし、最悪の場合はネットワーク全体が利用困難になります。STPはこのような事態を避けるために、冗長な経路の一部を待機(遮断)させ、障害時には別経路へ切り替えられる状態を維持します。
Ethernetはもともとフレームを宛先MACアドレスで転送する仕組みであり、IPのように「経路情報に基づいてループを避ける」機能を持ちません。そのため、可用性を高める目的で冗長リンクを張ると、L2ループのリスクが現実的になります。
この課題に対して、ルートブリッジを中心としたツリーを形成し、冗長リンクを論理的に抑止する仕組みとしてSTPが普及しました。後に、収束(切り替え)を高速化するRSTPや、VLAN環境に対応した拡張方式が登場し、用途に応じた選択肢が増えています。
STPが解決する中心課題は、L2ループが引き起こす次のような障害です。
STPはスイッチ間でBPDU(制御フレーム)を交換し、ネットワークトポロジーを判断して、ループになり得るポートを論理的に遮断します。結果として、冗長構成を保ちながらも、平常時はループを作らない安定した状態を維持できます。
STPの利点は「冗長化」と「安定運用」の両立です。
一方で、STPは「帯域を最大限に使って負荷分散する」設計ではありません。平常時は冗長リンクの一部が遮断されるため、帯域効率を重視する設計では、L3設計や別方式(MLAGなど)も含めて検討されます。
STPは、スイッチ同士がBPDUを交換し、ルートブリッジを決め、各リンク上で「転送してよいポート」と「待機させるポート」を決定することで、論理ツリーを形成します。
BPDU(Bridge Protocol Data Unit)は、STPの制御に使われるフレームです。スイッチはBPDUを定期的に送受信し、ルートブリッジ情報やパスコストなどの情報をやり取りして、最適なツリーを維持します。
なお、BPDUは一般的な意味の「ブロードキャスト」ではなく、STP用に予約された宛先(特定のMACアドレス)へ送られる制御フレームとして扱われます。これにより、STPが想定しない機器や領域へ無制限に広がらないようになっています。
STPではまず、ネットワーク全体の基準点となるルートブリッジを選びます。一般的にはBridge ID(優先度+MACアドレス)が最も小さい(優先度が低い、同値ならMACが小さい)スイッチがルートになります。
運用上は、意図したスイッチがルートになるように優先度を調整するのが定石です。ルートが想定外の場所にあると、経路が不自然になったり、切り替え時の影響範囲が読みにくくなったりします。
ルートが決まると、各スイッチはルートへ向かう最短経路(パスコスト)を基に、ポートの役割を決めます。代表的な役割は次のとおりです。
また、STP(802.1D)のポート状態は、主に以下のように遷移します。
この状態遷移により、トポロジー変更時でもループが生じにくいように慎重に切り替えが行われます。ただし、その分だけ収束に時間がかかる点が、クラシックSTPの弱点でした。
STPはトポロジー変化が起きた際に再計算を行い、必要に応じて遮断ポートを転送状態へ切り替えます。この挙動にはタイマー(Hello、Max Age、Forward Delayなど)が関わり、結果として切り替え完了までに一定の時間がかかることがあります。
「障害時に数十秒単位で通信断が起きることがある」という性質は、設計・運用で必ず把握しておくべきポイントです。高速収束が必要な環境では、後述するRSTP系の採用が一般的です。
STPは便利な一方、設定や設計が曖昧だと「守ってくれるはずの仕組み」が逆に事故を広げることがあります。代表的な注意点は次のとおりです。
STPには、収束の高速化やVLAN環境への対応を目的とした拡張・派生が存在します。ここでは、現場で名前を見かけやすい方式を整理します。
RSTP(Rapid Spanning Tree Protocol)は、IEEE 802.1wとして標準化された高速版STPです。クラシックSTPよりも収束が速く、リンク障害やトポロジー変更からの回復時間を短縮できます。現在のスイッチでは、RSTPを標準として扱うケースも多く、STPを使うならRSTP前提で設計されることが増えています。
PVST+(Per VLAN Spanning Tree Plus)は、VLANごとにスパニングツリーを持つ方式で、ベンダー実装(代表的にはCisco系)として広く知られています。VLAN単位でルートを分けて設計できるため、VLANごとの経路最適化や負荷分散に活用されることがあります。
Rapid-PVST+は、PVST+の考え方をRSTP相当で動かす方式です。VLANごとに高速収束を狙える一方で、VLAN数が多いと管理・負荷の観点で設計が難しくなることがあります。
MSTP(Multiple Spanning Tree Protocol)は、複数のVLANをグループ化し、グループ単位(インスタンス単位)でスパニングツリー計算を行う方式です。VLANごとに個別計算する方式と比べて、インスタンス数を抑えられるため、大規模環境での運用性や負荷面で利点があります。
選定の考え方は次のように整理できます。
重要なのは「どれが優れているか」ではなく、VLAN規模、収束要件、運用体制、ベンダー構成などの前提に合う方式を選ぶことです。
冗長化は可用性を高める基本ですが、L2では冗長リンクがそのままループのリスクになります。STPは、冗長リンクの一部を待機させることで、平常時はループを作らず、障害時には代替経路へ切り替えられる状態を維持します。
L2冗長化の典型は、スイッチを複数台でリング状またはメッシュ状に接続する構成です。このとき、ループ防止がないとブロードキャストストームなどが発生します。STPは、BPDUでトポロジーを判断し、どのリンクを転送に使い、どのリンクを待機させるかを決めることで、冗長性と安定性を両立します。
「STPを有効化したから安心」ではなく、少なくとも次の観点は設計で押さえます。
STP関連トラブルの切り分けは、「ルートは誰か」「遮断されているポートはどれか」「なぜその判断になっているか」を順に確認します。確認ポイントは次のとおりです。
運用では、障害時に切り替えが起きること自体は正常ですが、切り替えが頻発する場合は、物理層の不安定、配線ミス、ルート設計の不備などが疑われます。
現代のL2ネットワークでは、クラシックSTP(802.1D)よりも、RSTP(802.1w)や、規模に応じてMSTPを採用する構成が一般的です。一方で、STP系は今も「L2ループを確実に防ぐ」という基本要件に対して有効であり、運用現場で避けて通れない技術でもあります。
ただし、データセンターや帯域効率を強く求める領域では、STPでリンクを止める設計よりも、別方式(MLAG等)やL3設計を採るケースも増えています。どちらが正しいというより、要件に合う方式を選ぶことが重要です。
SDNは集中制御で経路やポリシーを最適化しやすい一方、L2の基本的なループ対策が不要になるわけではありません。実際の設計では、SDNの制御下でも、境界条件やフェイルセーフの観点から、STP系の仕組みが併用されることがあります。
「集中制御で最適化する領域」と「分散制御で最低限守る領域」を分けて設計することで、柔軟性と耐障害性を両立しやすくなります。
IoTやエッジの増加により、L2が長く伸びる構成や、現場都合で配線変更が起きやすい環境も増えています。そうした場面では、L2ループのリスクは今後も現実的であり、STP系の知識と運用設計は引き続き重要です。
STPは「古い技術」になりつつも、現場での事故を防ぐ最後の砦として機能します。採用するなら、方式選定(RSTP/MSTP等)とルート設計、そして運用時の監視・切り分け手順まで含めて整備しておくことが、安定運用につながります。
STP(Spanning Tree Protocol)は、L2(Ethernet)ネットワークで冗長リンクがある場合に発生し得るループを防ぐためのプロトコルです。論理的にツリー構造を作り、ループになり得る経路を遮断します。
ブロードキャストストーム、MACアドレステーブルの不安定化(フラッピング)、未知ユニキャストの増加などが起き、帯域やCPUが枯渇してネットワーク全体が不安定になります。
BPDU(Bridge Protocol Data Unit)は、STPがトポロジーを判断するためにスイッチ間で交換する制御フレームです。ルート情報やパスコストなどを伝え、ツリー形成に使われます。
Bridge ID(優先度+MACアドレス)が最も小さいスイッチがルートブリッジになります。運用では、意図した装置がルートになるよう優先度を調整するのが一般的です。
ループを作らないために、冗長リンクの一部を待機(遮断)させる設計だからです。平常時はループを防ぎ、障害時に待機リンクへ切り替えられる状態を維持します。
クラシックSTP(802.1D)は収束(切り替え)に時間がかかることがあります。高速収束が必要な場合はRSTPやMSTPなどの採用を検討します。
RSTP(802.1w)はSTPを高速化した方式で、トポロジー変更時の回復が速いのが特徴です。現代のスイッチではRSTP前提で設計されることが多いです。
VLAN数が多い大規模環境で、VLANをグループ化してインスタンス単位でスパニングツリー計算を行いたい場合に向いています。運用負荷や計算負荷を抑えやすくなります。
ルートブリッジが想定通りか、各ポートの役割/状態が想定通りか、トポロジー変更が頻発していないか、想定外のBPDUが入っていないかを順に確認します。
方式や適用範囲は変化しても、L2ループを防ぐ必要性は残ります。特に現場系ネットワークでは、STP系の理解と運用設計が安定稼働に直結します。