STPとRSTPの違い:ポートの状態と役割・切り替えの速さ・BPDU・互換性を比較

スイッチを冗長な経路でつなぐと、ブロードキャストのフレームがループを回り続けるブロードキャストストームが起きます。STP(スパニングツリープロトコル)は、スイッチどうしがBPDUというメッセージを交換し、一部のポートをブロックして、ルートブリッジを根とするループのない木の形にします。ただし従来のSTP(IEEE 802.1D)は、ループを作らないようにタイマーで待ちながらポートを転送の状態に進めるので、既定の値では障害の後の切り替えに30〜50秒かかります。RSTP(Rapid STP、IEEE 802.1w)は、ルートブリッジの選び方やポートをブロックする考え方はそのままに、隣のスイッチとの提案と合意のやり取りや、代わりのポートをあらかじめ決めておくしくみで、切り替えを一般に数秒以内に縮めました。RSTPは2004年版のIEEE 802.1Dに取り込まれ、従来のSTPに代わる標準になっています。

項目STPRSTP
規格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と同じ動きに切り替わる(そのポートの切り替えは遅くなる)

数値は代表的な目安で、世代や製品によって異なります。

どんなときに使うか

STP
RSTPに対応していない古いスイッチが混ざるときに、互換のために残っている方式です。新しく組むネットワークで、あえて従来のSTPを選ぶ理由はほとんどありません。
RSTP
スイッチを冗長につなぐネットワークでの標準の選び方です。端末をつなぐポートをエッジポートに設定し、スイッチの間を全二重の1対1のリンクにすると、速い切り替えの効果を十分に得られます。

よくある質問

STPでは、なぜ切り替えに30〜50秒もかかるのですか?

ループを作らないように、慎重にポートを進めるからです。離れた場所の障害では、まず届かなくなったBPDUの情報が消えるまで、最大エージの20秒を待ちます。その後、リスニングとラーニングの各状態でフォワード遅延の15秒ずつ待つので、合わせて最大で 20 + 15 × 2 = 50 秒になります。自分のポートのリンクが切れたときは、最大エージを待たずに済むので約30秒です。

RSTPとSTPのスイッチを混ぜて使えますか?

使えます。RSTPのスイッチは、従来のSTPのBPDUを受け取ったポートでは、STPと同じ動きに切り替えます。ただし、そのポートでは提案と合意のやり取りが使えず、タイマーに頼るので、切り替えは遅くなります。速い切り替えを得るには、ネットワークのスイッチをRSTPにそろえます。

ルートブリッジの選び方は、STPとRSTPで違いますか?

同じです。優先度とMACアドレスを並べたブリッジIDの最も小さいスイッチが、ルートブリッジになります。優先度の既定値は32768で、何も設定しないとMACアドレスの最も小さいスイッチが選ばれるので、中心に置くスイッチの優先度を小さく設定しておくのが一般的です。

VLANごとに別の木を作りたいときは、どうしますか?

STPとRSTPはネットワーク全体で1つの木を作るので、ブロックしたリンクはどのVLANでも使われません。VLANのグループごとに別の木(インスタンス)を作れるMSTP(IEEE 802.1s、現在はIEEE 802.1Qに含まれる)を使うと、VLANによって違うリンクを使い、冗長なリンクも活用できます。

理解度チェック

スイッチを冗長な経路でつないだネットワークで、スパニングツリープロトコル(STP)が果たす役割として正しいものはどれか。

  1. A一部のポートを論理的に止めて、ループのない木の形の経路にし、ブロードキャストのフレームが回り続けるのを防ぐ
  2. Bスイッチの間の複数のリンクにフレームを均等に振り分けて、帯域を増やす
  3. C異なるVLANの間でフレームを中継して、VLANどうしが通信できるようにする
答えと解説を見る

正解:A. 一部のポートを論理的に止めて、ループのない木の形の経路にし、ブロードキャストのフレームが回り続けるのを防ぐ

スイッチをループ状につなぐと、ブロードキャストや宛先の分からないフレームがループを回り続けて増え(ブロードキャストストーム)、ネットワークが止まってしまいます。イーサネットのフレームには、IPのTTLのように通過の回数を数えて捨てるしくみがないためです。STPは、スイッチどうしでBPDUというメッセージを交換し、ルートブリッジを根とする木の形になるように一部のポートをブロックします。使っているリンクが切れると、ブロックしていたポートを転送の状態にして、別の経路に切り替えます。

