STPとは何か?新人インフラエンジニア向けに仕組み・設計ポイント・通信トラブル事例をわかりやすく解説
ネットワーク設計を始めると、必ず出てくるのが STP。
スイッチを冗長化したいのに「ループするからダメ」と言われ、よく分からないまま設定だけしていませんか。
この記事では、これからインフラエンジニアを目指す若手・新人向けに、STPの基本、設計時の注意点、そして現場でよくある通信不可トラブルとその解決策までをまとめました。
STPとは何か?なぜ必要なのか
STPは Spanning Tree Protocol の略で、スイッチ間のループを防ぐためのプロトコルです。
ネットワークは冗長化が基本です。
1本のリンクが切断されても通信できるように、経路を二重化します。
しかし、レイヤ2の世界ではループが発生するとブロードキャストストームが起きます。
ブロードキャストストームが発生するとCPU使用率が跳ね上がり、通信がほぼ停止します。
STPは、冗長構成の中から論理的に1本の経路だけをアクティブにし、ループを防ぐ仕組みです。
STPの基本動作をシンプルに理解する
STPの設計で最も重要なのは「ルートブリッジ」の概念です。
- ルートブリッジを1台決める
- そこへ最短経路になるポートを選ばれる
- 余分な経路はブロッキング状態になる
つまり、どのスイッチを中心にツリーを作るかを決めることが設計の本質です。
ここを理解せずに自動任せにすると、意図しない経路がアクティブになります。
STP設計での重要ポイント
1. ルートブリッジは明示的に決める
自社管理のスイッチだけでSTP構成を作る場合はどのスイッチをルートブリッジにするかは自社内の設計の範疇ですが、接続先が他事業者のスイッチというケースが必ず発生します。
そういった場合には他事業者スイッチのSTP設定のプライオリティ値を確認し、自社スイッチと他社スイッチのどちらをルートブリッジにするべきかの議論が最初に発生します。
ルートブリッジにするスイッチが決まったら、そのスイッチのpriority値を下げて、確実にルートにしましょう。
これを怠ると、例えばコアスイッチ(スイッチを集約するスイッチ)をルートブリッジとしたいのに、アクセススイッチ(パソコンなど端末を収容するスイッチ)がルートになることもあります。
2. 冗長経路の向きを意識する
「どのポートをブロックさせたいか」を設計段階で決めましょう。
設計書に明記することが大事です。ここを曖昧にすると、スイッチの増設時に障害が発生します。
3. RSTPの利用を前提にする
従来のSTPは収束が遅いので現在は Rapid STP を使うのが一般的です。
リンク障害時の復旧時間が大きく変わります。
よくある通信不可事象と原因
事象1:突然ネットワーク全体が不安定になる
原因の多くはループが発生したことによる通信帯域のひっ迫です。
・誤ってハブを二重接続
・STP無効ポートにスイッチ接続
対策:
BPDU Guard を有効にする。
エッジポート設定を徹底する。
事象2:特定セグメントだけ通信できない
原因:
意図しないポートがブロックされている。
増設時にルート設計が崩れることが多い。
対策:
show spanning-tree コマンドで状態確認。
ルートブリッジとパスコストを見直す。
事象3:リンク障害後に復旧しない
原因:
STPの収束待ち。
または片系だけリンクアップ。
対策:
RSTP設定を確認。
物理リンク状態も必ず確認する。
STP設計で新人がやりがちなミス
・ルートブリッジを決めない
・priority設定を変更していない
・図面にブロックポートを書かない
・設定だけして動作確認しない
設計 → 設定 → 確認
この3段階を必ずセットで行いましょう。
STPは「理解している人」と「設定している人」で差がつく
STPは一見地味ですが、障害時に真価が問われます。
若手のうちは
・ルートはどこか
・どこがブロックされる設計か
・障害時どう収束するか
これを言語化できるようになるだけで、一段上のエンジニアになれますよ。
まとめ
STPはネットワーク冗長化の基礎です。
重要なのは
・ルートブリッジを明示的に決める
・ブロックポートを設計する
・RSTPを前提にする
・BPDU Guardを活用する
STPを制する人は、L2設計を制します。
新人のうちにここを腹落ちさせておけば、現場での信頼は確実に上がります。