未経験歓迎。PRUMは、未経験からの挑戦に本気で向き合い、成長を支える環境を整えています。未経験から本気で成長したい方は、ぜひPRUMへ。

障害検知から復旧まで。STPがネットワークの可用性を担保する仕組みと、現代に必要な高速化技術

ウェブサイトの閲覧、メールの送受信、社内データベースへのアクセス。私たちが毎日当たり前に使っているサービスは、裏側で常に安定した通信が動き続けていることで成り立っています。ネットワークが止まることは、そのままビジネスが止まることを意味します。

この安定稼働を支える指標が可用性です。1本のケーブルが断線しても、1台のスイッチが故障しても通信が途切れないようにする仕組みを冗長化と呼びますが、実はイーサネットには「ケーブルを二重に繋ぐと通信が無限ループしてネットワーク全体が崩壊する」という致命的な弱点があります。このジレンマを解消するのがスパニングツリープロトコル(STP)です。

この記事で分かること

  • 冗長構成がなぜ危険にもなり得るのかという根本的な理由
  • STPが物理的なループを論理的なツリーに変える仕組み
  • 障害発生から復旧までにかかる時間と、それを短縮する高速化技術
  • 不正な機器の接続からネットワークを守るセキュリティ機能
目次

1. なぜ「予備の経路」が危険にもなるのか

単一障害点(1箇所が壊れると全体が止まる場所)を無くすため、ケーブルやスイッチは意図的に二重化されます。1本のケーブルだけに頼っていれば、そこが切れた瞬間にネットワークは沈黙してしまうからです。予備の経路を用意しておくことは、インフラ設計における基本中の基本といえます。

ところが、レイヤ2のネットワークで物理的なループ(閉路)が形成されると、話は一変します。良かれと思って足した予備の経路が、逆にネットワーク全体を巻き込む事故の引き金になるのです。ここで起きる問題は、主に次の3つに整理できます。

  • ブロードキャストストーム:イーサネットフレームにはIPパケットのような生存時間の概念がなく、宛先不明のフレームやブロードキャストフレームがループに入り込むと、スイッチはそれを無限に複製・転送し続ける
  • 帯域とCPUの枯渇:ストームが発生すると帯域が瞬時に埋め尽くされ、スイッチのCPUも処理に追いつかなくなり通信不能に陥る
  • MACアドレステーブルの不安定化:同じ機器からの信号が複数のポートから交互に届き、テーブルの内容が激しく書き換わり続けて(フラッピング)、正しい転送先が分からなくなる

つまり、良かれと思って用意した予備経路が、何も対策しなければネットワーク全体を崩壊させる引き金になってしまうのです。

2. 物理的なループを論理的なツリーに変えるSTP

STPの核心は、物理的にはループ状に繋がっていても、あえて一部の経路を通信不可の状態(ブロッキング)にすることで、論理的には1本道のツリー構造として振る舞わせる点にあります。

重要なのは、現在使っている経路で障害が起きたときの動きです。STPは異常を自動で検知し、それまで遮断していた予備のポートを通信可能な状態に切り替えて、通信を継続させます。この自律的な復旧能力こそが可用性の源です。

こうした判断のために、スイッチ同士はBPDU(ブリッジプロトコルデータユニット)という制御信号を定期的に交換しています。自分の識別情報や経路の優先度をやり取りすることで、ネットワーク全体の構成をお互いに把握し、どの経路を塞ぐべきかを決定しています。BPDUのやり取りが途絶えると、スイッチは「隣の経路に何か異常が起きたのではないか」と判断し、これまでブロッキングしていたポートを見直す動きを開始します。つまりBPDUは、平常時は経路の地図を共有するための情報であると同時に、障害を検知するための脈拍のような役割も果たしているのです。

3. 誰が中心か:ルートブリッジとポートの役割

STPがツリーを作る際、まず基準点となるルートブリッジが選ばれます。これは、ブリッジプライオリティとMACアドレスを組み合わせたブリッジIDが、全スイッチの中で最も小さい個体です。管理者は性能の良いスイッチのプライオリティ値を意図的に下げることで、ネットワークの中心を自分の意図通りにコントロールできます。

ルートブリッジが決まると、各ポートには次の役割が割り当てられます。

役割略称内容
ルートポートRP各スイッチからルートブリッジへ向かう最短経路のポート
指定ポートDPセグメントごとにルートブリッジへの通信を代表するポート
非指定ポートNDP役割が選ばれず通信を遮断(ブロッキング)するポート

この選出の基準になるのがパスコストです。帯域幅に応じて数値が決まっており(例:10Gbpsならコスト2、1Gbpsならコスト4)、ルートブリッジまでの累積コストが最小になる経路がRPとして優先的に選ばれます。なお、指定ポート(DP)はスイッチ単位ではなく、ケーブル1本ごとの区間(セグメント)ごとに1つ選ばれる点も押さえておきたいポイントです。同じセグメントで指定ポートに選ばれなかった側は非指定ポートとなり、ブロッキング状態に置かれます。

4. 安定するまでの4段階:ポートステートの遷移

