STPの種類(RSTP/MSTP)とフレームフォーマットの比較

STP には様々な種類があります。その機能の比較表を以下に示します。

一般名称STPRSTPMSTP
モードCSTPVST+RSTPVRST+MST
規格IEEE802.1DIEEE802.1D
+Cisco独自
IEEE802.1wIEEE802.1w
+Cisco独自
IEEE802.1s
Cisco
独自機能
-PortFast
UplinkFast
Backbone-
Fast
Per-VLAN
-Per-VLAN-
下位規格
からの主
な改良点
-・HandShakeによる収束高速化
( Timer 依存からの脱却)
・Blocking Port を Alternate
Port (Uplink) と Backup Port
に区別し、UplinkFast 相当が
標準装備
・エッジポートの概念を取り
入れ、PortFast を規格化。
・トポロジ変更に対する収束が
高速になり、BackboneFast が
不要となった。
・インスタンス
(複数のVLANを
まとめたもの)
単位での負荷
分散が可能。
・VLANの数だけ
必要だったSTP
計算を、インス
タンス数だけに
減らせる。
下位互換--STP (CST)STP (PVST+)STP / RSTP
収束Timer依存 (最大50秒)SW 間の HandShake
負荷分散不可VLAN単位不可VLAN単位インスタンス単位
構成の
制約
・STP対応SWは直結して
いなくてもよいが、挟ま
れている HUB はBPDU
(L2マルチキャスト)を
透過できること。
・RSTP or MSTP 対応 SW 同士は直結している(P2P
である)こと。(HandShake は1対1で行われるため)
・未対応 HUB/SW が挟まれている(Shared)場合、
BPDUが透過されれば下位の STP へフォールバック
する。
初期収束・全 SW が全 STP 有効
ポートでListening状態と
し、BPDU を発信する。
しかし自分より優位な
BPDU を受信すると発信
を止め、受信した BPDU
を下部SW へ転送する。
・(PVST+ で portfast
を有効にしているポート
は影響せず常に通信可能
状態)
・エッジポート以外の全 RSTP/MSTP 有効ポートで
Discarding 状態とし、隣接スイッチと HandShake
によるネゴを行う。自分が対向 SW より優位な場合
はそのポートを Desinated Port として
Forwarding 状態とする。逆に相手が自分より優位
である場合、そのポートが最優位のポートであれば
Root Port とし、Forwarding 状態とする。
他に優位なポートがあれば Alternate Port として
Discarding 状態とする。
・他の SW との HandShake により Root Port の
変更が必要な場合は、新 Root Port 以外を
Discarding 状態にし、再度、下部 SW と
HandShake を取り、速やかに役割を再決定する。
収束状態・ルートブリッジのみが
Hello Timer(2s) の間隔
で BPDU を生成し、他の
SW はその BPDU を
(Message Ageの数値を 1
足して) 下部 SW に転送
する。(一方通行)
・全ての SW が Hello Timer(2s) の間隔で BPDU
を生成し、下部 SW に限らず上部 SW にも発信し、
KeepAlive として動作している。(下位互換のため
Message Age 等の STP のみで利用する情報も反映
している)
トポロジ
変更の
トリガー
STP有効ポートで
・リンクダウンした
・BPDU の受信が止まり、
Max Age (20s) が経過
・BPDU を受信し始めた
RSTP/MSTP 有効ポートのエッジポート以外において
Forwarding 状態に遷移した場合
トポロジ
変更時の
具体的な
動作
「初期収束」と同じように
ルートブリッジの選定と
ポートの役割を再決定
する。TCN BPDU や TC
flag を利用して全 SW
にトポロジ変更を伝え、
トポロジ変更を知った
SW は MAC アドレス
テーブルのエージング
タイマーを 300 秒から
Forwarding Delay
(15s) に短縮させる。
(PVST+ で portfast
を有効にしているポート
は影響せず常に通信可能
状態)
Forwarding 状態に遷移したポートがあった場合、
MAC アドレステーブルをクリアしつつ、他の SW に
障害を知らせるために TC フラグを立てて BPDU を
送信する。TC フラグを受信した SW は同様に MAC
アドレステーブルをクリアし、その他の SW に TC
フラグで障害を知らせる。

また、STP のフレームフォーマットの比較表を以下に示します。

STPの種類STPRSTPMSTP
IEEE802.1DIEEE802.1wIEEE802.1s
Protocol ID
(2Byte)
Ox0000
Version
(1Byte)
Ox00Ox02Ox03
BPDU Type
(1Byte)
Ox00(Config)
Ox80(TCN)
Ox02
Flags
(1Byte)
TCトポロジ変更の発生時
に全体へ周知
トポロジ変更の発生時
に隣接スイッチに周知
Proposal-HandShakeの開始時、
および、収束時に利用
Role(2bit)-ポートの役割を明示
-Alternate/Backup=01
-Root=10
-Designated=11
Learning-MACアドレス学習の可否
Forwarding-L2フレームの転送可否
Agreement-HandShakeの終了時に利用
TCABPDU Type=Ox80(TCN)
を受信した際の返信
TCを隣接スイッチから
受信した際の返信
Root ID
(8Byte)
ルートブリッジのブリッジID
Path Cost
(4Byte)
BPDUを転送もしくは送信しているスイッチから
ルートブリッジまでのコスト
Bridge ID
(8Byte)
BPDUを転送もしくは送信しているスイッチのブリッジID
Port ID
(2Byte)
BPDUを転送もしくは送信しているポートのポートID
Message Age
(2Byte)
ルートブリッジまでのHop数
(RSTP/MSTPはSTPとの下位互換のために利用)
Hello Time
(2Byte)
BPDUを定期的に送信する間隔 (default 2秒)
Forward Delay
(2Byte)
Listening/Learning状態に留まる時間 (default 15秒)
(RSTP/MSTPはSTPとの下位互換のために利用)

シェアする

  • このエントリーをはてなブックマークに追加

フォローする