RSTPの概要

RSTPは、従来のSTPを改良したプロトコルで、高速なトポロジ収束を実現することを目的としています。

STPではリンク障害や構成変更が発生した場合、ポートの状態遷移にForward Delayタイマ(合計30秒)やMax Ageタイマ(20秒)が関与し、収束に最大50秒程度かかることがありました。これに対し、RSTPでは収束時間を数秒程度に短縮できます。

RSTPでのポートの役割

STPではルートポート・指定ポート・非指定ポートの3種類が定義されていましたが、RSTPではこれに加えて新たに「代替ポート」や「バックアップポート」が導入され、障害時に即座に切り替えられる仕組みを持ちます。

RSTPSTP
ルートポートルートポート
指定ポート指定ポート
代替ポート非指定ポート
バックアップポート

代替ポート

ルートブリッジに到達するための別経路が存在する場合に設定されるポートです。

通常はブロッキング(ディスカーディング)状態にあり、フレーム転送は行いません。障害によって現在の経路が使えなくなったとき、即座に代替ポートが有効化され、新しいルートポートとして動作します。

バックアップポート

同じスイッチングハブから隣接するスイッチングハブに複数のポートが接続されている場合に設定されるポートです。

上位(優先度が高い)のスイッチングハブのポート番号が小さい方に接続されているポートをが指定ポートとなり、残りの冗長なポートはバックアップポートとして待機します。通常はブロッキング(ディスカーディング)状態にあり、障害が発生して指定ポートが利用できなくなった場合に、即座に指定ポートとして動作します。

ポート状態の高速遷移

STPではポートがフォワーディング状態になるまでに「リスニング状態」「ラーニング状態」を経由する必要がありました。RSTPではこれらを廃止し、代わりに「ディスカーディング状態」「ラーニング状態」「フォワーディング状態」の3状態に統一することで、より迅速に転送可能状態へ移行できます。

ディスカーディング状態(Discarding)

フレーム転送を行わず、MACアドレス学習もしない待機状態です。

ループを防ぐための初期状態や、ブロックされているポートがこの状態になります。STPでのブロッキング状態とリスニング状態を統合したものです。

ラーニング状態(Learning)

フレームを転送せず、受信フレームの送信元MACアドレスを学習する状態です。

STPではラーニング状態に入る前にリスニング状態を経由し、それぞれ15秒ずつ待機するため、フォワーディング状態に至るまで時間がかかります。一方、RSTPではリスニング状態を廃止し、直接ラーニング状態に移行します。

さらに、隣接スイッチングハブとBPDUのやり取りによって合意が得られれば、即時にフォワーディング状態へ移行できるため、数秒以内に通信が再開可能です。

フォワーディング状態(Forwarding)

フレームを転送し、同時にMACアドレス学習も行う通常の動作状態です。

プロポーサル/アグリーメントによる即時切替

RSTPでは、新しいスイッチングハブやリンクが接続された場合に、プロポーサル/アグリーメント方式を用いてスパニングツリーを即座に再構築します。

プロポーサルBPDUの送信

既存のスイッチ(スイッチA)が新たに接続されたスイッチ(スイッチB)に対して、「このポートを指定ポートにしたい」 という提案を含んだ「プロポーサルBPDU」を送信します。

アグリーメントBPDUの送信

スイッチングハブはBPDUを受信すると、お互いの優先度を比較します。

優先度が低いスイッチングハブ(スイッチB)は、自身のポートをルートポートに設定し、「同意、フォワーディング状態にしてよい」という内容の アグリーメントBPDU をスイッチAに返信します。
アグリーメントBPDUを受信したスイッチAは、自ポートを指定ポートに設定し、両方のポートが即座にフォワーディング状態へ移行します。

BPDUの交換により、スイッチングハブ間で合意が形成されると、即座にポートを「フォワーディング状態」に移行させることができます。従来のSTPのように Max Age(20秒待機)+Forward Delay(30秒)を経る必要がなく、数秒以内で通信を再開できる点が大きな特徴です。

エッジポート

エッジポートは、RSTP(Rapid Spanning Tree Protocol)で導入された概念で、PCやサーバなどの末端機器に直接接続されるポートを指します。これらのポートはネットワークループを引き起こす可能性がないため、BPDUのやり取りやポート状態の遷移を待つ必要がありません。

エッジポートに設定されたポートは、接続された瞬間に即座にフォワーディング状態へ移行します。そのため、ユーザ端末が起動したときにネットワークへの接続が速やかに確立され、ログオン処理やDHCPによるIPアドレス取得がスムーズに行われます。

なお、従来のSTPには「エッジポート」という用語はありませんが、Ciscoなどのベンダー実装では同等の機能を PortFastとして提供しています。