オプションのスパニングツリー機能の概要
ここでは、次の概要について説明します。
• 「PortFast の概要」
• 「BPDU ガードの概要」
• 「BPDU フィルタリングの概要」
• 「UplinkFast の概要」
• 「クロススタック UplinkFast の概要」
• 「BackboneFast の概要」
• 「EtherChannel ガードの概要」
• 「ルート ガードの概要」
• 「ループ ガードの概要」
PortFast の概要
PortFast 機能を使用すると、アクセス ポートまたはトランク ポートとして設定されているインターフェイスが、リスニング ステートおよびラーニング ステートを経由せずに、ブロッキング ステートから直接フォワーディング ステートに移行します。単一のワークステーションまたはサーバに接続されたインターフェイス上で PortFast を使用すると、スパニングツリーが収束するのを待たずにデバイスをただちにネットワークに接続できます(図 23-1 を参照)。
1 台のワークステーションまたはサーバに接続されたインターフェイスが Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)を受信しないようにする必要があります。スイッチを再起動すると、PortFast がイネーブルに設定されているインターフェイスは通常のスパニングツリー ステータスの遷移をたどります。
(注) PortFast の目的は、インターフェイスがスパニングツリーのコンバージェンスを待機する時間を最小限に抑えることです。したがって、PortFast はエンド ステーションに接続されたインターフェイス上で使用する場合にのみ有効です。他のスイッチに接続するインターフェイスで PortFast をイネーブルにすると、スパニングツリーのループが生じるおそれがあります。
この機能をイネーブルにするには、 spanning-tree portfast インターフェイス コンフィギュレーション コマンド、または spanning-tree portfast default グローバル コンフィギュレーション コマンドを使用します。
図 23-1 PortFast 対応インターフェイス
BPDU ガードの概要
BPDU ガード機能はスイッチ上でグローバルにイネーブルにすることも、ポート単位でイネーブルにすることもできます。ただし、これらの動作は次の点で異なります。
グローバル レベルの場合は、 spanning-tree portfast bpduguard default グローバル コンフィギュレーション コマンドを使用して、PortFast 対応ポート上で BPDU ガードをイネーブルにできます。これらのポート上で BPDU が受信されると、スパニングツリーは、PortFast で動作しているポートをシャットダウンします。設定が有効であれば、PortFast 対応ポートは BPDU を受信しません。PortFast 対応ポートが BPDU を受信した場合は、認可されていないデバイスの接続などの無効な設定が存在することを示しており、BPDU ガード機能によってポートは errdisable ステートになります。この状態になると、スイッチは違反が発生したポート全体をシャットダウンします。
ポートをシャットダウンしないようにするには、errdisable detect cause bpduguard shutdown vlan グローバル コンフィギュレーション コマンドを使用して、違反が発生したポート上の原因となっている VLAN だけをシャットダウンします。
インターフェイス レベルの場合は、 PortFast 機能をイネーブルにしなくても、 spanning-tree bpduguard enable インターフェイス コンフィギュレーション コマンドを使用して、任意のポート上で BPDU ガードをイネーブルにできます。BPDU を受信したポートは、errdisable ステートになります。
インターフェイスを手動で再び動作させなければならない場合、無効な設定を防ぐには、BPDU ガード機能が役に立ちます。サービスプロバイダー ネットワーク内でアクセス ポートがスパニングツリーに参加しないようにするには、BPDU ガード機能を使用します。
BPDU フィルタリングの概要
BPDU フィルタリング機能はスイッチ上でグローバルにイネーブルにすることも、インターフェイス単位でイネーブルにすることもできます。ただし、これらの動作は次の点で異なります。
グローバル レベルの場合は、 spanning-tree portfast bpdufilter default グローバル コンフィギュレーション コマンドを使用して、PortFast 対応インターフェイス上で BPDU フィルタリングをイネーブルにできます。このコマンドを使用すると、PortFast 動作ステートのインターフェイスは BPDU を送受信できなくなります。ただし、リンクが確立してからスイッチが発信 BPDU のフィルタリングを開始するまでの間に、このインターフェイスから BPDU がいくつか送信されます。これらのインターフェイスに接続されたホストが BPDU を受信しないようにするには、スイッチ上で BPDU フィルタリングをグローバルにイネーブルにする必要があります。BPDU を受信した PortFast 対応インターフェイスでは PortFast 動作ステータスが解除され、BPDU フィルタリングがディセーブルになります。
インターフェイス レベルの場合は、 PortFast 機能をイネーブルにしなくても、 spanning-tree bpdufilter enable インターフェイス コンフィギュレーション コマンドを使用して、任意のインターフェイス上で BPDU フィルタリングをイネーブルにできます。このコマンドを実行すると、インターフェイスは BPDU を送受信できなくなります。
注意 BPDU フィルタリングを特定のインターフェイス上でイネーブルにすることは、そのインターフェイス上でスパニングツリーをディセーブルにすることと同じであり、スパニングツリー ループが発生することがあります。
スイッチ全体または 1 つのインターフェイスで BPDU フィルタリング機能をイネーブルにできます。
UplinkFast の概要
階層型ネットワークに配置されたスイッチは、バックボーン スイッチ、ディストリビューション スイッチ、およびアクセス スイッチに分類できます。図 23-2 に、ディストリビューション スイッチおよびアクセス スイッチに少なくとも 1 つの冗長リンクが確保されている複雑なネットワークの例を示します。冗長リンクは、ループを防止するために、スパニングツリーによってブロックされています。
図 23-2 階層型ネットワークのスイッチ
スイッチの接続が切断されると、スイッチはスパニングツリーが新しいルート ポートを選択すると同時に代替パスの使用を開始します。リンクやスイッチに障害が発生した場合、またはスパニングツリーが再設定された場合は、 spanning-tree uplinkfast グローバル コンフィギュレーション コマンドを使用して UplinkFast をイネーブルにすることにより、新しいルート ポートを短時間で選択できます。ルート ポートは、通常のスパニングツリー手順とは異なり、リスニング ステートおよびラーニング ステートを経由せず、ただちにフォワーディング ステートに移行します。
スパニングツリーが新規ルート ポートを再設定すると、他のインターフェイスはネットワークにマルチキャスト パケットをフラッディングし、インターフェイス上で学習した各アドレスにパケットを送信します。max-update-rate パラメータの値を小さくすることで、これらのマルチキャスト トラフィックのバーストを制限できます(このパラメータはデフォルトで毎秒 150 パケットです)。ただし、0 を入力すると、ステーション学習フレームが生成されないので、接続切断後スパニングツリー トポロジがコンバージェンスする速度が遅くなります。
(注) UplinkFast は、ネットワークのアクセスまたはエッジに位置する、ワイヤリング クローゼットのスイッチで非常に有効です。バックボーン デバイスには適していません。他のアプリケーションにこの機能を使用しても、有効とは限りません。
UplinkFast は、直接リンク障害発生後に高速コンバージェンスを行い、アップリンク グループを使用して、冗長レイヤ 2 リンク間でロード バランシングを実行します。アップリンク グループは、(VLAN ごとの)レイヤ 2 インターフェイスの集合であり、いかなるときも、その中の 1 つのインターフェイスだけが転送を行います。具体的には、アップリンク グループは(転送を行う)ルート ポートと 1 組のブロック ポートからなります(セルフ ループ ポートは除く)。アップリンク グループは、転送中のリンクで障害が発生した場合に、代替パスを提供します。
図 23-3 に、リンク障害が発生していないトポロジの例を示します。ルート スイッチであるスイッチ A は、リンク L1 を介してスイッチ B に、リンク L2 を介してスイッチ C に直接接続されています。スイッチ B に直接接続されているスイッチ C のレイヤ 2 インターフェイスは、ブロッキング ステートです。
図 23-3 直接リンク障害発生前の UplinkFast の例
C が、ルート ポートの現在アクティブ リンクである L2 でリンク障害( 直接 リンク障害)を検出すると、UplinkFast がスイッチ C でブロックされていたインターフェイスのブロックを解除し、リスニング ステートおよびラーニング ステートを経由せずに、直接フォワーディング ステートに移行させます(図 23-4 を参照)。この切り替えに必要な時間は、約 1 ~ 5 秒です。
図 23-4 直接リンク障害発生後の UplinkFast の例
クロススタック UplinkFast の概要
Catalyst 3750-X スイッチでは、UplinkFast 機能は Cross-Stack UplinkFast(CSUF)機能です。クロススタック UplinkFast(CSUF)は、スイッチ スタック全体にスパニングツリー高速移行(通常のネットワーク状態の下では 1 秒未満の高速コンバージェンス)を提供します。高速移行の間は、スタック上の代替冗長リンクがフォワーディング ステートになり、一時的なスパニングツリー ループもバックボーンへの接続の損失も発生させません。一部の設定では、この機能により、冗長性と復元力を備えたネットワークが得られます。CSUF は、 spanning-tree uplinkfast グローバル コンフィギュレーション コマンドを使用して UplinkFast 機能をイネーブルにすると、自動的にイネーブルになります。
CSUF で高速移行が得られない場合もあります。この場合は、通常のスパニングツリー移行が発生し、30 ~ 40 秒以内に完了します。詳細については、「高速コンバージェンスを発生させるイベント」を参照してください。
CSUF の動作原理
CSUF は、スタック内で 1 つのリンクがルートへのパスとして選択される状態を確保します。図 23-5 では、図からわかるように、スイッチ 1 のスタックルート ポートが、スパニングツリーのルートへのパスを提供しています。スイッチ 2 およびスイッチ 3 の代替スタックルート ポートは、現在のスタックルート スイッチに障害が発生したか、またはそのスパニングツリー ルートへのリンクに障害が発生した場合に、スパニングツリー ルートへの代替パスを提供できます。
ルート リンクである Link 1 は、スパニングツリー フォワーディング ステートになっています。Link 2 と Link 3 は、スパニングツリー ブロッキング ステートになっている代替冗長リンクです。スイッチ 1 に障害が発生したか、そのスタック ルート ポートに障害が発生したか、または Link 1 に障害が発生した場合には、CSUF が、1 秒未満でスイッチ 2 またはスイッチ 3 のいずれかにある代替スタックルート ポートを選択して、それをフォワーディング ステートにします。
図 23-5 クロススタック UplinkFast トポロジ
特定のリンク損失またはスパニングツリー イベントが発生すると(「高速コンバージェンスを発生させるイベント」 を参照してください)、Fast Uplink Transition Protocol がネイバー リストを使用して、スタック メンバに高速移行要求を送信します。
高速移行要求を送信するスイッチは、ルート ポートとして選択したポートのフォワーディング ステートへの高速移行を行う必要があります。また、高速移行を実行するには、その前に各スタックから確認応答が得られていなければなりません。
スタック内の各スイッチが、ルート、コスト、およびブリッジ ID を比較することにより、このスパニングツリー インスタンスのスタック ルートとなるよりも送信スイッチの方がよりよい選択肢であるかどうかを判断します。送信スイッチが、スタック ルートとして最良の選択肢である場合には、スタック内の各スイッチが確認応答を返します。そうでなければ、高速移行要求を送信します。この場合、送信スイッチは、すべてのスタック スイッチから確認応答を受信していません。
すべてのスタック スイッチからの確認応答を受信した場合は、送信スイッチ上の Fast Uplink Transition Protocol が、ただちにその代替スタックルート ポートをフォワーディング ステートに移行させます。送信スイッチがすべてのスタック スイッチからの確認応答を取得しなかった場合は、通常のスパニングツリー移行(ブロッキング、リスニング、ラーニング、およびフォワーディング)が行われ、スパニングツリー トポロジが通常のレート(2 × 転送遅延時間 + 最大エージング タイム)で収束します。
Fast Uplink Transition Protocol は、VLAN ごとに実装されており、一度に 1 つのスパニングツリー インスタンスにしか影響しません。
高速コンバージェンスを発生させるイベント
CSUF 高速コンバージェンスは、ネットワーク イベントまたはネットワーク障害に応じて、発生する場合もあれば発生しない場合もあります。
高速コンバージェンス(通常のネットワーク状態で 1 秒未満)は、次のような状況で発生します。
• スタック ルート ポート リンクに障害が発生した。
スタック内の 2 つのスイッチがルートへの代替パスを持つ場合、それらのスイッチの片方だけが高速移行を行います。
• スタック ルートをスパニングツリー ルートに接続するリンクに障害が発生し、回復した。
• ネットワークの再設定により、新しいスタックルート スイッチが選択された。
• ネットワークの再設定により、現在のスタックルート スイッチ上で新しいポートがスタック ルート ポートとして選択された。
(注) 複数のイベントが同時に発生すると、高速移行が行われなくなる場合もあります。たとえば、スタック メンバの電源がオフになり、それと同時にスタック ルートをスパニングツリー ルートに接続しているリンクが回復した場合、通常のスパニングツリー コンバージェンスが発生します。
通常のスパニングツリー コンバージェンス(30 ~ 40 秒)は、次のような状況で発生します。
• スタック ルート スイッチの電源がオフになったか、またはソフトウェアに障害が発生した。
• 電源がオフになっていたか、または障害が発生していたスタック ルート スイッチの電源が入った。
• スタック ルートになる可能性のある新しいスイッチがスタックに追加された。
BackboneFast の概要
BackboneFast は、バックボーンのコアにおける間接障害を検出します。BackboneFast は、UplinkFast 機能を補完するテクノロジーです。UplinkFast は、アクセス スイッチに直接接続されたリンクの障害に対応します。BackboneFast は、最大エージング タイマーを最適化します。最大エージング タイマーによって、スイッチがインターフェイスで受信したプロトコル情報を保存しておく時間の長さが制御されます。スイッチが別のスイッチの指定ポートから下位 BPDU を受信した場合、BPDU は他のスイッチでルートまでのパスが失われた可能性を示すシグナルとなり、BackboneFast はルートまでの別のパスを見つけようとします。
BackboneFast をイネーブルにするには、 spanning-tree backbonefast グローバル コンフィギュレーション コマンドを使用します。スイッチ上のルート ポートまたはブロック インターフェイスが指定スイッチから下位 BPDU を受信すると、BackboneFast が開始します。不良 BPDU は、ルート ブリッジと指定スイッチの両方を宣言しているスイッチを識別します。スイッチが下位 BPDU を受信した場合、そのスイッチが直接接続されていないリンク( 間接 リンク)で障害が発生したことを意味します(指定スイッチとルート スイッチ間の接続が切断されています)。スパニングツリーのルールとして、 spanning-tree vlan vlan-id max-age グローバル コンフィギュレーション コマンドによって設定された最大エージング タイムの間、スイッチは下位 BPDU を無視します。
スイッチは、ルート スイッチへの代替パスの有無を判別します。下位 BPDU がブロック インターフェイスに到達した場合、スイッチ上のルート ポートおよび他のブロック インターフェイスがルート スイッチへの代替パスになります (セルフループ ポートは、ルート スイッチへの代替パスとは見なされません)。下位 BPDU がルート ポートに到達した場合、すべてのブロック インターフェイスがルート スイッチへの代替パスになります。下位 BPDU がルート ポートに到達し、しかもブロック インターフェイスがない場合、スイッチはルート スイッチへの接続が切断されたものと見なし、ルート ポートの最大エージング タイムが経過するまで待ち、通常のスパニングツリー ルールに従ってルート スイッチになります。
スイッチが代替パスでルート スイッチに到達できる場合、スイッチはその代替パスを使用して、Root Link Query(RLQ)要求を送信します。Catalyst 3750-X スイッチは、ルート スイッチへの代替ルートを持ったスタック メンバが存在するかどうかを知るために RLQ 要求をすべての代替パスに送信し、ネットワークおよびスタックの他のスイッチからの RLQ 応答を待ちます。Catalyst 3560-X スイッチは、すべての代替パスに RLQ 要求を送信し、ネットワークの他のスイッチからの RLQ 応答を待ちます。
スタック メンバが、ブロック インターフェイス上の非スタック メンバから RLQ 応答を受信し、その応答が他の非スタック スイッチ宛てのものであった場合、そのスタック メンバは、スパニングツリー インターフェイス ステートに関係なく、その応答パケットを転送します。
スタック メンバが非スタック メンバから RLQ 応答を受信し、その応答がスタック宛てのものであった場合、そのスタック メンバは、他のすべてのスタック メンバがその応答を受信するようにその応答を転送します。
ルートへの代替パスがまだ存在していると判断したスイッチは、下位 BPDU を受信したインターフェイスの最大エージング タイムが経過するまで待ちます。ルート スイッチへのすべての代替パスが、スイッチとルート スイッチ間の接続が切断されていることを示している場合、スイッチは RLQ 応答を受信したインターフェイスの最大エージング タイムを満了させます。1 つまたは複数の代替パスからルート スイッチへ引き続き接続できる場合、スイッチは下位 BPDU を受信したすべてのインターフェイスを指定ポートにして、(ブロッキング ステートになっていた場合)ブロッキング ステートを解除し、リスニング ステート、ラーニング ステートを経てフォワーディング ステートに移行させます。
図 23-6 に、リンク障害が発生していないトポロジの例を示します。ルート スイッチであるスイッチ A はリンク L1 を介してスイッチ B に、リンク L2 を介してスイッチ C に直接接続されています。スイッチ B に直接接続されているスイッチ C のレイヤ 2 インターフェイスは、ブロッキング ステートです。
図 23-6 間接リンク障害発生前の BackboneFast の例
図 23-7 のリンク L1 で障害が発生した場合、スイッチ C はリンク L1 に直接接続されていないので、その障害を検出できません。一方スイッチ B は、L1 によってルート スイッチに直接接続されているため障害を検出し、スイッチ B 自身をルートとして選定して、自らをルートとして特定した状態で BPDU をスイッチ C へ送信し始めます。スイッチ B から下位 BPDU を受信したスイッチ C は、間接障害が発生していると見なします。この時点で、BackboneFast は、スイッチ C のブロック インターフェイスを、インターフェイスの最大エージング タイムが満了するまで待たずに、ただちにリスニング ステートに移行させます。BackboneFast は、次に、スイッチ C のレイヤ 2 インターフェイスをフォワーディング ステートに移行させ、スイッチ B からスイッチ A へのパスを設定します。ルートスイッチの選択には約 30 秒必要です。これは転送遅延時間がデフォルトの 15 秒に設定されていればその倍の時間です。図 23-7 では、リンク L1 で障害が発生した場合 BackboneFast がどのようにトポロジを再構成するかを示します。
図 23-7 間接リンク障害発生後の BackboneFast の例
図 23-8 のように、新しいスイッチがメディア共有型トポロジに組み込まれた場合、認識された指定スイッチ(スイッチ B)から下位 BPDU が届いていないので、BackboneFast はアクティブになりません。新しいスイッチは、自身がルート スイッチであることを伝える下位 BPDU の送信を開始します。ただし、他のスイッチはこれらの下位 BPDU を無視し、新しいスイッチはスイッチ B がルート スイッチであるスイッチ A への指定スイッチであることを学習します。
図 23-8 メディア共有型トポロジにおけるスイッチの追加
EtherChannel ガードの概要
EtherChannel ガードを使用すると、スイッチと接続したデバイス間での EtherChannel の設定の矛盾を検出できます。スイッチ インターフェイスは EtherChannel として設定されているものの、もう一方のデバイスのインターフェイスではその設定が行われていない場合、設定の矛盾が発生します。また、EtherChannel の両端でチャネルのパラメータが異なる場合にも、設定の矛盾が発生します。EtherChannel 設定時の注意事項については、「EtherChannel 設定時の注意事項」を参照してください。
スイッチが、他のデバイス上で設定の矛盾を検出した場合、EtherChannel ガードは、スイッチのインターフェイスを errdisable ステートにし、エラー メッセージを表示します。
spanning-tree etherchannel guard misconfig グローバル コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。
ルート ガードの概要
Service Provider(SP; サービス プロバイダー)のレイヤ 2 ネットワークには、SP 以外が所有するスイッチへの接続が多く含まれている場合があります。このようなトポロジでは、スパニングツリーが再構成され、カスタマー スイッチをルート スイッチとして選択する可能性があります(図 23-9)。この状況を防ぐには、カスタマー ネットワーク内のスイッチに接続する SP スイッチ インターフェイス上でルート ガード機能をイネーブルに設定します。スパニングツリーの計算によってカスタマー ネットワーク内のインターフェイスがルート ポートとして選択されると、ルート ガードがそのインターフェイスを root-inconsistent(ブロッキング)ステートにして、カスタマーのスイッチがルート スイッチにならないように、またはルートへのパスに組み込まれないようにします。
SP ネットワーク外のスイッチがルート スイッチになると、インターフェイスがブロックされ(root-inconsistent ステートになり)、スパニングツリーが新しいルート スイッチを選択します。カスタマーのスイッチがルート スイッチになることはなく、ルートへのパスに組み込まれることもありません。
スイッチが MST モードで動作している場合、ルート ガードが強制的にそのインターフェイスを指定ポートにします。また、境界ポートがルート ガードによって Internal Spanning-Tree(IST)インスタンスでブロックされている場合にも、このインターフェイスはすべての MST インスタンスでもブロックされます。境界ポートは、指定スイッチが IEEE 802.1D スイッチまたは異なる MST リージョン設定を持つスイッチのいずれかである LAN に接続されるインターフェイスです。
1 つのインターフェイス上でルート ガードをイネーブルにすると、そのインターフェイスが所属するすべての VLAN にルート ガードが適用されます。VLAN は、MST インスタンスに対してグループ化された後、マッピングされます。
spanning-tree guard root インターフェイス コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。
注意 ルート ガード機能は使い方を誤ると、接続が切断されることがあります。
図 23-9 サービス プロバイダー ネットワークのルート ガード
ループ ガードの概要
ループ ガードを使用すると、 代替ポートまたはルート ポートが、単一方向リンクの原因となる障害によって指定ポートになることを防ぎます。 この機能は、スイッチド ネットワーク全体でイネーブルにした場合に最も効果があります。ループ ガードによって、代替ポートおよびルート ポートが指定ポートになることが防止され、スパニングツリーがルート ポートまたは代替ポートで BPDU を送信することはありません。
spanning-tree loopguard default グローバル コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。
スイッチが PVST+ または Rapid PVST+ モードで動作している場合、ループ ガードによって、代替ポートおよびルート ポートが指定ポートになることが防止され、スパニングツリーがルート ポートまたは代替ポートで BPDU を送信することはありません。
スイッチが MST モードで動作しているとき、ループ ガードによってすべての MST インスタンスでインターフェイスがブロックされている場合でのみ、非境界ポートで BPDU を送信しません。境界ポートでは、ループ ガードがすべての MST インスタンスでインターフェイスをブロックします。
オプションのスパニングツリー機能の設定
ここでは、次の設定について説明します。
• 「オプションのスパニングツリー機能のデフォルト設定」
• 「オプションのスパニングツリー設定時の注意事項」
• 「PortFast のイネーブル化」(任意)
• 「BPDU ガードのイネーブル化」(任意)
• 「BPDU フィルタリングのイネーブル化」(任意)
• 「冗長リンク用 UplinkFast のイネーブル化」(任意)
• 「クロススタック UplinkFast のイネーブル化」(任意)
• 「BackboneFast のイネーブル化」(任意)
• 「EtherChannel ガードのイネーブル化」(任意)
• 「ルート ガードのイネーブル化」(任意)
• 「ループ ガードのイネーブル化」(任意)
オプションのスパニングツリー機能のデフォルト設定
表 23-1 に、オプションのスパニングツリー機能のデフォルト設定を示します。
表 23-1 オプションのスパニングツリー機能のデフォルト設定
|
|
PortFast、BPDU フィルタリング、BPDU ガード |
グローバルにディセーブル(インターフェイス単位で個別に設定する場合を除く) |
UplinkFast |
グローバルにディセーブル (UplinkFast 機能は CSUF 機能です) |
BackboneFast |
グローバルにディセーブル |
EtherChannel ガード |
グローバルにイネーブル |
ルート ガード |
すべてのインターフェイスでディセーブル |
ループ ガード |
すべてのインターフェイスでディセーブル |
オプションのスパニングツリー設定時の注意事項
スイッチで PVST+、Rapid PVST+、または MSTP が稼働している場合、PortFast、BPDU ガード、BPDU フィルタリング、EtherChannel ガード、ルート ガード、またはループ ガードを設定できます。
Catalyst 3750-X スイッチでは、rapid-PVST+ または MSTP に対して、UplinkFast、BackboneFast、または CSUF 機能を設定できます。ただし、スパニングツリー モードを PVST+ に変更するまで、この機能はディセーブル(非アクティブ)のままです。
Catalyst 3750-X スイッチでは、rapid-PVST+ または MSTP に対して、UplinkFast または BackboneFast 機能を設定できます。ただし、スパニングツリー モードを PVST+ に変更するまで、この機能はディセーブル(非アクティブ)のままです。
PortFast のイネーブル化
PortFast 機能がイネーブルに設定されているインターフェイスは、標準の転送遅延時間の経過を待たずに、ただちにスパニングツリー フォワーディング ステートに移行されます。
注意 PortFast を使用するのは、単一エンド ステーションをアクセス ポートまたはトランク ポートに接続する場合に
限定してください。スイッチまたはハブに接続するインターフェイス上でこの機能をイネーブルにすると、スパニングツリーがネットワーク ループを検出または阻止できなくなり、その結果、ブロードキャスト ストームおよびアドレス ラーニングの障害が起きる可能性があります。
音声 VLAN 機能をイネーブルにすると、PortFast 機能が自動的にイネーブルになります。音声 VLAN をディセーブルにしても、PortFast 機能は自動的にディセーブルになりません。詳細については、「音声 VLAN の設定」を参照してください。
スイッチで PVST+、Rapid PVST+、または MSTP が稼働している場合、この機能をイネーブルにできます。
PortFast をイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
spanning-tree portfast [ trunk ] |
単一ワークステーションまたはサーバに接続されたアクセス ポート上で PortFast をイネーブルにします。 trunk キーワードを指定すると、トランク ポート上で PortFast をイネーブルにできます。 コマンドは、トランク ポート上では機能しないためです。
注意 トランク ポート上で PortFast をイネーブルにする場合は、事前に、トランク ポートとワークステーションまたはサーバの間にループがないことを確認してください。
デフォルトでは、PortFast はすべてのインターフェイスでディセーブルです。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show spanning-tree interface interface-id portfast |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
(注) spanning-tree portfast default グローバル コンフィギュレーション コマンドを使用すると、すべての非トランク ポート上で PortFast 機能をグローバルにイネーブルにできます。
PortFast 機能をディセーブルにするには、 spanning-tree portfast disable インターフェイス コンフィギュレーション コマンドを使用します。
BPDU ガードのイネーブル化
PortFast 対応ポート(PortFast 動作ステートのポート)で BPDU ガードをグローバルにイネーブルにすると、スパニングツリーは、そのポートでの動作を継続します。そのポートは、BPDU を受信しなければ起動したままになります。
設定が有効であれば、PortFast 対応ポートは BPDU を受信しません。PortFast 対応ポートが BPDU を受信した場合は、認可されていないデバイスの接続などの無効な設定が存在することを示しており、BPDU ガード機能によってポートは errdisable ステートになります。この状態になると、スイッチは違反が発生したポート全体をシャットダウンします。
ポートをシャットダウンしないようにするには、errdisable detect cause bpduguard shutdown vlan グローバル コンフィギュレーション コマンドを使用して、違反が発生したポート上の原因となっている VLAN だけをシャットダウンします。
手動でポートを再び動作させなければならないので、BPDU ガード機能は無効な設定に対する安全対策になります。サービスプロバイダー ネットワーク内でアクセス ポートがスパニングツリーに参加しないようにするには、BPDU ガード機能を使用します。
注意 PortFast は、エンド ステーションに接続するポートに限って設定します。そうしないと、偶発的なトポロジ ループが原因でデータ パケット ループが発生し、スイッチおよびネットワークの動作が妨げられるおそれがあります。
PortFast 機能をイネーブルにしなくても、 spanning-tree bpduguard enable インターフェイス コンフィギュレーション コマンドを使用して、任意のポートで BPDU ガードをイネーブルにすることもできます。BPDU を受信したポートは、errdisable ステートになります。
スイッチで PVST+、Rapid PVST+、または MSTP が稼働している場合、BPDU ガード機能をイネーブルにできます。
BPDU ガード機能をグローバルにイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree portfast bpduguard default |
BPDU ガードをグローバルにイネーブルにします。 BPDU ガードは、デフォルトではディセーブルに設定されています。 |
ステップ 3 |
interface interface-id |
エンド ステーションに接続するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 4 |
spanning-tree portfast |
PortFast 機能をイネーブルにします。 |
ステップ 5 |
end |
特権 EXEC モードに戻ります。 |
ステップ 6 |
show running-config |
設定を確認します。 |
ステップ 7 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
BPDU ガードをディセーブルにするには、 no spanning-tree portfast bpduguard default グローバル コンフィギュレーション コマンドを使用します。
no spanning-tree portfast bpduguard default グローバル コンフィギュレーション コマンドの設定を上書きするには、 spanning-tree bpduguard enable インターフェイス コンフィギュレーション コマンドを使用します。
BPDU フィルタリングのイネーブル化
PortFast 対応インターフェイスで BPDU フィルタリングをグローバルにイネーブルにすると、PortFast 動作ステートのインターフェイスは BPDU を送受信できなくなります。ただし、リンクが確立してからスイッチが発信 BPDU のフィルタリングを開始するまでの間に、このインターフェイスから BPDU がいくつか送信されます。これらのインターフェイスに接続されたホストが BPDU を受信しないようにするには、スイッチ上で BPDU フィルタリングをグローバルにイネーブルにする必要があります。BPDU を受信した PortFast 対応インターフェイスでは PortFast 動作ステータスが解除され、BPDU フィルタリングがディセーブルになります。
注意 PortFast は、エンド ステーションに接続するインターフェイスに限って設定します。そうしないと、予期しないトポロジ ループが原因でデータのパケット ループが発生し、スイッチおよびネットワークの動作が妨げられることがあります。
PortFast 機能をイネーブルにしなくても、 spanning-tree bpdufilter enable インターフェイス コンフィギュレーション コマンドを使用して、任意のインターフェイスで BPDU フィルタリングをイネーブルにすることもできます。このコマンドを実行すると、インターフェイスは BPDU を送受信できなくなります。
注意 BPDU フィルタリングを特定のインターフェイス上でイネーブルにすることは、そのインターフェイス上でスパニングツリーをディセーブルにすることと同じであり、スパニングツリー ループが発生することがあります。
スイッチで PVST+、Rapid PVST+、または MSTP が稼働している場合、BPDU フィルタリング機能をイネーブルにできます。
BPDU フィルタリング機能をグローバルにイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree portfast bpdufilter default |
BPDU フィルタリングをグローバルにイネーブルにします。 BPDU フィルタリングは、デフォルトではディセーブルに設定されています。 |
ステップ 3 |
interface interface-id |
エンド ステーションに接続するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 4 |
spanning-tree portfast |
PortFast 機能をイネーブルにします。 |
ステップ 5 |
end |
特権 EXEC モードに戻ります。 |
ステップ 6 |
show running-config |
設定を確認します。 |
ステップ 7 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
BPDU フィルタリングをディセーブルにするには、 no spanning-tree portfast bpdufilter default グローバル コンフィギュレーション コマンドを使用します。
no spanning-tree portfast bpdufilter default グローバル コンフィギュレーション コマンドの設定を上書きするには、 spanning-tree bpdufilter enable インターフェイス コンフィギュレーション コマンドを使用します。
冗長リンク用 UplinkFast のイネーブル化
スイッチ プライオリティが設定されている VLAN 上で UplinkFast をイネーブルにすることはできません。スイッチ プライオリティが設定されている VLAN 上で UplinkFast をイネーブルにする場合は、最初に no spanning-tree vlan vlan-id priority グローバル コンフィギュレーション コマンドを使用することによって、VLAN のスイッチ プライオリティをデフォルト値に戻す必要があります。
(注) UplinkFast をイネーブルにすると、スイッチまたはスイッチ スタックのすべての VLAN に影響します。個々の VLAN に UplinkFast を設定することはできません。
Rapid PVST+ または MSTP に対して UplinkFast または CSUF 機能を設定できますが、この機能は、スパニングツリーのモードを PVST+ に変更するまではディセーブル(非アクティブ)になったままです。
UplinkFast および CSUF をイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree uplinkfast [ max-update-rate pkts-per-second ] |
UplinkFast をイネーブルにします。 (任意) pkts-per-second に指定できる範囲は毎秒 0 ~ 32000 パケットです。デフォルト値は 150 です。 0 を入力すると、ステーション学習フレームが生成されないので、接続切断後スパニングツリー トポロジがコンバージェンスする速度が遅くなります。 このコマンドを入力すると、すべての非スタック ポート インターフェイス上で CSUF もイネーブルになります。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree summary |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
UplinkFast をイネーブルにすると、すべての VLAN のスイッチ プライオリティは 49152 に設定されます。UplinkFast をイネーブルにする場合、または UplinkFast がすでにイネーブルに設定されている場合に、パス コストを 3000 未満の値に変更すると、すべてのインターフェイスおよび VLAN トランクのパス コストが 3000 だけ増加します(パス コストを 3000 以上の値に変更した場合、パス コストは変更されません)。スイッチ プライオリティおよびパス コストを変更すると、スイッチがルート スイッチになる可能性が低くなります。
デフォルト値を変更していない場合、UplinkFast をディセーブルにすると、すべての VLAN のスイッチ プライオリティとすべてのインターフェイスのパス コストがデフォルト値に設定されます。
アップデート パケット レートをデフォルトの設定値に戻す場合は、 no spanning-tree uplinkfast max-update-rate グローバル コンフィギュレーション コマンドを使用します。UplinkFast をディセーブルにする場合は、 no spanning-tree uplinkfast コマンドを使用します。
クロススタック UplinkFast のイネーブル化
spanning-tree uplinkfast グローバル コンフィギュレーション コマンドを使用して UplinkFast 機能をイネーブルにしたりディセーブルにしたりすると、非スタック ポート インターフェイス上の CSUF が自動的にグローバルにイネーブルになったりディセーブルになったりします。
詳細については、「冗長リンク用 UplinkFast のイネーブル化」を参照してください。
スイッチ上およびそのすべての VLAN 上で UplinkFast をディセーブルにするには、 no spanning-tree uplinkfast グローバル コンフィギュレーション コマンドを使用します。
BackboneFast のイネーブル化
BackboneFast をイネーブルにすると、間接リンク障害を検出し、スパニングツリーの再構成をより早く開始できます。
(注) BackboneFast を使用する場合は、ネットワーク上のすべてのスイッチでイネーブルにする必要があります。BackboneFast は、トークンリング VLAN 上ではサポートされません。この機能は他社製スイッチでの使用にサポートされています。
Rapid PVST+ または MSTP 用に、BackboneFast 機能を設定できます。ただし、スパニングツリー モードを PVST+ に変更するまで、この機能はディセーブル(非アクティブ)のままです。
BackboneFast をイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree backbonefast |
BackboneFast をイネーブルにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree summary |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
BackboneFast 機能をディセーブルにするには、 no spanning-tree backbonefast グローバル コンフィギュレーション コマンドを使用します。
EtherChannel ガードのイネーブル化
スイッチで PVST+、Rapid PVST+、または MSTP が稼働している場合、EtherChannel の設定の矛盾を検出する EtherChannel ガード機能をイネーブルにできます。
EtherChannel ガードをイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree etherchannel guard misconfig |
EtherChannel ガードをイネーブルにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree summary |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
EtherChannel ガード機能をディセーブルにするには、 no spanning-tree etherchannel guard misconfig グローバル コンフィギュレーション コマンドを使用します。
show interfaces status err-disabled 特権 EXEC コマンドを使用することで、EtherChannel の設定矛盾が原因でディセーブルになっているスイッチ ポートを表示できます。リモート デバイス上では、 show etherchannel summary 特権 EXEC コマンドを使用して、EtherChannel の設定を確認できます。
設定を修正した後、誤って設定していたポート チャネル インターフェイス上で、 shutdown および no shutdown インターフェイス コンフィギュレーション コマンドを入力してください。
ルート ガードのイネーブル化
1 つのインターフェイス上でルート ガードをイネーブルにすると、そのインターフェイスが所属するすべての VLAN にルート ガードが適用されます。UplinkFast 機能が使用するインターフェイスで、ルート ガードをイネーブルにしないでください。UplinkFast を使用すると、障害発生時に(ブロック ステートの)バックアップ インターフェイスがルート ポートになります。ただし、同時にルート ガードもイネーブルになっていた場合は、UplinkFast 機能が使用するすべてのバックアップ インターフェイスが root-inconsistent(ブロック)ステートになり、フォワーディング ステートに移行できなくなります。
(注) ルート ガードとループ ガードの両方を同時にイネーブルにすることはできません。
スイッチで PVST+、Rapid PVST+、または MSTP が稼働している場合、この機能をイネーブルにできます。
インターフェイス上でルート ガードをイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
spanning-tree guard root |
インターフェイスでルート ガードをイネーブルに設定します。 デフォルトでは、ルート ガードはすべてのインターフェイスでディセーブルです。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ルート ガードをディセーブルにするには、 no spanning-tree guard インターフェイス コンフィギュレーション コマンドを使用します。
ループ ガードのイネーブル化
ループ ガードを使用すると、 代替ポートまたはルート ポートが、単一方向リンクの原因となる障害によって指定ポートになることを防ぎます。 この機能は、スイッチド ネットワーク全体に設定した場合に最も効果があります。ループ ガードは、スパニングツリーがポイントツーポイントと見なすインターフェイス上でのみ動作します。
(注) ループ ガードとルート ガードの両方を同時にイネーブルにすることはできません。
スイッチで PVST+、Rapid PVST+、または MSTP が稼働している場合、この機能をイネーブルにできます。
ループ ガードをイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
show spanning-tree active または show spanning-tree mst |
どのインターフェイスが代替ポートまたはルート ポートであるかを確認します。 |
ステップ 2 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
spanning-tree loopguard default |
ループ ガードをイネーブルにします。 ループ ガードは、デフォルトではディセーブルに設定されています。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ループ ガードをグローバルにディセーブルにするには、 no spanning-tree loopguard default グローバル コンフィギュレーション コマンドを使用します。 no spanning-tree loopguard default グローバル コンフィギュレーション コマンド の設定を上書きするには、 spanning-tree guard loop インターフェイス コンフィギュレーション コマンドを 使用します。