皆さん、こんにちは!日夜、目に見えないパケットの旅路を追いかけているネットワーク屋です。
突然ですが、ネットワークのデザインをしていて「もしもの時のために、スイッチ同士を2本のケーブルで繋いで二重化しておこう!」と思ったことはありませんか?とても素晴らしい備えですよね。しかし、実はこれ、ネットワークの世界では「ループ」という巨大な罠を引き起こす原因になってしまうのです。
このループを防ぐための基本技術が「スパニングツリープロトコル(STP)」ですが、Ciscoのスイッチには、このSTPをさらに賢く、無駄なく進化させた独自の仕組みが備わっています。それが今回主役となる「PVST+(Per-VLAN Spanning Tree Plus)」と、その高速版である「Rapid-PVST+」です。
「難しそうな英語が出てきたな……」と身構えなくても大丈夫です!今回は、郵便配達の仕組みなど、身の回りの分かりやすい例えを交えながら、その仕組みと設定方法を優しく紐解いていきましょう。一歩ずつ、一緒に理解を深めていきましょうね!
—
1. なぜ「普通のスパニングツリー」だけではもったいないのか?
まずは、ベースとなるスパニングツリー(STP)の役割を、現実世界に例えておさらいしてみましょう。
図のように、3台のスイッチが三角形状に繋がっているとします。
[スイッチA]
/ \
/ \
[スイッチB]------[スイッチC]
もし、このままデータを流すと、データがぐるぐると回り続けてネットワークがパンクしてしまいます。これが「ループ」です。
そこでSTPは、スイッチ同士で話し合いを行い、「よし、この三角ルートのうち、BとCの間の道を『通行止め(ブロック)』にしよう!」と決定します。これでループは防げました。
普通のSTPが抱える「もったいない」問題
しかし、ここに1つの不満が生まれます。
「せっかく買ったBとCの間のケーブルやポートが、ただ眠っているだけじゃないか。もったいないな……」
そう、通常のSTP(業界標準のシングルツリー構成)では、ネットワーク全体で「1つの通行止めルール」しか作れません。どれだけ太い回線を用意しても、使われない「宝の持ち腐れ」の道ができてしまうのです。
—
2. Ciscoの画期的なアイデア:VLANごとに道路を分ける「PVST+」
この「もったいない」を解決するためにCiscoが開発したのが、PVST+(Per-VLAN Spanning Tree Plus)です。
名前にある「Per-VLAN」とは、「VLANごとに」という意味になります。
郵便配達に例えてみよう!
ここで、ネットワークの中を走るデータを「郵便屋さん」、VLANを「お届け先のグループ」に例えてみましょう。
- VLAN 10(赤グループ): 営業部の荷物
- VLAN 20(青グループ): 開発部の荷物
PVST+を使うと、なんと「グループごとに異なる通行止めルール」を作ることができるようになります!
- ルール1(VLAN 10用):
「営業部の赤いハガキは、スイッチBとCの間を通行止めにするよ。だから、Aを経由して届けてね」
- ルール2(VLAN 20用):
「開発部の青いハガキは、スイッチAとBの間を通行止めにするよ。だから、Cを経由して届けてね」
【VLAN 10(赤)のルート】 【VLAN 20(青)のルート】
[スイッチA] [スイッチA]
/ \ / X (通行止め)
/ \ / \
[スイッチB] X [スイッチC] [スイッチB]------[スイッチC]
(通行止め)
いかがでしょうか?
これなら、すべての道路(ケーブル)が無駄なく使われていますよね。このように、VLANごとに異なるルートを通らせることで、ネットワーク全体のデータの流れを分散させることを「ロードバランス(負荷分散)」と呼びます。
PVST+が裏で行っていること
PVST+では、スイッチ同士が「私はVLAN 10のボス(ルートブリッジ)になります!」「私はVLAN 20の……」という手紙(これを BPDU と呼びます)を、VLANの数だけ別々に送り合っています。
VLANが10個あれば、10通りの手紙のやり取りが行われ、10個の独立した「配達計画」が立てられているのです。
—
3. さらに素早く切り替える!「Rapid-PVST+」の登場
PVST+はとても賢い仕組みですが、1つだけ弱点がありました。それは、「もしもの時の切り替えに時間がかかる」ということです。
もし、使っている道路が土砂崩れ(ケーブル断線など)で通れなくなったとき、PVST+が「うーん、じゃあ通行止めにしていた別の道を開放しようかな」と判断して実際に道を開通させるまでに、約30秒〜50秒もの時間がかかってしまいます。
現代のビジネスにおいて、30秒間も通信が止まるのは大問題ですよね。お湯が沸いてしまいます。
そこで登場したのが、進化版の「Rapid-PVST+(ラピッドPVST+)」です。
なぜ「Rapid」はそんなに早いの?
通常のPVST+が「タイマーでじっと時間を待ってから安全を確認して道を開ける」のに対して、Rapid-PVST+は「スイッチ同士が『そっち大丈夫?』『こっちオッケー!』と直接ハキハキと声を掛け合って、瞬時に合意を取る」という仕組み(提案と同意プロセス)をとっています。
これにより、トラブルが発生した時の切り替え時間は、なんとわずか1〜2秒程度にまで短縮されます。実務でCiscoスイッチを導入する際は、特別な理由がない限り、この Rapid-PVST+ を選択するのが現在のスタンダードになっています。
—
4. Cisco Catalystスイッチでの設定実践
それでは、実際にCiscoのスイッチ(Catalystシリーズなど)で、このロードバランスを実現するための設定例を見てみましょう!
今回は、以下のような贅沢なロードバランス設定を組んでみます。
- VLAN 10 の通信は、スイッチAをメイン(ルートブリッジ)にする。
- VLAN 20 の通信は、スイッチBをメイン(ルートブリッジ)にする。
スイッチA(Switch-A)の設定
! --- 特権モードに入ります ---
enable
! --- グローバルコンフィギュレーションモードに入ります ---
configure terminal
! --- 1. スパニングツリーの動作モードを「Rapid-PVST+」に設定します ---
spanning-tree mode rapid-pvst
! --- 2. VLAN 10 と VLAN 20 を作成します ---
vlan 10
name Sales
exit
vlan 20
name Engineering
exit
! --- 3. 【ここがポイント!】VLAN 10において、このスイッチAを「一番優先度が高いボス(プライマリ)」にします ---
spanning-tree vlan 10 root primary
! --- 4. 万が一スイッチBが壊れたときのために、VLAN 20では「2番手のボス(セカンダリ)」にしておきます ---
spanning-tree vlan 20 root secondary
end
write memory
スイッチB(Switch-B)の設定
enable
configure terminal
! --- 1. 同様に「Rapid-PVST+」モードにします ---
spanning-tree mode rapid-pvst
vlan 10
name Sales
exit
vlan 20
name Engineering
exit
! --- 2. 【ここがポイント!】スイッチBは、VLAN 20で「一番のボス(プライマリ)」にします ---
spanning-tree vlan 20 root primary
! --- 3. VLAN 10においては、スイッチBを「2番手のボス(セカンダリ)」にしておきます ---
spanning-tree vlan 10 root secondary
end
write memory
設定の解説
spanning-tree vlan <VLAN番号> root primary というコマンドを入力すると、スイッチは自動的にそのVLANにおける優先度(ブリッジプライオリティ)を低く設定し、自分が主役(ルートブリッジ)になるよう立候補します(※STPの世界では、数字が小さい方が優先されます)。
これだけで、VLAN 10とVLAN 20のメイン道路が綺麗に分散され、無駄のないネットワークが完成します!
—
5. 実務でハマりがちな「2つの罠(注意点)」
非常に便利な PVST+ と Rapid-PVST+ ですが、実務で設計・運用する際には、絶対に知っておくべき「罠」が2つあります。ここを抑えておけば、トラブルシューティングの現場でもヒーローになれますよ!
罠①:他社製スイッチと混ぜると、お互いの言葉が通じない!?
PVST+ や Rapid-PVST+ は、Cisco独自の規格です。
そのため、他社製のスイッチ(HPやJuniper、アライドテレシスなど)を混ぜてネットワークを組むと、相手は「VLANごとに手紙(BPDU)を別々に送る」というルールを理解できない場合があります。
- 対策: 他社製品と混在させる場合は、業界標準の
MSTP(Multiple Spanning Tree Protocol)という、複数のVLANをいくつかのグループにまとめて管理する共通規格を採用することを検討してください。
罠②:VLANを増やしすぎると、スイッチの頭脳(CPU)が悲鳴を上げる!
「VLANごとに独立した木(インスタンス)を作る」ということは、VLANの数だけスイッチのCPUが計算を繰り返すということです。
もし、スイッチの中に VLAN が500個あったとしたら、500個分のスパニングツリーの計算が同時に走り、手紙(BPDU)も大量に飛び交うことになります。これではスイッチの頭脳(CPU)がパンクしてしまいます。
- 対策: 一般的に、Ciscoスイッチで
PVST+/Rapid-PVST+を利用する場合、アクティブなVLAN数は数10〜120程度までに抑えるのが推奨されます。それを超えるような大規模ネットワークでは、やはりMSTPへの移行が最適解となります。
—
まとめ:一歩ずつ理解を深めていきましょう!
お疲れ様でした!今回は PVST+ と Rapid-PVST+ について解説しました。
最後に、今回の重要ポイントをギュッとまとめておきましょう。
1. 通常のSTPは、ネットワーク全体で1つの道しか作れないため、使われない「もったいない回線」が生まれる。
2. PVST+は、VLAN(グループ)ごとに道を作ることで、回線を無駄なく使う「ロードバランス」を実現する。
3. Rapid-PVST+は、スイッチ同士が声を掛け合うことで、トラブル時の切り替えを「1〜2秒」に短縮する。
4. Cisco独自仕様であるため、他社製品との接続時や、VLANの増やしすぎによるCPU負荷には注意が必要。
一見難しそうに見えるネットワークプロトコルも、こうしてパケットの気持ちや、現実世界のルールに置き換えてみると、とても合理的で愛おしい仕組みに見えてきませんか?
皆さんが構築するネットワークが、今日も安全に、そして高速にパケットを運び続けられることを願っています。一歩ずつ、頼れるインフラエンジニアへの道を歩んでいきましょうね!
コメント