STPとRSTPの違い:ポートの状態と役割・切り替えの速さ・BPDU・互換性を比較
スイッチを冗長な経路でつなぐと、ブロードキャストのフレームがループを回り続けるブロードキャストストームが起きます。STP(スパニングツリープロトコル)は、スイッチどうしがBPDUというメッセージを交換し、一部のポートをブロックして、ルートブリッジを根とするループのない木の形にします。ただし従来のSTP(IEEE 802.1D)は、ループを作らないようにタイマーで待ちながらポートを転送の状態に進めるので、既定の値では障害の後の切り替えに30〜50秒かかります。RSTP(Rapid STP、IEEE 802.1w)は、ルートブリッジの選び方やポートをブロックする考え方はそのままに、隣のスイッチとの提案と合意のやり取りや、代わりのポートをあらかじめ決めておくしくみで、切り替えを一般に数秒以内に縮めました。RSTPは2004年版のIEEE 802.1Dに取り込まれ、従来のSTPに代わる標準になっています。
| 項目 | STP | RSTP |
|---|---|---|
| 規格 | IEEE 802.1D(1998年版まで) | IEEE 802.1w。2004年版のIEEE 802.1Dに取り込まれた |
| ポートの状態 | 無効・ブロッキング・リスニング・ラーニング・フォワーディングの5つ | 破棄(ディスカーディング)・ラーニング・フォワーディングの3つ |
| ポートの役割 | ルートポートと指定ポート。どちらでもないポートはブロックする | ルートポートと指定ポートに加え、ルートポートの代わりになる代替ポートと、指定ポートの予備になるバックアップポート |
| 障害の後の切り替えの時間 | 既定のタイマーで30〜50秒(最大エージ20秒+フォワード遅延15秒×2) | 一般に数秒以内 |
| 速く切り替えるしくみ | なし。タイマーで待ちながら、リスニングとラーニングを経て転送を始める | 1対1のリンクで隣と提案(proposal)と合意(agreement)をやり取りし、タイマーを待たずに転送を始める。ルートポートが切れたら、代替ポートがすぐに引き継ぐ |
| BPDUの送り方と障害の検出 | ルートブリッジが送ったBPDUを、各スイッチが中継する。BPDUの情報が最大エージ(既定20秒)のあいだ更新されないと、障害とみなす | 各スイッチがハロータイム(既定2秒)ごとに自分でBPDUを送る。3回続けて届かないと、障害とみなす |
| トポロジの変化の伝え方 | 変化に気づいたスイッチがTCN BPDUでルートブリッジに知らせ、ルートブリッジから全体に伝える。MACアドレステーブルは、登録の保持時間をフォワード遅延(15秒)まで短くして古い登録を消す | 変化に気づいたスイッチが直接周りに伝え、受け取ったスイッチはMACアドレステーブルの古い登録をすぐに消す |
| 端末をつなぐポート | 規格では区別しない。端末をつないでも、転送を始めるまで約30秒待つ | エッジポートに設定すると、すぐに転送を始める。BPDUを受け取ると、ふつうのポートとして扱う |
| 互換性 | RSTPのスイッチとつないでも、STPのまま動く | STPのスイッチとつながるポートでは、STPと同じ動きに切り替わる(そのポートの切り替えは遅くなる) |
数値は代表的な目安で、世代や製品によって異なります。