本文へスキップ
totonoe

ネットワークを整える

専門

スパニングツリーを整える

= ループを見つけて1本を自動で止める、スイッチの安全装置

スイッチを三角形につなぐと、フレームがぐるぐる回り続ける『ループ』ができてしまいます。STP(スパニングツリープロトコル)は、いちばん『えらい』スイッチ(ルートブリッジ)を選び、ループを閉じている1本のリンクだけを自動でブロックすることで、これを防ぎます。その選出とブロックの過程を、手を動かしながら確かめられます(送信ゼロ)。

🔰 かんたんに言うと

スイッチの配線が輪っかになると通信が洪水のように増えて麻痺します。それを防ぐために1本を自動でお休みさせる仕組みです。

i

TLDR — 30秒で分かる

スイッチの輪っかはブロードキャストストームの元。STPが1本を自動でブロックして守る。プライオリティを変えるとルートブリッジとブロック位置が変わるのが見える。

主な機能

  • 三角形3台構成でループの増殖を簡易アニメ(reduced-motion対応)
  • プライオリティ変更→最小BIDのルートブリッジ選出が光る
  • ブロックポートが決まる過程を段階表示(等コスト簡略モデル)
  • Blocking→Forwardingのポート状態遷移とRSTPの概要
  • root guard等の防御の一言つき
  • すべてブラウザ内・送信ゼロ

WHY

① ループの怖さを10秒で

スイッチ3台を三角形につなぐと、1つのブロードキャストフレームが3台をぐるぐる回り続け、複製されながら増えていきます。これが『ブロードキャストストーム』です。

🌀 三角形ループのシミュレーション ボタンを押すと数フレームで自動停止
SW1 SW2 SW3

「▶ ループを起こす」を押すと、SW1が送信した1つのブロードキャストフレームが、3台の間を回り続けながら複製されていく様子が見られます。

ELECT

② ルートブリッジ選出とブロック

各スイッチの『プライオリティ』を変えると、ブリッジID(プライオリティ+MACアドレス)が最小のスイッチが『ルートブリッジ』に選ばれます。全リンクが同速度(等コスト)の前提で、ルートから見て遠い側の1リンクが自動的にブロックされます。

3台のプライオリティを設定する 変更すると即座に再計算(送信ゼロ)

MAC: aa:bb:cc:00:00:01

MAC: aa:bb:cc:00:00:02

MAC: aa:bb:cc:00:00:03

💡 数値が小さいほど「えらい」(優先される)扱いです。同点の場合はMACアドレスが小さいほうが勝ちます。「わざとpriorityを下げる」のは「このスイッチをルートブリッジにしたい」という実務上の意思表示です(コアスイッチを意図的にルートへ)。

📊 選出結果とブロックポート 段階表示
SW1 👑 SW2 👑 SW3 👑

👑 ルートブリッジに選ばれたのは

BID: —

🚫 ブロックされるリンクとポート

  1. 計算中…

STATE

③ ポートの状態と現代のSTP

ブロックされなかったポートも、いきなり通信できるわけではありません。従来のSTP(IEEE 802.1D)は4段階を順に踏み、合計で約30〜50秒かかります。RSTP(IEEE 802.1w)はこれを大幅に短縮します。

従来のSTP(IEEE 802.1D):ポート状態の遷移 合計 約30〜50秒
1

Blocking(ブロッキング)

最大20秒(Max Age待ち)

フレームを転送しない。BPDU(STPの制御フレーム)だけは受信して監視する。ループを断つための「待機」状態。

2

Listening(リスニング)

15秒(Forward Delay)

BPDUの送受信を始め、自分がルートポート/指定ポートになるかを判断する。まだユーザーのフレームは転送しない。

3

Learning(ラーニング)

15秒(Forward Delay)

送信元MACアドレスの学習(MACアドレステーブルの構築)を始める。まだフレームは転送しない。

4

Forwarding(フォワーディング)

(遷移完了・以降継続)

通常どおりフレームを送受信する、本来の状態。ここまで来て初めて通信できる。

⚡ RSTP(IEEE 802.1w)が速い理由

状態を2つに整理

Listening/Learningのような「待つだけ」の中間状態をなくし、実質 Discarding(破棄)→Learning→Forwarding に整理。無駄な待ち時間を減らした。

Proposal / Agreement(提案・合意)

隣のスイッチ同士がBPDUで「私がこのリンクの指定ポートになってよいか」を提案し合い、即座に合意を返す仕組み。Max Age(20秒)のタイムアウトを待たずに、数秒でフォワーディングへ遷移できる。

Alternate / Backup Port

代替ポートの情報をあらかじめ把握しておくため、リンク障害時もタイムアウト待ちなしですぐ切り替えられる。

現在のスイッチはほぼすべてRSTP(またはRSTPベースのMSTP)で動作しており、リンク障害時も数秒でフォワーディングに復帰します。

⚠️ ありがちな失敗

  • 古いスイッチを勝手に繋いだら、ルートが乗っ取られた。 誰かが自宅の安いスイッチ(priorityが既定値32768のまま)を空きポートに繋いだだけで、そのスイッチのMACアドレスが既存のルートより小さければ、意図せずルートブリッジが交代してしまうことがあります。トポロジ全体が再収束し、一時的に通信が止まることも。 防御策としてroot guard(指定したポートの先から、より優れたBPDUが来ても無視してルートに昇格させない機能)を、ルートにしたくない方向のポートに設定しておくのが定石です。
  • 「ループさせなければSTPは要らない」は誤解。 設計時にループが無くても、配線ミスや増設、災害復旧時の仮配線などで意図せずループができることがあります。STPは「保険」として、複数の冗長リンクを持つネットワークでは基本的に有効化しておくべき機能です。

📘 CCNA『Network Access』範囲の基礎です。実際のSTPは、コストの異なる複数リンクや複数スイッチが混在するより複雑なトポロジでも、各ポートごとに Root Port / Designated Port / Blocking Port の役割を「ルートからのコスト → 送信元BID → 送信元ポートID」の順で決定します。本ページは全リンクが等コストの三角形という単純化した教材モデルで、選出の考え方だけを扱っています。

よくある質問

Q. スパニングツリー(STP)とは何ですか?

A. スイッチ同士の配線がループ(輪)になったとき、1本のリンクを自動でブロックしてループを断つ仕組みです。冗長な配線の安全装置です。

Q. なぜループがそんなに怖いのですか?

A. L2のフレームにはTTL(寿命)がなく、ブロードキャストがループを回り続けて増殖し(ブロードキャストストーム)、ネットワーク全体が数秒で麻痺するからです。

Q. ルートブリッジはどう決まりますか?

A. 各スイッチのブリッジID(プライオリティ+MACアドレス)が最も小さいものが選ばれます。プライオリティが同じならMACアドレスの小さい方=意図しない古いスイッチが勝つことも。

Q. ルートブリッジを自分で決めたいときは?

A. 基幹スイッチのプライオリティを下げます(例: 32768→4096)。「この子をルートにしたい」という管理者の意思表示です。

Q. RSTPは何が違うのですか?

A. 従来のSTPは切替に30〜50秒かかりましたが、RSTPは提案と合意のやり取りで数秒に短縮した高速版です。現在の主流はRSTP系です。

Q. このページのモデルは実物と同じですか?

A. 等コストの三角形に簡略化した教材モデルです。実際のポート役割の決定はコストやポートIDも絡んでより複雑ですが、「最小BIDがルート」「1か所ブロック」の本質は同じです。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

RELATED TOOLS

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト