【テクニカル・上級編】 PVST+(Per-VLAN Spanning Tree Plus)とRapid-PVST+の独自拡張仕様 – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

孤高のL2制御:PVST+とRapid-PVST+がもたらす「妥協なき冗長性」の深淵

ネットワークエンジニアの端くれであれば、誰もが一度は「STP(Spanning Tree Protocol)の悪夢」を見たことがあるはずだ。802.1Dの収束時間に絶望し、802.1w(RSTP)の登場に歓喜したあの夜。しかし、現場の泥臭い現実は、単一のトポロジーで全てを制御できるほど甘くはない。

Ciscoが独自実装として世に送り出した PVST+ と Rapid-PVST+ は、VLANという論理レイヤーをSTPのインスタンスと1対1でマッピングさせることで、L2ネットワークに「洗練されたロードバランシング」という名の聖杯をもたらした。今回は、このプロトコルがパケットレベルでどのような挙動を示し、高密度データセンターのパフォーマンスにどう寄与するのか、その深淵を掘り下げていく。

—

1. PVST+の内部構造:なぜVLANごとの独立性が重要なのか

標準的なSTPは物理トポロジーに忠実すぎる。もし、VLAN 10とVLAN 20が同じトランクリンクを共有している場合、単一のSTPインスタンスでは「どちらか一方のVLANにとって最適なパス」しか選択できない。これは、残り半分の帯域が「ブロッキングポート」として死蔵されることを意味する。

PVST+ は、BPDUを VLAN 1 上で untagged に流し、他VLANのBPDUを 0x01000ccccccc というCisco専用のマルチキャストMAC宛てに、SNAP ヘッダーを用いてカプセル化して流す。

なぜこれが重要か?

この仕組みにより、管理者はVLANごとに Root Bridge を配置換えし、トラフィックを意図的に分散させることが可能になる。例えば、コアスイッチAをVLAN 10のルートに、コアスイッチBをVLAN 20のルートに設定する。これで、物理リンクは「非対称ルーティング」を許容しながら、効率的に帯域を使い切ることができるのだ。

—

2. Rapid-PVST+による収束の高速化とカーネルレベルの最適化

Rapid-PVST+ は、802.1wの「提案・同意(Proposal/Agreement)」メカニズムをVLANごとに適用したものだ。タイマー切れを待つ802.1Dとは異なり、エッジポートの定義と、P2Pリンクの動的検知により、収束時間はミリ秒単位まで短縮される。

設定の勘所:トランクポートの明示的指定

現場で最も多いトラブルは、スイッチ間のリンクが「共有リンク(Shared Link)」と誤認されることだ。Rapid-PVST+ の真価を発揮させるには、リンクが全二重(Full-Duplex)であることを明示し、P2P通信を強制する必要がある。

# インターフェイスを明示的にP2Pに設定する(収束速度の決定打)
interface GigabitEthernet0/1
 description Uplink_to_Core_Switch
 switchport mode trunk
 spanning-tree link-type point-to-point  # これが重要。エッジケースを排除する
 spanning-tree portfast trunk           # トランクでもPortFastを有効化し、移行を即時化

—

3. パフォーマンスとセキュリティの隠れたトレードオフ

ネットワークのパフォーマンスを語る際、L2のループ防止策は単なる「保険」ではない。Rapid-PVST+ を導入する際、以下の3点に注意を払うことが、真のインフラアーキテクトとしての矜持だ。

A. CPU負荷とコントロールプレーン保護

VLAN数が増加すれば、それだけスイッチが処理すべきBPDUの数も指数関数的に増える。特に大規模なマルチテナント環境では、CoPP (Control Plane Policing) でBPDUを適切に保護しなければ、コントロールプレーンが飽和し、ネットワーク全体がブラックアウトするリスクがある。

B. TCPバッファとRTTへの影響

L2の収束が遅延すると、当然ながらその上位にあるTCPセッションは Retransmission Timeout (RTO) の危機に瀕する。特に高スループットなTLS通信では、一時的なリンクの切り替わりがTCPの Congestion Window (cwnd) を急激に縮小させ、スループットの回復に時間を要する。Rapid-PVST+ のミリ秒単位の収束は、単なる可用性の向上ではなく、TCPの輻輳制御アルゴリズムを安定させるための「静かなる前提」なのだ。

C. セキュリティ:BPDUガードの徹底

VLAN単位でSTPを回す以上、悪意あるユーザーがBPDUを注入し、特定のVLANの Root Bridge を強奪することは、中間者攻撃(MitM)の極めて単純かつ強力な手段となる。

# エッジポートには必ずBPDU Guardを適用する
interface GigabitEthernet0/2
 description Access_Port_to_Server
 spanning-tree portfast
 spanning-tree bpduguard enable  # BPDUを検知したら即座にポートをシャットダウン

—

4. 最後に:インフラの「枯れた技術」を再解釈する

PVST+ や Rapid-PVST+ は、もはやレガシーな技術と揶揄されることもある。しかし、データセンターの仮想化やSD-WANが普及した今でも、物理レイヤーの信頼性なしに上位層の抽象化が成功することはない。

我々インフラエンジニアが追求すべきは、プロトコルの表面的な操作ではなく、パケットがスイッチのASICを通過する瞬間の挙動を想像し、ミリ秒の揺らぎさえも計算に入れることだ。

もしあなたが現在、設計の現場で「なぜか不安定な通信」に悩まされているなら、まずは spanning-tree vlan X detail を叩いてみてほしい。そこには、パケットが迷いなく最短経路を選び取ろうとする、ネットワークの静かな闘争が記録されているはずだ。

技術は、詳細を知る者にこそ微笑む。今日もまた、CLIのプロンプト越しに、パケットたちと対話していこう。

コメント

タイトルとURLをコピーしました