STP(ループ防止)

技術の仕組み | ネットワークの可用性

← 技術の仕組み

スイッチを冗長化しようと二重に繋ぐと、通信がぐるぐる回るループができます。L2(スイッチ)の世界には通信の寿命(TTL)が無いので、ブロードキャストが無限に増殖してネットワークが停止します(ブロードキャストストーム)。STPは、物理的には冗長のまま、一部のポートを論理的に塞いで"木"の形にし、ループを消します。障害が起きたら、塞いでいた経路を開けて迂回します。

先に押さえる

ループが致命的なのは、L2フレームに「もう十分回った」を判断する仕組み(TTL)が無いから。STPはまず基準となるルートブリッジを1台選び、各スイッチからそこへの最短の口だけを残して、余分な口をブロッキング(通信させない)にします。残った経路は枝分かれのない木になります。

物理は冗長、論理は木

1基準を決め、余分な口を塞いでループを消す
スイッチ群(二重接続)このままだとループ
ルートブリッジを選び、最短の口だけ残す
STP余分な口をブロッキングループなしの木になる
2障害時:塞いでいた経路を開けて迂回
使用中の経路が断
ブロッキングを解除して予備経路を有効化
迂回して通信継続

ブロッキングされたポートは普段は使われない予備です。現用リンクが切れると、STPが再計算してその予備を開け、通信を維持します。冗長配線はしておくが、平常時はループにならないよう1本の木で使う、という発想です。

動きで見る

3台のスイッチがBPDUを交換して基準(ルートブリッジ)を1台選び、各スイッチが最短の口を残して余分な口をブロッキングする——物理はループでも論理は木になる流れが見えます。(図は横スクロールできます)

見抜きどころ

核は「物理は冗長・論理は木、予備は障害時に開ける」。設問では「なぜループが致命的か(=L2にTTLが無くストーム)」「ブロッキングポートの役割(=予備)」「障害時にどう切り替わるか」が問われます。冗長化とループ防止は表裏一体——二重に繋いだら必ずどこかを塞ぐ、と押さえるのが起点です。

つまずきやすい

「冗長化=両方使う」ではありません。STPでは平常時は片方(予備)を止めておき、障害時だけ使います。両方同時に通すとループに戻ってしまう。「二重に繋いだのに片方が通信していない=ブロッキング中の予備」を異常と誤解しないのが急所です。

NW/SC向け:STPを悪用する攻撃と守り

STPは「最小のブリッジIDが根になる」という単純なルールで動くため、不正なスイッチを紛れ込ませるだけでツリーを乗っ取れる余地があります。NW/SC午後では「端末ポートをどう守るか」「なぜルートを固定・保護するか」が問われます。

攻撃・リスク

  • 不正スイッチが小さいブリッジID(高優先度)のBPDUを送りルートブリッジを奪取→トラフィックを自分に引き込み盗聴・中間者化。
  • 端末を装ったポートからBPDUを注入してトポロジを撹乱(TCN乱発で再学習を誘発し通信を不安定化)。
  • 旧STPは収束が秒単位で切替が遅く、障害・攪乱時の断が長引く。

効く対策

  • ルートガード:そのポートから上位BPDUを受けてもルートに昇格させない(根の位置を固定・保護)。
  • BPDUガード:アクセス(端末)ポートでBPDUを受けたら遮断し、不正スイッチ接続を止める。
  • RSTPで収束を高速化し、切替の断を短縮。
  • アクセスポートとトランクを明確に分け、端末側でBPDUを扱わせない設計。

締めの判断軸は「どのポートが端末用で、そこにBPDUガードが効いているか」「ルートブリッジを誰が固定・保護しているか」。冗長化の裏で"根の乗っ取り"を防げているかが問われます。

この仕組みを使う設問