UplinkFast 機能の理解のための前提知識
STP はルートブリッジを最上流とし、下位スイッチに対して BPDU を送信します。
BPDU を送信するポートは下位スイッチに繋がるので "DownLink (ダウンリンク)"、BPDU を受信するポートは上位スイッチに繋がるので "UpLink (アップリンク)" と呼びます。
UpLink のうち、ルートブリッジに一番近い 1 ポートは "Root Port : ルートポート" として開放し、その他のポートは Block Port : ブロックポート (RSTP で言う "Alternate Port : 代替ポート") になります。
DonwLink は基本的に全て "Designated Port : 指定ポート" として開放します。例外的に、自分のスイッチ内でループするときは 1 ポートが Block Port (RSTP で言う "Backup Port : バックアップポート") となります。
このあたりの説明がしっくりこない方は、下記ページをまずは参照下さい。
UplinkFast とは
Cisco の UplinkFast 機能は、通常規格の STP の add-on 機能(PVST+のプラス部分)で、アップリンク経路の高速切替を実現できます。
STP による経路冗長の基本は、Uplink を複数ポート作ることであり、そのうち 1 ポートが Root Port、他のポートが Block Port (RSTP で言う Alternate Port) となります。
例えば下図のように SW#3 の Root Port で直接障害 (リンクダウン) が起きたとき、UplinkFast が無効の場合は 2 番目に優位だった Alternate Port にて Listen ⇒ Learn の 30 秒の状態遷移の後に Root Port に昇格します。一方、UplinkFast を有効にしているスイッチにおいては、STP の収束を待たず、直ちに Root Port に昇格します。
この uplinkfast は、あくまで直接障害 (uplinkfast が機能するスイッチの Root Port がリンクダウンを検知) のときのみに有効です。間接障害においては Backbone Fast が効果的です。(それよりも RSTP が効果的です。)
Uplink Fast の MAC アドレステーブル更新
UplinkFast が無効の場合は MAC アドレステーブルの保持時間を短くしますが、UplinkFast の場合は MAC アドレステーブルの更新をもっと高速にする必要があり、ダミーパケット (宛先 MAC = 01:00:0c:cd:cd:cd, 送信元 MAC = [DownLink の MAC アドレステーブルにある MAC アドレス] ) を送信して、対向スイッチの MAC アドレステーブルの更新を促します。これにより、例えば上図の SW#2 において、PC#1 への通信経路が速やかに切り替わります。
なお、あまり意識されませんが、UplinkFast を設定すると、Bridge Priority は 49,152 に変更されます。(デフォルトは 32,768)
UplinkFast の設定
UplinkFast はインタフェース単位ではなく、Global 設定によりスイッチ全体で有効化します。
SW1(config)# spanning-tree uplinkfast
設定状態は以下コマンドで確認できます。
SW1# show spanning-tree uplinkfast
その他、MAC アドレステーブル更新のためのダミーパケットレートを変更できます (デフォルト 150 packet/second)。
SW1(config)# spanning-tree uplinkfast max-update-rate 150
0 を入力すると更新しなくなりますので MAC アドレステーブルが自然に更新されるのを待つことになります。
なお、RSTP にはネゴシエーション機能があるため uplinkfast 機能は不要であり、ネゴシエーション機能により、uplinkfast よりスマートの高速切り替えが可能です。
Uplink Fast と Backbone Fast と RSTP の比較
UplinkFast | BackboneFast | RSTP | |
---|---|---|---|
短縮できる障害 | 直接障害 | 間接障害 | 直接と間接の両方 |
対応方法 | 代替ポートの Listen/Learn 状態を飛ばす | RLQにて現在の RootBridge を 確認する | ネゴシエーション |
短縮時間 | 30秒⇒1秒 | 50秒⇒30秒 | 30秒or50秒⇒1,2秒 |
コメント