STPで、3台のスイッチのブリッジIDが次のように分かっている。SW1は優先度32768、MACアドレス 00-00-5E-00-53-01、SW2は優先度61440、MACアドレス 00-00-5E-00-53-05、SW3は優先度4096、MACアドレス 00-00-5E-00-53-0A である。ルートブリッジに選ばれるスイッチはどれか。

  1. ASW1
  2. BSW2
  3. CSW3
答えと解説を見る

正解:C. SW3

STPでは、ブリッジIDが最も小さいスイッチがルートブリッジになります。ブリッジIDは、優先度を上位に、MACアドレスを下位に並べた値なので、まず優先度を比べ、同じときだけMACアドレスを比べます。ここでは優先度が最も小さい4096のSW3が、MACアドレスにかかわらずルートブリッジになります。優先度の既定値は32768で、何も設定しないとMACアドレスの最も小さいスイッチが選ばれてしまうので、中心に置くスイッチの優先度を小さく設定しておくのが一般的です。

3台のスイッチSW1、SW2、SW3を、互いに1本ずつのリンクで三角形につないだ。STPのルートブリッジはSW1で、ブリッジIDはSW2の方がSW3より小さい。どのリンクもパスコストは同じとする。ブロックされる(フレームを転送しない)ポートはどれか。

  1. ASW1の、SW3につながるポート
  2. BSW2の、SW3につながるポート
  3. CSW3の、SW2につながるポート
答えと解説を見る

正解:C. SW3の、SW2につながるポート

ルートブリッジのポートは、すべて指定ポートとして転送の状態になります。SW2とSW3は、ルートブリッジまでのコストが最も小さい、SW1に直接つながるポートをルートポートにします。残るSW2–SW3のリンクでは、どちらのスイッチもルートブリッジまでのコストが同じ(リンク1本分)なので、ブリッジIDの小さいSW2のポートが指定ポートになります。指定ポートにもルートポートにもならないSW3のポートがブロックされ、三角形のループが断ち切られます。

  1. 従来のSTP(IEEE 802.1D)は、既定のタイマーのままでは、障害の後にブロックされていたポートが転送を始めるまでに30〜50秒ほどかかる。RSTPが切り替えを速くしたしくみとして正しいものはどれか。

ネットワークの設計と運用の練習問題へ

関連する用語の解説

スパニングツリープロトコル(STP)
Spanning Tree Protocolの略。スイッチを冗長な経路でつないだネットワークで、一部のポートを論理的にブロックしてループのない木の形にし、ブロードキャストストームを防ぐプロトコル(IEEE 802.1D)。使っている経路が切れると、ブロックしていたポートを使って経路を切り替える。切り替えを速くした改良版がRSTP(ラピッドスパニングツリープロトコル)。
MACアドレス
イーサネットや無線LANで、同じネットワークの中の機器を指定するのに使う48ビットのアドレス。上位24ビットが製造者を表し、製造時にインターフェースごとに割り当てられる。
ブロードキャストドメイン
ブロードキャストのフレームが届く範囲。スイッチやハブはブロードキャストを転送するので同じ範囲に含まれ、ルータ(やL3スイッチのルーティング)が範囲を区切る。VLANを使うと、1台のスイッチの中をVLANごとに別々のブロードキャストドメインに分けられる。範囲が広すぎると、ARPなどのブロードキャストが増えて、通信の効率が落ちる。
VLAN
仮想LAN。スイッチのポートなどを単位に、物理的に同じ機器の上に論理的に別々のネットワーク(ブロードキャストドメイン)を作る機能。スイッチの間ではIEEE 802.1Qのタグで区別する。
イーサネット
有線のLANの標準的な規格群(IEEE 802.3)。データをフレームに入れ、MACアドレスで宛先を示して送る。ツイストペアケーブルや光ファイバを使い、速度は10 Mbit/sから数百Gbit/sまである。フレームの末尾には、CRC-32による誤り検出の符号(FCS)が付く。現在はスイッチと全二重でつなぐのが一般的で、昔のCSMA/CDによる衝突の制御は使われない。

関連する比較