BackboneFast 機能の理解のための前提知識
STP はルートブリッジを最上流とし、下位スイッチに対して BPDU を送信します。
BPDU を送信するポートは下位スイッチに繋がるので "DownLink (ダウンリンク)"、BPDU を受信するポートは上位スイッチに繋がるので "UpLink (アップリンク)" と呼びます。
UpLink のうち、ルートブリッジに一番近い 1 ポートは "Root Port : ルートポート" として開放し、その他のポートは Block Port : ブロックポート (RSTP で言う "Alternate Port : 代替ポート") になります。
DonwLink は基本的に全て "Designated Port : 指定ポート" として開放します。例外的に、自分のスイッチ内でループするときは 1 ポートが Block Port (RSTP で言う "Backup Port : バックアップポート") となります。
このあたりの説明がしっくりこない方は、下記ページをまずは参照下さい。
BackboneFast とは
Cisco の BackboneFast 機能は、通常規格の STP の add-on 機能 (PVST+ のプラス部分) で、間接障害に対する経路の切替時間短縮を実現できます。
具体的に言うと、間接障害は基本的に 50 秒の切替時間が必要 (MaxAge = 20 秒, Listen = 15 秒, Learn = 15 秒) ですが、Backbone Fast を有効にすることにより 30 秒に短縮 (MaxAge の省略) ができます。
さて、BackboneFast の具体例として以下の構成を考えます。SW1 がルートブリッジであり、SW4 の port 2 が Uplink の Block 状態 (いわゆる代替ポート) となっています。
ここで SW1 と SW3 に障害が発生したとします。SW4 にとってはこのような障害は「間接障害」と呼び、すぐに障害内容が分かりません。
SW3 にとっては Root Port である Port 1 がリンクダウンするという「直接障害」ですので直ちに「自分が RootBridge である」と主張して SW4 に BPDU を送信します。
Backbone Fast が設定されていない場合、この劣性の BPDU は MaxAge の 20 秒間、無視され続けます。
一方、BackboneFast が設定されている場合、この劣性の BPDU に反応し、このポート以外の全てのアップリンクポート (Root Port, 代替ポート) に対して Root Link Query (RLQ) を送信します (今回のケースでは Port 1 だけですが)。RLQ は通常の BPDU と同じフレームフォーマットですが、SNAP に特殊なアドレスを設定することで RLQ として認識されます。RLQ には今までの RootBridge が格納されています。
その RLQ を受信したスイッチは、RLQ 内にある RootBridge が自分の RootBridge と一致している場合は、さらに Root Port から上流スイッチへ転送され、RootBridge にたどり着くまで転送が繰り返されます。
もし今まで認識していた RootBridge に辿り着いた場合は RootBridge は RLQ Ack を全てのダウンリンク (つまり Designated Port) からフラッディングします。そして RLQ を生成したスイッチがその RLQ Ack を受信したら、受信したポートを Root Port とみなし、MaxAge を待つことなく Port 2 の Block を Listen 状態にします。(その後 Learn を経て Forward へ。)
ただし、もし SW1 自体に障害が発生した場合は、SW2 から通知される RootBridge が変更になります。全ポートで RLQ Ack の Bridge ID が変わっていた場合、SW4 は初期状態となります。つまり、全ポートが Listen 状態になり「自分が RootBridge である」と主張する BPDU を送信し始めます。
BackboneFast の設定
BackboneFast はインタフェース単位ではなく、Global 設定によりスイッチ全体で有効化します。
SW1(config)# spanning-tree backbonefast
設定対象のスイッチは RLQ , RLQ ack を送受信が想定されるスイッチ全てです。
設定状態は以下コマンドで確認できます。
SW1# show spanning-tree backbonefast
Uplink Fast と Backbone Fast と RSTP の比較
UplinkFast | BackboneFast | RSTP | |
---|---|---|---|
短縮できる障害 | 直接障害 | 間接障害 | 直接と間接の両方 |
対応方法 | 代替ポートの Listen/Learn 状態を飛ばす | RLQにて現在の RootBridge を 確認する | ネゴシエーション |
短縮時間 | 30秒⇒1秒 | 50秒⇒30秒 | 30秒or50秒⇒1,2秒 |
コメント