STP(スパニングツリープロトコル)入門:ループを防ぐネットワークの仕組み

目次

STP(スパニングツリープロトコル)入門:ループを防ぐネットワークの仕組み

どうも!リョクちゃです。

ネットワークの冗長化は可用性を高めますが、同時に ループ(無限循環)の危険が発生します。
この問題を防ぐ代表的な仕組みが STP(Spanning Tree Protocol:スパニングツリープロトコル) です。
この記事では、STPの基本動作と実務での活用例、トラブルの要点を整理します。


スポンサーリンク




なぜループが危険なのか

L2スイッチは MAC アドレステーブルを使ってフレームを転送しますが、 ループ構成があるとブロードキャストが無限に回り続けることがあります。

  • ブロードキャストストーム:ネットワーク全体の通信が暴走し、帯域を圧迫
  • MACアドレステーブル不安定:スイッチが宛先MACを誤って学習・更新
  • CPU高負荷:スイッチが処理しきれず応答不能になる

STP(Spanning Tree Protocol)とは

STPは、 冗長なL2接続のうち1本を自動的にブロックしてループを防ぐプロトコルです。
障害時にはブロックしていた経路を自動的に有効化し、通信を復旧します。


STPの基本動作

  1. ルートブリッジの選出
    • ネットワーク内で最も優先度(Bridge ID)が低いスイッチがルートブリッジに選ばれる
  2. パスコストによる最短経路の決定
    • 各スイッチがルートブリッジまでの距離(コスト)を計算し、最短パスを選ぶ
  3. ポートの役割決定
    • ルートポート(Root Port)、指定ポート(Designated Port)、ブロッキングポートを選出
  4. ループを防ぐため不要なリンクをブロック

STPの状態遷移

  • Blocking:フレームを転送せず、ループ防止
  • Listening:BPDUを受信し経路計算中
  • Learning:MACアドレス学習開始
  • Forwarding:通常転送状態

実務でのSTP活用例

  • コアスイッチとアクセススイッチ間の冗長構成で安全にバックアップ経路を確保
  • 片系障害時にブロックされていたリンクが自動復旧 → 可用性UP
  • ネットワーク更改時や障害切り分けで STP の状態を確認

Ciscoコマンド例

  • 現在のルートブリッジ、ポート状態(Forwarding / Blocking)を確認

  • VLANごとのSTP状態を確認可能

典型的なSTPトラブルと対策

症状 原因 対策
ネットワークが停止 ループ構成 + STP無効化 STPを有効化、BPDU Guardの利用
予期しない経路切替 優先度設定ミス コアスイッチのBridge Priorityを手動設定
復旧が遅い 古いSTP(802.1D)を使用 RSTP(802.1w)やMSTPへの移行検討

STPの発展と種類

プロトコル 標準 特徴
STP (802.1D) 古典的な標準 収束(切り替わり)が遅い(30〜50秒程度)。現在はほとんど使われない。
RSTP (802.1w) Rapid Spanning Tree STP を改良し、収束を数秒〜10秒以下まで高速化。現在の主流。
MSTP (802.1s) Multiple Spanning Tree VLANごとに異なるSTPインスタンスをまとめて管理でき、冗長リンクを効率利用可能。大規模ネットワークで有効。

💡 まずは RSTP が基本。MSTP は VLAN が多く複雑な環境で使われます。


BPDU Guard(Bridge Protocol Data Unit Guard)

BPDU Guard は、STPを安全に運用するための保護機能です。

本来、エンドユーザ用ポート(Accessポート)にはスイッチやハブを接続しない前提ですが、誤って接続された場合に BPDU(STP制御用フレーム) を受信すると、そのポートを自動的にシャットダウン(err-disable状態)にしてループやネットワーク障害を防ぎます。

👉 実務では PortFast とセットで有効化するのが一般的です。


まとめ

  • STPはL2冗長構成で必須のループ防止プロトコル
  • ルートブリッジ選出・ポート役割決定・経路ブロックで安定運用を実現
  • 実務では「show spanning-tree」で状態確認、Bridge Priorityの設定で経路制御が可能
  • 高速化が必要ならRSTPやMSTPの利用を検討

👉 次回は リンクアグリゲーション(Link Aggregation) を解説し、複数の回線を束ねて冗長化と帯域拡張を実現する方法を学びます。


関連記事

➡ 前回:VLAN入門:ポートVLANとタグVLANでネットワークを分割する仕組み

スポンサーリンク