スイッチ間を複数のリンクで接続して冗長化を図ると、ループ(循環通信)が発生する危険性があります。 このループを防止するために使われるのが、STP(Spanning Tree Protocol)です。 本記事では、STPの仕組みや動作原理、各ポートステート(状態)を図解でわかりやすく解説します。
目次
🔹 STPとは?
STP(Spanning Tree Protocol)は、スイッチ間で冗長なパスを自動的に検出・遮断し、ループを防止するプロトコルです。 IEEE 802.1Dで標準化されており、ほぼすべてのスイッチで利用可能です。
📘 STPの目的
- ネットワークループを防止
- 冗長パスを保持し、障害時に自動復旧
- 安定したブロードキャストドメインの維持
【ループ発生イメージ】
┌──────┐ ┌──────┐
│Switch A│──────│Switch B│
└──────┘ ╲ ╱ └──────┘
╲ ╱
┌──────┐
│Switch C│
└──────┘
※A-B-C-A の経路でループが発生
🔹 STPの基本動作の流れ
STPは「ツリー構造」を作ることでループを防ぎます。 以下の手順で経路を決定します。
- ルートブリッジの選出: ネットワーク内で最も優先度(Bridge ID)の低いスイッチを「ルートブリッジ」とする。
- 最短経路の計算: 各スイッチがルートブリッジまでの最短パスを計算。
- ブロッキングポートの決定: 冗長経路上でループが発生しそうなリンクを遮断。
🧩 Bridge ID(ブリッジID)の構成
| 構成要素 | 説明 |
|---|---|
| プライオリティ値 | デフォルト32768。小さいほど優先される。 |
| MACアドレス | 同一プライオリティならMACアドレスの小さい方が優先。 |
Bridge ID = プライオリティ値 + MACアドレス
例:32768.001A.2B3C.4D5E
🔹 各ポートの役割
| ポート種類 | 役割 |
|---|---|
| Root Port | ルートブリッジへの最短経路にあるポート(各スイッチに1つ) |
| Designated Port | 各ネットワークセグメントで最もルートに近いポート |
| Blocked Port | ループ防止のために通信を遮断するポート |
例)
Switch A(Root Bridge)
├─ DP ─ Switch B(RP)
├─ DP ─ Switch C(RP)
Switch BとCの間は1本がBlocked
🔹 STPのポートステート(状態)
STPでは、ポートが以下の5つの状態を順番に経て稼働します。
| ステート名 | 動作内容 |
|---|---|
| Disabled | ポートが無効化されている状態(STP動作なし) |
| Blocking | ループを防ぐためフレーム転送を停止。BPDUのみ受信。 |
| Listening | BPDUの受信・送信を行い、ループ有無を判定。 |
| Learning | MACアドレスを学習するが、データ転送はまだ行わない。 |
| Forwarding | フレーム転送・MAC学習が可能。正常稼働状態。 |
【ポート状態の遷移】
Blocking → Listening → Learning → Forwarding
この遷移には通常30〜50秒ほどかかるため、再起動時などは通信が一時的に停止します。 この問題を解決するために、RSTPやPortFastなどが登場しました(後述)。
🔹 STPのタイマー設定
| タイマー名 | デフォルト値 | 説明 |
|---|---|---|
| Hello Time | 2秒 | BPDU送信間隔 |
| Forward Delay | 15秒 | Listening/Learning各状態の保持時間 |
| Max Age | 20秒 | BPDUが無効とみなされるまでの時間 |
🔹 トラブル時の確認コマンド(Cisco例)
show spanning-tree
show spanning-tree interface gigabitEthernet0/1 detail
show spanning-tree summary
これらのコマンドで、ルートブリッジ・各ポートの状態・STPバージョンなどを確認できます。
🔹 STPの発展プロトコル
STPの遅延や制御範囲の問題を改善するために、以下の派生プロトコルが登場しました。
| プロトコル名 | 特徴 |
|---|---|
| RSTP(IEEE 802.1w) | 高速収束(数秒以内で切り替え可能) |
| MSTP(IEEE 802.1s) | 複数VLANを1つのSTPインスタンスで管理 |
| PVST+(Cisco独自) | VLANごとに独立したSTPインスタンスを持つ |
🔹 まとめ
- STPはループ防止のための必須プロトコル(IEEE 802.1D)
- ルートブリッジ選出 → 経路決定 → 不要ポート遮断の流れで動作
- ポート状態は「Blocking → Listening → Learning → Forwarding」の順
- RSTPやMSTPで高速化・効率化が可能
STPはネットワーク設計の基本中の基本であり、理解が浅いとトラブル時に原因を特定できません。 特にCCNA試験では、ルートブリッジ選出・ポートロール・状態遷移の理解が頻出ポイントです。
