こんにちは!ネットワークの世界へようこそ。インフラエンジニアの主筆ライターがお届けする、今回のテーマは「RSTP(Rapid Spanning Tree Protocol)」です。
ネットワークの勉強を始めると必ずと言っていいほどぶつかるのが「スパニングツリー(STP)」の壁ですよね。「ループを防ぐためにポートが塞がれるのは分かるけれど、障害が起きたときに通信が復旧するまで30秒も待たされるのは遅すぎる!」……そんな現場の悲鳴から生まれたのが、今回解説するRSTPです。
今回は、従来のSTPのまどろっこしさを完全に覆し、わずか数秒でネットワークを立て直すRSTPの「ポートの役割(ロール)」と「状態(ステート)」について、身近な例えを交えながら一歩ずつ優しく紐解いていきましょう!
—
1. なぜRSTPが必要なのか? 従来のSTPが抱えていた「もどかしさ」
ネットワークの信頼性を高めるために、スイッチ同士を複数のケーブルで繋いで「冗長化(バックアップ)」するのは実務の基本です。しかし、予備の経路があるということは、スイッチの間で電気がグルグルと回り続ける「ループ(ブロードキャストストーム)」が発生する危険と常に隣り合わせであることを意味します。
このループを防ぐために生まれたのが、従来のSTP(IEEE 802.1D)でした。STPは優秀ですが、最大の弱点がありました。それは「ネットワークのトポロジー(構成)が変わったときに、通信が復旧するまで約30〜50秒もかかる」という点です。
障害が発生して「さあ、予備のルートに切り替えよう!」というときに、現場で30秒も通信が止まったら、Webサービスなら大パニック、IP電話ならプツリと切れてしまいますよね。
この「遅すぎる問題」を解決するために登場したのが、IEEE 802.1wで標準化されたRSTP(Rapid STP)です。「Rapid(迅速な)」の名に恥じず、障害発生時に1秒未満(数秒以内)でバックアップ経路へ切り替えることができます。
—
2. RSTPの「ポートロール(役割)」を身近な例えで理解しよう
RSTPがなぜそんなに高速なのか。その秘密は、スイッチのポートが持つ「役割(ポートロール)」の定義がスマートになったからです。
従来のSTPでは、ポートの状態がごちゃごちゃして分かりにくかったのですが、RSTPでは4つの明確な役割に整理されました。郵便配達のネットワークに例えて見てみましょう。
① Root Port(ルートポート / RP)
- 例え: 本局(大元)へ向かう「一番メインの街道」
- 解説: スイッチ自身が「一番近いボス(Root Bridge)」へ向かうために使う、唯一の最速ポートです。このポートから受け取る情報は、ネットワーク全体の羅針盤になります。
② Designated Port(指定ポート / DP)
- 例え: 各家庭へ向けて手紙を「配るための道路」
- 解説: 自分のセグメント(同じフロアのスイッチ群など)に対して、自分が責任を持ってトラフィックを送り出すポートです。このポートは基本的に「通信中(Forwarding)」の状態になります。
③ Alternate Port(オルタネートポート / AP)
- 例え: 「もしメインの道が通行止めになったら使う、裏の抜け道」
- 解説: ルートポートの「完全なバックアップ」です。他のスイッチから届く案内状(BPDU)を常に監視しながら、いざというときにすぐバトンタッチできるよう、スタンバイしています。
④ Backup Port(バックアップポート / BP)
- 例え: 「同じ宛先なのに、なぜか同じ場所に2本敷いてしまった無駄な並行道路」
- 解説: 自分のスイッチから出ている別のポートと繋がっているような特殊な環境で、指定ポート(DP)のバックアップとして控え室で待機するポートです。実務ではあまりお目にかかりませんが、一応定義されています。
—
3. 複雑だったポートステート(状態)の大掃除
従来のSTPでは、ポートが通信できるようになるまでに Blocking → Listening → Learning と、段階を踏む必要があり、これが遅延の原因でした。
RSTPでは、このステートを思い切って3つに統合・簡略化しました。
1. Discarding(破棄状態)
- 手紙(データ)を捨てている状態。ループを防ぐため、データは通しませんが、ネットワークの地図(MACアドレス学習)も作らず、BPDU(案内状)のやり取りだけは行っています。
- ※従来の
Blocking,Listening,Disabledがここに統合されました!
2. Learning(学習状態)
- 「誰から手紙が届いたか」をメモ帳(MACアドレス表)に書き留めている状態。まだ自分宛てのデータ通信はしませんが、いざ通信が始まったときにすぐ動けるよう準備をします。
3. Forwarding(転送状態)
- バッチリ通信ができる状態です。ユーザーからのデータがザクザク流れます。
RSTPが速い最大の理由は、「Alternate Port(裏の抜け道)は、普段は Discarding(破棄)で待機しているけれど、Root Port(メインの道)が潰れた瞬間に、ノータイムで Forwarding に昇格できる」という仕組み(Proposal / Agreement メカニズム)を持っているからです。
—
4. 実務で役立つ!Cisco CatalystスイッチでのRSTP設定例
それでは、実際の現場でどのようにRSTPを有効化するのか、Cisco IOSのCLIコマンドを例に見ていきましょう。
現在のCiscoスイッチのデフォルトは、さらに進化版であるPVST+やRapid-PVST+であることが多いですが、標準的なRSTP(IEEE 802.1w)をベースにした設定の流れは以下のようになります。
# 特権EXECモードに移行します
Switch> enable
# グローバルコンフィグレーションモードに移行します
Switch# configure terminal
# スパニングツリーのモードを「RSTP(またはRapid-PVST)」に指定します
Switch(config)# spanning-tree mode rapid-pvst
# (任意)このスイッチをルートブリッジ(中心的存在)に優先的に選ばせる設定
Switch(config)# spanning-tree vlan 1 root primary
# 各インターフェースの設定(例としてGigabitEthernet0/1を指定)
Switch(config)# interface GigabitEthernet 0/1
# エンド端末(PCやサーバー)が接続されるポートの場合、
# スパニングツリーの計算を待たずに即座にフォワードさせる「PortFast」を有効化
Switch(config-if)# spanning-tree portfast
# 万が一ループする機器が繋がった際にポートを自動でシャットダウンする保護機能
Switch(config-if)# spanning-tree bpduguard enable
# 設定を保存します
Switch# write memory
💡 実務の現場におけるワンポイントアドバイス
サーバーやパソコンが繋がるエッジポートには、必ず spanning-tree portfast(Ciscoの場合)を設定しましょう。これを忘れると、PCを起動した瞬間にOSがネットワークに参加するまで数秒かかり、DHCPの取得失敗などのトラブルに繋がることがあります。
また、Cisco環境では spanning-tree mode rapid-pvst を使うことで、VLANごとのRSTP(Rapid PVST+)として動作し、Cisco独自の拡張機能(PortFastやBPDU Guardなど)の恩恵をフルに受けることができます。
—
5. まとめ
いかがでしたでしょうか?今回はRSTPのポートロールとポートステートについて紐解いてみました。
- Root Port (RP): ボス(Root)へ向かう最速のメインストリート
- Designated Port (DP): 自分のエリアに手配りする現役の道路
- Alternate Port (AP): いざというときの頼れる裏道(即座に昇格可能)
- Discarding / Learning / Forwarding: 無駄を削ぎ落とし、超高速化された3つの状態
ネットワークの世界は、一見すると難解な英単語や仕様書の羅列に見えますが、私たちの身の回りの交通網や郵便の仕組みに置き換えてみると、非常に理にかなった美しいロジックで動いています。
「なぜこのポートは塞がっているんだろう?」、「障害が起きたときにどこがどう切り替わるべきか?」——そんな視点を持ってパケットの流れを想像できるようになると、ネットワークのトラブルシューティングが何倍も楽しくなりますよ!
それでは、また次回のインフラ解説記事でお会いしましょう。快適なネットワークライフを!
コメント