こんにちは!ネットワークの世界へようこそ。インフラやネットワークの勉強を始めると、次から次へと専門用語が出てきて「うわ、もう無理……」と挫折しそうになりますよね。でも、一歩ずつ身近な例に置き換えて見ていくと、実は私たちの日常のルールと驚くほど同じなんだと気づけるはずです。
今回は、ネットワークの信頼性を支える超重要技術、RSTP(IEEE 802.1w)による高速収束メカニズムについて、泥臭い現場の空気感も交えながら、とことん優しく紐解いていきたいと思います。
—
そもそも、なぜネットワークに「STP/RSTP」が必要なの?
会社や学校のネットワークを想像してみてください。「もし、ハブやスイッチ同士をつなぐケーブルが切れたら、みんなネットにつながらなくなって困るよね?」ということで、予備のケーブル(冗長経路)を一本余分に配線しておくのは、ネットワーク構築の基本中の基本です。
しかし、ここで厄介な問題が起きます。配線を輪っか(ループ)の形にしてしまうと、ネットワーク上をパケットが無限にぐるぐる回り続けてしまうのです。これをネットワークの世界では「ブロードキャストストーム(嵐)」と呼び、あっという間にスイッチのCPUが悲鳴を上げ、通信が完全に麻痺してしまいます。
そこで登場するのが、STP(Spanning Tree Protocol / IEEE 802.1d)です。
STPは、ネットワークの輪っかを見つけて、「今はこのケーブルは使わないでおこう(お休みモード)」と自動で判断し、ループを防いでくれる素晴らしい仕組みでした。
古き良きSTPの致命的な弱点:遅すぎる!
しかし、従来のSTPには大きな弱点がありました。それは「お休みモードから復帰するまでに、とにかく時間がかかる」ということです。
- 障害が発生して「予備の経路を使おう!」と判断するまでに、なんと 30秒〜50秒 もかかります。
- 現代のWebサービスやビジネスにおいて、ネットワークが50秒もブラックアウトしたら、大クレームものですよね。
「もっとこう……一瞬でパッと切り替わってくれないものか!」
その現場の切実な願いから生まれたのが、今回主役のRSTP(Rapid Spanning Tree Protocol / IEEE 802.1w)なのです。
—
RSTPの高速な仕組みを「郵便配達」に例えてみよう
RSTPがなぜ「ラピッド(高速)」なのか。その秘密は、スイッチ同士の会話の仕方にあります。従来のSTPが「お互いに様子を見合って、石橋を叩きまくる慎重派」だったのに対し、RSTPは「阿吽の呼吸で一瞬で意思疎通を済ませる優秀なビジネスマン」のような動きをします。
これを「郵便配達のやり取り」に例えてみましょう。
1. Proposal(提案):
スイッチAが隣のスイッチBに向かって、「ねえ、私とあなたを繋ぐこの線を、今すぐすぐに通信可能な『メイン道路』に昇格させてもいいかい?」と提案(Proposal)の手紙を投げます。
2. Sync(同期・沈黙):
手紙を受け取ったスイッチBは、「よし、分かった!」と即座に自分の他のポートからの不正な回り込み(ループ)を防ぐために、一時的に通信をせき止めます(これを同期=Syncと呼びます)。
3. Agreement(合意):
準備が整ったスイッチBは、スイッチAに「準備OKだよ!」と合意(Agreement)の返事を送り返します。
このProposal/Agreementハンドシェイクと呼ばれる一連のやり取りが、わずか数ミリ秒〜数秒の間にバックグラウンドで行われます。これにより、従来のSTPのように「待機状態(Listening/Learning)」というまどろっこしいステップを大幅にスキップし、一瞬でポートを「フォワーディング(転送)状態」に持っていくことができるのです。
—
実務での設定例:Cisco CatalystスイッチでのRSTP(PVST+/Rapid-PVST+)
「理屈は分かったけど、実際の現場ではどう設定するの?」という方のために、Ciscoのコマンドライン(IOS)を例に、実務でそのまま使える設定を見てみましょう。
現代のCiscoスイッチでは、デフォルトでSTPの拡張である Rapid-PVST+(VLANごとのRSTP)が動いていることが多いですが、明示的にモードを指定・確認する手順はインフラエンジニアの必須スキルです。
1. 現在のSTPモードを確認するコマンド
まずは、スイッチが今どんなモードで動いているのかを覗いてみましょう。
Switch# show spanning-tree summary
Switch is in rapid-pvst mode <-- ここが「rapid-pvst」になっていることを確認!
Root bridge for: none
Extended system ID is enabled
...
2. RSTP(Rapid-PVST+)を明示的に有効化する設定
もし古い設定を引き継いでいて、従来の遅いSTP(IEEE 802.1d)になってしまっている場合は、グローバルコンフィグモードでサクッと切り替えます。
Switch> enable
Switch# configure terminal
テイスト(モード)をRapid-PVSTに変更します
Switch(config)# spanning-tree mode rapid-pvst
設定を保存します
Switch# write memory
3. エンド端末(PCやサーバー)が繋がるポートの高速化(PortFast)
RSTPをさらに活かすために、PCやプリンターが接続されるポート(ループする心配がない末端のポート)には、PortFastという機能を設定します。これにより、ケーブルを挿した瞬間にポートが即座に通信状態になります。
Switch# configure terminal
Switch(config)# interface gigabitethernet 0/1
末端のポートであることを宣言します
Switch(config-if)# spanning-tree portfast
トポロジー変化の通知を抑制し、さらに安定させます
Switch(config-if)# spanning-tree portfast edge
Switch(config-if)# end
—
古い機器との混在は大丈夫?STPとの互換性維持の仕組み
「うちの現場、古いシスコ以外のスイッチや、何年も前のレガシーなスイッチがまだ現役で混ざってるんだけど……RSTPに変えて大丈夫?」
そんな心配性のあなた、非常に素晴らしい着眼点です!
RSTPがすごいのは、「古いSTPしか話せない相手(レガシーデバイス)を見つけると、自動でそのポートだけ『昔のやり方(STPモード)』に合わせにいってくれる」という優しい互換性機能を持っている点です。
これをフォールバック機構と呼びます。
レガシーなスイッチからのパケット(BPDU)を検知すると、RSTP側が「あ、この人は昔の言葉しか分からないんだな」と察知し、そのポートの通信方法を自動的にダウングレードしてループを防ぎつつ通信を継続させます。そして、古いスイッチがリプレイス(撤去)されて新しくなれば、自動的に再び高速なRSTPの動きに戻るのです。なんてスマートなんでしょう!
—
まとめ
今回は、RSTP(IEEE 802.1w)による高速収束メカニズムについて解説しました。
- 従来のSTPは「待ち時間が長すぎて実用的ではない」
- RSTPは「Proposal/Agreement」の阿吽の呼吸で一瞬でポートを切り替える
- 古い機器が混ざっていても、自動で気配りして互換性を保つことができる
ネットワークの基礎技術は、一見すると難解なアルゴリズムの塊に見えますが、その裏には「いかに通信を止めないか」「いかに現場の運用を楽にするか」という先人たちの泥臭い工夫や優しさが詰まっています。
一歩ずつ、焦らずに知識を自分のものにしていきましょう。あなたのネットワークエンジニアとしてのステップアップを、これからも応援しています!
コメント