STPのおさらい
STPは802.1D準拠のブリッジとスイッチで動作します。STPにはさまざまな種類がありますが、802.1Dが最も普及し広く実装されています。ブリッジとスイッチにSTPを実装すると、ネットワーク内のループを防ぐことができます。冗長リンクを必要とするがループは必要としない状況では、STPを使用します。冗長リンクは、ネットワーク内のフェールオーバーの場合のバックアップほど重要です。プライマリの障害によりバックアップリンクがアクティブになり、ユーザーは引き続きネットワークを使用できます。ブリッジやスイッチにSTPがなければ、このような障害はループを引き起こす可能性があります。接続された2つのスイッチがSTPの異なるフレーバーを実行する場合は、収束するタイミングが異なります。スイッチに異なるフレーバが使用されると、ブロッキング状態と転送状態の間にタイミングの問題が発生します。したがって、同じ種類のSTPを使用することをお勧めします。
STPのポート状態
ポートが初めてリンクアップしたときにフォワーディング状態であるとループが発生してしまいます。STPが有効なスイッチでは順番にポート状態を遷移させることにより、即ループが起きてしまうのを防ぎます。
そして下記のようにポートの状態が遷移している間にBPDUがやり取りされ、ルートブリッジの選出や指定ポートなどが決定されることにより、STPのそれぞれのポート役割が決定されるわけです。
ブロッキング | データフレームを転送せずに、BPDUの受信のみ行う状態。 |
リスニング | BPDUを隣接スイッチで送受信し合い、ルートブリッジ、ルートポート、指定ポート をどこに指定するか?を決めている状態。MACアドレスも学習せずデータも転送しない |
ラーニング | BPDUを隣接スイッチで送受信し合う。非指定ポートになれば即座にブロッキングへ。受信したフレームの送信元MACアドレスを学習している。しかしデータの送信はしていない |
フォワーディング | ポートが、最終的にルートポートまたは指定ポートに指定された状態を表します。この状態になるとデータ転送が可能になる |
コンバージェンス
STPでは、ルートブリッジは2秒ごとにBPDUをツリーの下流の非ルートブリッジに転送して、そのツリーのネットワーク状態を監視しています。(これをhelloタイムと言います)
下流のスイッチは20秒間、BPDUを受信しなくなるとSTPの役割の選出を開始します。再度ポートの状態をブロッキング ⇒ リスニング ⇒ ラーニング ⇒ の流れでポート状態をスイッチ間で選出します(最大経過時間と言います)
そしてポート間での役割が最終的にフォワーディングまたはブロッキング状態になり安定すると収束します。
この収束した状態をコンバージェンスといいます。
HELLOタイム | 2秒 | スイッチのBPDUの送信間隔 |
最大経過時間 | 20秒 | ルートブリッジからのBPDUを受信しなくなり障害発生と見なすまでの時間。
20秒間にBPDUを受信しないと役割の選出を再度行います。 |
転送時間 | 15秒 | リスニング状態、ラーニング状態にとどまる時間を表します |
次のページ 5STP – CST / PVST+