トポロジの変化後、ネットワークが再び安定した状態に落ち着くことをコンバージェンス(収束)と呼びます。STPはループを避けるため、ポートの状態を段階的に切り替えていきます。

状態所要時間の目安動作内容
ブロッキング初期状態BPDUを受信するのみで通信は行わない
リスニング約15秒役割選出を行い、トポロジの整合性を確認する
ラーニング約15秒MACアドレステーブルの学習を開始する
フォワーディングデータの転送を許可する

標準的なSTPでは、障害検知から復旧までにこのプロセス全体で最大約50秒かかります。常時サービスを提供し続けたい現代の環境にとって、この待ち時間は決して短くありません。

5. 待たせないための高速化:RSTPとPortFast

この課題に対応するため、いくつもの拡張機能が生まれました。

  • RSTP(ラピッドスパニングツリープロトコル):標準STPがタイマー任せで段階的に状態を遷移させていたのに対し、RSTPはスイッチ間で提案(プロポーザル)と合意(アグリーメント)を直接やり取りすることで、数秒以内という速さで収束を実現する
  • PortFast:PCやサーバーが接続されるポートは、そもそもループを作る心配がほとんどありません。そこでPortFastを適用し、リスニングやラーニングの待ち時間を省略して、ケーブルを挿した瞬間から通信を開始できるようにする
項目STPRSTP
収束にかかる時間最大約50秒数秒以内
経路の決定方法タイマーに依存した段階的な遷移提案と合意による直接的なネゴシエーション
主な用途基本的な冗長化可用性を重視する現代のネットワーク

6. 不正な機器からネットワークを守るガード機能

信頼できない機器が持ち込まれ、勝手にルートブリッジを名乗ってしまっては、ネットワーク全体の経路設計が崩れてしまいます。たとえば、会議室の情報コンセントに誰かが安価な家庭用スイッチを繋いでしまうケースを想像してみてください。設定次第では、その機器が意図せずルートブリッジとして振る舞い、業務用の通信経路を大きく迂回させてしまう恐れがあります。これを未然に防ぐのが次の2つの保護機能です。

機能目的動作
BPDUガードPortFastが有効なポートを不正接続から守るBPDUを受信した瞬間にそのポートを強制的に遮断する
ルートガード管理者が意図した中心位置を守る外部からより優先度の高い情報が届いた場合にそのポートをブロックする

どちらも、想定外の機器がネットワークの構造そのものを書き換えてしまう事態を未然に防ぐための仕組みです。

7. VLANごとに経路を最適化する:PVST+

Ciscoの機器では、VLANごとに独立したSTPインスタンスを持つPVST+が標準的に使われています。これにより、たとえばVLAN10は左のスイッチをルートブリッジに、VLAN20は右のスイッチをルートブリッジにするといった論理的な負荷分散が可能になります。

  • 特定のリンクだけに通信が集中するのを避けられる
  • 冗長化された物理リンクを無駄なく両方とも活用できる
  • VLANの数だけ柔軟に経路設計を最適化できる

普段は使われていないように見える予備のリンクも、VLANを変えれば主役の経路として活用できる、非常に効率的な設計です。すべてのVLANが同じ1本のリンクに依存してしまう構成と比べると、障害時の影響範囲を分散できるという副次的なメリットもあります。

8. 現場で意識しておきたいチェックポイント

STPは自動で動いてくれるプロトコルですが、設計や運用の場面では次のような視点を持っておくと、トラブルの予防や切り分けがしやすくなります。

  • ルートブリッジにしたいスイッチのプライオリティ値を明示的に下げているか
  • 末端機器を繋ぐポートにPortFastとBPDUガードが正しく設定されているか
  • VLANごとのルートブリッジが偏っておらず、負荷分散の意図通りになっているか
  • ポートのステータスがブロッキングのまま長期間放置されていないか

まとめ:見えない力学を読み解く力

STPは単なるループ防止の道具ではなく、ネットワークの可用性そのものをコントロールする頭脳です。基本アルゴリズムでループを解消し、RSTPで復旧を高速化し、ガード機能で堅牢性を高め、PVST+でリソースを最適化する。これらを正しく組み合わせることが、止まらないインフラを作る鍵になります。

これからネットワークに関わる人にとって大切なのは、コマンドを覚えることそのものよりも、なぜその経路が塞がれているのか、なぜこのポートだけ高速化されているのかという、目に見えない力学を想像できるようになることです。

最初はブロッキングやフォワーディングといった状態名も、専門用語の羅列にしか感じられないかもしれません。しかし、その一つひとつが「障害があっても止まらない」というただ一つの目的のために設計されていると気づけば、理解は驚くほどすんなり進みます。物理的なケーブルの繋がり方の奥にある論理的な設計を読み解けたとき、障害が起きても慌てず対応できるエンジニアへと近づいていきます。

この記事を書いた人

岩本 稜平のアバター 岩本 稜平 株式会社PRUM 代表取締役

株式会社PRUM 代表取締役。未経験から活躍できるエンジニアの育成・採用に力を入れ、一人ひとりの可能性を広げる環境づくりに取り組む。現場で培った知見をもとに、エンジニアのキャリアやAI、技術に関する情報を発信している。

目次