STPの派生いろいろ

PVST
PVST(Per VLAN Spanning Tree)はVLANごとにスパニングツリーを形成するためのプロトコルです.標準のSTPでは同一のネットワーク全体で1つのスパニングツリーを形成します.これはCST(Common Spanning Tree)と呼ばれます.
VLAN単位でイーサネットフレームの転送負荷分散を実現できます.PVSTでVLANごとに構成されるスパニングツリーは以下のようになります.1つのポートでVLANごとに複数の役割が割り当てられます.VLANごとにポートの役割が異なる場合があります.

スイッチ | ポート | VLAN 1 | VLAN2 |
SW 1 | Port 1 | RP | NDP |
Port 2 | NDP | RP | |
SW 2 | Port 1 | DP | DP |
Port 2 | DP | RP | |
SW 3 | Port 1 | RP | DP |
Port 2 | DP | DP |
PVSTを利用することにより,VLANごとに最適なスパニングツリーを構成することができます.これにより,SW 1ではVLANごとにフレームを転送するポートを分散させています.
ただし,複数のVLANが存在するネットワークでは,PVSTのBPDUがVLANの数だけやり取りされるため,スパニングツリーの再計算にも多くのリソースを使われることになります.
RSTP(Rapid Spanning Tree Protocol)
RSTPの概要
STPではトポロジー変更時の経路切り替えに数十秒単位で時間がかかっていました.このままでは可用性に問題があるため,経路の切り替えをより高速に行えるRSTPが開発されました.RSTPはIEEE802.1wで標準化されています.
RSTPでは原則としてP2Pの全二重通信を前提します.P2Pリンク間でハンドシェイクを行うことでより素早くスイッチのポートを決定できます.
ポートの役割と状態
RSTPではポートの役割が5種類あります.
ポートの役割 | 略称 | 状態 | 説明 |
ルートポート | RP | Forwarding | ルートブリッジへのコストが最も低いポート. |
代表ポート | DP | Forwarding | リンクの代表となり,トラフィックを流すポート. |
オルタネートポート | AP | Discarding | ルートポートの次候補として待機しているポート. |
バックアップポート | BP | Discarding | 代表ポートの次候補として待機しているポート. |
ディセーブルポート | – | Disble | 無効となっているポート. |
RSTPのコンバージェンス時間
RSTPでは1秒程度でスパニングツリーの再計算が終了します.STPと比べかなり高速にコンバージェンスするので,瞬断レベルでの切り替えが可能となります.
RSTP BPDU
RSTPのBPDUはSTPとほぼ同等です.主な違いはフラグで用いられるbit数が増えていることと,フォーマットの最後にバージョン1長さが追加されていることです.STPではコンフィグレーションBPDUとTCN BPDUがあったがRSTPでは1種類のみです.

フラグの各bitが表す役割は以下の通りです.
ビット | 役割 |
---|---|
8 | TCN ACKフラグ |
7 | アグリーメントフラグ |
6 | フォワーディングフラグ |
5 | ラーニングフラグ |
4,3 | ポートの役割(00:Unknown, 01:代替ポート, 10:ルートポート, 11:代表ポート) |
2 | プロポーザルフラグ |
1 | TCフラグ |
ポートの役割の決定
RSTPではP2Pの2つのポート間でハンドシェイクして,代表ポートとルートポートを決定できるようにしています.そのために利用するのがプロポーザルポートとアグリーメントフラグです.プロポーザルフラグは自身のポートを代表ポートであると主張するフラグです.アグリーメントフラグは対向ポートを代表ポートとして受け入れ自身のポートをルートポートとして振舞おうとするフラグです.
P2Pで接続されたスイッチは互いのポートをディスカーディング状態にした上で,自身をルートブリッジであると仮定して代表ポートとしてプロポーザルフラグをセットしたBPDUを送信します.
プロポーザルBPDUを受信したスイッチはルートブリッジの情報やルートパスコストを比較します.相手の方が勝っている場合は対向のポートを代表ポートとして認め,自身のポートをルートポートとしてアグリーメントBPDUを送信します.
自身のポートが勝っている場合は待機して,対向からアグリーメントBPDUを受信したらすぐに代表ポートとしてフォワーディング状態に移行します.もしもプロポーザルBPDUを受信したポートよりもルートポートに適切なポートがある場合,アグリーメントBPDUは送信しません.その場合,対向のポートは転送遅延タイム2回分を待って代表ポートとなり,フォワーディング状態に移行します.
MST(Multiple Spanning Tree)
MSTの概要
MSTはVLANごとにスパニングツリーを構成できるように,また高速なコンバージェンスをできるように標準化された技術です.IEEE802.1sで標準化されており,PVSTとRSTPを組み合わせたような技術です.
MSTリージョン
MSTではスイッチをMSTリージョンという単位でグループ化します.MSTリージョンはMSTリージョン名,リビジョン番号,VLAN番号とインスタンスといった情報で構成されます.同一のMSTリージョンではリビジョン番号が一致している必要があります.
MSTインスタンス
複数のVLANをMSTインスタンスに対応づけし,MSTインスタンスごとにスパニングツリーを構成します.同時に利用できるMSTインスタンスは64個までです.MSTではMSTインスタンスごとにVLANを対応づけ,各スイッチはインスタンスごとのプライオリティに基づいてポートの役割を決定します.
以下の図では,VLAN1〜5をMSTインスタンス1に,VLAN6〜10をMSTインスタンス2に割り当てています.MSTインスタンス1ではSW2のプライオリティが最も小さいのでルートブリッジになります.SW3はセカンダリルートブリッジとなり,SW1のポート2が代替ポートに割り当てられます.同様にMSTインスタンス2でもポートの役割が決定され,SW1のリンクは転送経路が負荷分散されるようになります.
