Catalyst 2950 および Catalyst 2955 スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.1(22)EA11 以降
オプションのスパニング ツリー機能の設定
オプションのスパニング ツリー機能の設定
発行日;2012/05/10 | 英語版ドキュメント(2009/02/14 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 10MB) | フィードバック

目次

オプションのスパニング ツリー機能の設定

オプションのスパニング ツリー機能の概要

PortFast の概要

BPDU ガードの概要

BPDU フィルタリングの概要

UplinkFast の概要

クロススタック UplinkFast の概要

CSUF の動作原理

高速コンバージェンスを発生させるイベント

制限事項

スタック ポートへの接続

BackboneFast の概要

EtherChannel ガードの概要

ルート ガードの概要

ループ ガードの概要

オプションのスパニング ツリー機能の設定

オプションのスパニング ツリー機能のデフォルト設定

オプションのスパニング ツリー設定時の注意事項

PortFast のイネーブル化

BPDU ガードのイネーブル化

BPDU フィルタリングのイネーブル化

冗長リンク用 UplinkFast のイネーブル化

クロススタック UplinkFast のイネーブル化

BackboneFast のイネーブル化

EtherChannel ガードのイネーブル化

ルート ガードのイネーブル化

ループ ガードのイネーブル化

スパニング ツリー ステータスの表示

オプションのスパニング ツリー機能の設定

この章では、Catalyst 2950 または Catalyst 2955 スイッチにオプションのスパニング ツリー 機能を設定する方法について説明します。スイッチが Per-VLAN Spanning-Tree Plus(PVST+)を実行している場合、これらのすべての機能を設定できます。スイッチが Multiple Spanning-Tree Protocol(MSTP)または Rapid Per-VLAN Spanning-Tree Plus(Rapid PVST+)プロトコルを実行している場合は、明記した機能だけを設定できます。

PVST+ および Rapid PVST+ の詳細については、「STP の設定」を参照してください。MSTP の詳細および複数の VLAN を同一スパニング ツリー インスタンスにマッピングする方法については、「MSTP の設定」を参照してください。


) この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスを参照してください。


この章で説明する内容は、次のとおりです。

「オプションのスパニング ツリー機能の概要」

「オプションのスパニング ツリー機能の設定」

「スパニング ツリー ステータスの表示」

オプションのスパニング ツリー機能の概要

ここでは、オプションのスパニング ツリー機能の操作方法について説明します。

「PortFast の概要」

「BPDU ガードの概要」

「BPDU フィルタリングの概要」

「UplinkFast の概要」

「クロススタック UplinkFast の概要」

「BackboneFast の概要」

「EtherChannel ガードの概要」

「ルート ガードの概要」

「ループ ガードの概要」

PortFast の概要

PortFast 機能を使用すると、アクセス ポートまたはトランク ポートとして設定されているインターフェイスが、リスニング ステートおよびラーニング ステートを経由せずに、ブロッキング ステートから直接フォワーディング ステートに移行します。単一のワークステーションまたはサーバに接続されたポート上で PortFast を使用すると、スパニング ツリーが収束するのを待たずにデバイスをただちにネットワークに接続できます(図 15-1 を参照)。

1 台のワークステーションまたはサーバに接続されたポートが Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)を受信しないようにする必要があります。PortFast がイネーブルに設定されているポートは、スイッチを再起動すると、通常のスパニング ツリー ステータスの変化をたどります。


) PortFast の目的は、ポートがスパニング ツリーのコンバージェンスを待機する時間を最小限に抑えることです。したがって、PortFast はエンド ステーションに接続されたポート上で使用する場合にのみ有効です。別のスイッチに接続しているポートで PortFast をイネーブルにすると、スパニング ツリー ループが作成されるリスクがあります。


この機能をイネーブルにするには、 spanning-tree portfast インターフェイス コンフィギュレーション コマンド、または spanning-tree portfast default グローバル コンフィギュレーション コマンドを使用します。

図 15-1 PortFast 対応ポート

 

BPDU ガードの概要

BPDU ガード機能はスイッチ全体でグローバルにイネーブルにすることも、インターフェイス単位でイネーブルにすることもできますが、動作にいくつかの相違点があります。

グローバル レベルの場合は、 spanning-tree portfast bpduguard default グローバル コンフィギュレーション コマンドを使用して、PortFast 対応ポート上で BPDU ガードをイネーブルにできます。スパニング ツリーは、PortFast 動作ステートであるポートを、それらのインターフェイス上で BPDU が受信された場合、シャットダウンします。設定が有効であれば、PortFast 対応ポートは BPDU を受信しません。PortFast 対応ポートが BPDU を受信した場合は、認可されていないデバイスの接続などの無効な設定が存在することを示す信号が発信され、BPDU ガード機能によってポートは errdisable ステートになります

インターフェイス レベルの場合は、 PortFast 機能をイネーブルにしなくても、 spanning-tree bpduguard enable インターフェイス コンフィギュレーション コマンドを使用して、任意のポート上で BPDU ガードをイネーブルにできます。BPDU を受信したポートは、errdisable ステートになります。

手動でポートを再び動作させなければならないので、BPDU ガード機能は無効な設定に対する安全対策になります。サービスプロバイダー ネットワーク内でアクセス ポートがスパニング ツリーに参加しないようにするには、BPDU ガード機能を使用します。

BPDU ガード機能をスイッチ全体またはインターフェイスでイネーブルにできます。

BPDU フィルタリングの概要

BPDU フィルタリング機能はスイッチ上でグローバルにイネーブルにすることも、インターフェイス単位でイネーブルにすることもできます。ただし、これらの動作は次の点で異なります。

グローバル レベルの場合は、 spanning-tree portfast bpdufilter default グローバル コンフィギュレーション コマンドを使用して、PortFast 対応ポート上で BPDU フィルタリングをイネーブルにできます。このコマンドを使用すると、PortFast 動作ステートのインターフェイスは BPDU を送受信できなくなります。ただし、リンクが確立してからスイッチが発信 BPDU のフィルタリングを開始するまでの間に、このポートから BPDU がいくつか送信されます。これらのポートに接続されたホストが BPDU を受信しないようにするには、スイッチ上で BPDU フィルタリングをグローバルにイネーブルにする必要があります。BPDU を受信した PortFast 対応ポートでは PortFast 動作ステータスが解除され、BPDU フィルタリングがディセーブルになります。

インターフェイス レベルでは、 PortFast 機能をイネーブルにしなくても spanning-tree bpduguard enable インターフェイス コンフィギュレーション コマンドを使用して、任意のポート上で BPDU フィルタリングをイネーブルにできます。このコマンドを実行すると、ポートは BPDU を送受信できなくなります。


注意 BPDU フィルタリングを特定のインターフェイス上でイネーブルにすることは、そのインターフェイス上でスパニング ツリーをディセーブルにすることと同じであり、スパニング ツリー ループが発生するおそれがあります。

スイッチ全体または 1 つのインターフェイスで BPDU フィルタリング機能をイネーブルにできます。

UplinkFast の概要

階層型ネットワークに配置されたスイッチは、バックボーン スイッチ、ディストリビューション スイッチ、およびアクセス スイッチに分類できます。図 15-2 に、ディストリビューション スイッチおよびアクセス スイッチに少なくとも 1 つの冗長リンクが確保されている複雑なネットワークの例を示します。冗長リンクは、ループを防止するために、スパニング ツリーによってブロックされています。

図 15-2 階層型ネットワークのスイッチ

 

スイッチの接続が切断されると、スイッチはスパニング ツリーが新しいルート ポートを選択すると同時に代替パスの使用を開始します。リンクやスイッチに障害が発生した場合、またはスパニング ツリーが再設定された場合は、 spanning-tree uplinkfast グローバル コンフィギュレーション コマンドを使用して UplinkFast をイネーブルにすることにより、新しいルート ポートを短時間で選択できます。ルート ポートは、通常のスパニング ツリー手順とは異なり、リスニング ステートおよびラーニング ステートを経由せず、ただちにフォワーディング ステートに移行します。

スパニング ツリーが新規ルート ポートを再設定すると、他のインターフェイスはネットワークにマルチキャスト パケットをフラッディングし、インターフェイス上で学習した各アドレスにパケットを送信します。max-update-rate パラメータの値を小さくすることで、これらのマルチキャスト トラフィックのバーストを制限できます(このパラメータはデフォルトで毎秒 150 パケットです)。ただし、0 を入力すると、ステーション学習フレームが生成されないので、接続切断後スパニング ツリー トポロジがコンバージェンスする速度が遅くなります。


) UplinkFast は、ネットワークのアクセスまたはエッジに位置する、ワイヤリング クローゼットのスイッチで非常に有効です。バックボーン デバイスには適していません。他のアプリケーションにこの機能を使用しても、有効とは限りません。


UplinkFast は、直接リンク障害発生後に高速コンバージェンスを行い、アップリンク グループを使用して、冗長レイヤ 2 リンク間でロード バランシングを実行します。アップリンク グループは、(VLAN ごとの)レイヤ 2 インターフェイスの集合であり、いかなるときも、その中の 1 つのインターフェイスだけが転送を行います。具体的には、アップリンク グループは(転送を行う)ルート ポートと 1 組のブロック ポートからなります(セルフ ループ ポートは除く)。アップリンク グループは、転送中のリンクで障害が発生した場合に、代替パスを提供します。

図 15-3 に、リンク障害が発生していないトポロジの例を示します。ルート スイッチであるスイッチ A は、リンク L1 を介してスイッチ B に、リンク L2 を介してスイッチ C に直接接続されています。スイッチ B に直接接続されているスイッチ C のレイヤ 2 インターフェイスは、ブロッキング ステートです。

図 15-3 直接リンク障害発生前の UplinkFast の例

 

スイッチ C が、ルート ポート上の現在アクティブ リンクである L2 でリンク障害( 直接 リンク障害)を検出すると、UplinkFast はスイッチ C でブロックされていたポートのブロックを解除し、リスニング ステートおよびラーニング ステートを経由せずに、ただちにフォワーディング ステートに移行させます(図 15-4を参照)。この切り替えに必要な時間は、約 1 ~ 5 秒です。

図 15-4 直接リンク障害発生後の UplinkFast の例

 

クロススタック UplinkFast の概要

Cross-Stack UplinkFast(CSUF; クロススタック UplinkFast)は、共有カスケード設定(マルチドロップ バックボーン)で接続された GigaStack GBIC モジュールを使用するスイッチのスタックで、スパニング ツリーの高速な移行(通常のネットワーク条件下で 1 秒未満の高速コンバージェンス)を実現します。高速移行の間は、スイッチのスタック上の代替冗長リンクがフォワーディング ステートになり、一時的なスパニング ツリー ループもバックボーンへの接続の損失も発生しません。一部の設定では、この機能により、冗長性と復元力を備えたネットワークが得られます。CSUF をイネーブルにするには、 spanning-tree stack-port インターフェイス コンフィギュレーション コマンドを使用します。

CSUF で高速移行が得られない場合もあります。この場合は、通常のスパニング ツリー移行が発生し、30 ~ 40 秒以内に完了します。詳細については、「高速コンバージェンスを発生させるイベント」を参照してください。

CSUF の動作原理

CSUF は、スタック内で 1 つのリンクがルートへのパスとして選択される状態を確保します。図 15-5 に示すように、スイッチ A、B、および C は GigaStack GBIC モジュールによってカスケード化され、マルチドロップ バックボーンを形成します。このマルチドロップ バックボーンは、アクセス レイヤにあるスイッチ間で制御トラフィックとデータ トラフィックを通信します。スタック内のスイッチは、それぞれのスタック ポートを使用して互いに通信し、スタック バックボーンに接続します。スタック ポートは、常にスパニング ツリー フォワーディング ステートになります。スイッチ A のスタック ルート ポートは、スパニング ツリーのルートへのパスを提供します。スイッチ B および C の代替スタック ルート ポートは、現行のスタック ルート スイッチに障害が起きた場合、またはそのスイッチのスパニング ツリー ルートへのリンクに障害が起きた場合に、スパニング ツリー ルートへの代替パスを提供できます。

ルート リンクであるリンク A はスパニング ツリー フォワーディング ステートになり、リンク B および C は代替冗長リンクであり、スパニング ツリー ブロッキング ステートになります。スイッチ A に障害が起きるか、そのスタック ルート ポートに障害が起きるか、リンク A に障害が起きた場合、CSUF はスイッチ B またはスイッチ C の代替スタック ルート ポートを選択し、1 秒未満のうちに、そのポートをフォワーディング ステートにします。

図 15-5 クロススタック UplinkFast トポロジ

 

CSUF は、Stack Membership Discovery Protocol を使用し、ディスカバリ hello パケットの受信によってスタック メンバのネイバー リストを作成します。特定のリンク損失またはスパニング ツリー イベントが発生すると(「高速コンバージェンスを発生させるイベント」を参照)、Fast Uplink Transition Protocol がネイバー リストを使用して、スタック ポート上でスタック メンバに高速移行要求を送信します。

高速移行要求を送信するスイッチは、ルート ポートとして選択したポートのフォワーディング ステートへの高速移行を行う必要があります。また、高速移行を実行するには、その前に各スタックから確認応答が得られていなければなりません。

スタック内の各スイッチが、ルート、コスト、およびブリッジ ID を比較することにより、このスパニング ツリー インスタンスのスタック ルートとなるよりも送信スイッチの方がよりよい選択肢であるかどうかを判別します。送信スイッチがスタック ルートとして最良の選択肢である場合、スタック内の各スイッチは確認応答を返します。そうでない場合は、送信スイッチに応答しません(パケットをドロップします)。この場合、送信スイッチは、すべてのスタック スイッチから確認応答を受信していません。

すべてのスタック スイッチからの確認応答を受信した場合は、送信スイッチ上の Fast Uplink Transition Protocol が、ただちにその代替スタックルート ポートをフォワーディング ステートに移行させます。送信スイッチがすべてのスタック スイッチからの確認応答を取得しなかった場合は、通常のスパニング ツリー移行(ブロッキング、リスニング、ラーニング、およびフォワーディング)が行われ、スパニング ツリー トポロジが通常のレート(2 × 転送遅延時間 + 最大エージング タイム)で収束します。

Fast Uplink Transition Protocol は、VLAN ごとに実装されており、一度に 1 つのスパニング ツリー インスタンスにしか影響しません。

高速コンバージェンスを発生させるイベント

CSUF 高速コンバージェンスは、ネットワーク イベントまたはネットワーク障害に応じて、発生する場合もあれば発生しない場合もあります。

高速コンバージェンス(通常のネットワーク状態で 1 秒未満)は、次のような状況で発生します。

スタック ルート ポート リンクに障害が発生した。

スタック内の 2 つのスイッチがルートへの代替パスを持つ場合、それらのスイッチの片方だけが高速移行を行います。

スタック ルートをスパニング ツリー ルートに接続するリンクに障害が発生し、回復した。

ネットワークの再設定により、新しいスタックルート スイッチが選択された。

ネットワークの再設定により、現在のスタックルート スイッチ上で新しいポートがスタック ルート ポートとして選択された。


) 複数のイベントが同時に発生すると、高速移行が行われなくなる場合もあります。たとえば、スタック メンバ スイッチの電源がオフになり、それと同時にスタック ルートをスパニング ツリー ルートに接続しているリンクが回復した場合、通常のスパニング ツリー コンバージェンスが発生します。


通常のスパニング ツリー コンバージェンス(30 ~ 40 秒)は、次のような状況で発生します。

スタック ルート スイッチの電源がオフになったか、またはソフトウェアに障害が発生した。

電源がオフになっていたか、または障害が発生していたスタック ルート スイッチの電源が入った。

スタック ルートになる可能性のある新しいスイッチがスタックに追加された。

スタック ルート以外のスイッチの 1 つで電源がオフになったか障害が発生した。

マルチドロップ バックボーンのスタック ポート間でリンクに障害が発生した。

制限事項

CSUF には、次の制限事項が適用されます。

CSUF は GigaStack GBIC モジュールを使用し、すべての Catalyst 3550 スイッチ、すべての Catalyst 3500 XL スイッチ、GBIC モジュール スロットを備えた Catalyst 2950 スイッチ、および 1000BASE-X モジュールをインストールしたモジュラ式 Catalyst 2900 XL スイッチのみで稼動します。

最大 9 つのスタック スイッチを、それらのスイッチのスタック ポートを通じてマルチドロップ バックボーンに接続できます。1 つのスイッチにつき、サポートされるスタック ポートは 1 つだけです。

それぞれのスタック スイッチは、1 つのアップリンクによってスパニング ツリー バックボーンに接続できます。

スタックに Catalyst 3550、Catalyst 3500 XL、Catalyst 2950、および Catalyst 2900 XL スイッチが混在している場合、最大 64 のスパニング ツリー対応 VLAN がサポートされます。スタックが Catalyst 3550 スイッチだけで構成されている場合は、最大 128 のスパニング ツリー対応 VLAN がサポートされます。

スタック ポートへの接続

高速移行は、マルチドロップ バックボーン接続が、図 15-6 の上側に示すように GigaStack GBIC モジュール同士の連続したリンクである場合に、スイッチのスタックで発生します。図 15-6 の下側は、通常のコンバージェンス時間を達成するための GigaStack GBIC モジュールの接続方法を示しています。

次の注意事項に従ってください。

1 台のスイッチは 1 つのスタック ポートだけをサポートします。

代替スタック ルート ポートをスタック ポートに接続しないでください。

スイッチ スタック上のすべてのスタック ポートを、マルチドロップ バックボーンに接続してください。

同じスタック内の上部と下部の GigaStack GBIC モジュールにある空きポートを接続すると、冗長リンクを形成できます。

図 15-6 GigaStack GBIC モジュールの接続とスパニング ツリー コンバージェンス

 

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 がブロック ポートの 1 つに着信すると、スイッチのルート ポートとその他のブロック ポートがルート スイッチへの代替パスになります(セルフループ ポートは、ルート スイッチへの代替パスとは見なされません)。下位 BPDU がルート ポートに到達した場合、すべてのブロック ポートがルート スイッチへの代替パスになります。下位 BPDU がルート ポートに到達し、しかもブロック ポートがない場合、スイッチはルート スイッチへの接続が切断されたものと見なし、ルート ポートの最大エージング タイムが経過するまで待ち、通常のスパニング ツリー ルールに従ってルート スイッチになります。

スイッチが代替パスでルート スイッチに到達できる場合、スイッチはその代替パスを使用して、Root Link Query(RLQ)要求を送信します。スイッチは、ルート スイッチへのすべての代替パスで RLQ 要求を送信して、ネットワーク内の他のスイッチからの RLQ 応答を待機します。

ルートへの代替パスがまだ存在していると判断したスイッチは、下位 BPDU を受信したポートの最大エージング タイムが経過するまで待ちます。ルート スイッチへのすべての代替パスが、スイッチとルート スイッチ間の接続が切断されていることを示している場合、スイッチは RLQ 応答を受信したポートの最大エージング タイムを満了させます。1 つまたは複数の代替パスからルート スイッチへ引き続き接続できる場合、スイッチは下位 BPDU を受信したすべてのポートを指定ポートにして、(ブロッキング ステートになっていた場合)ブロッキング ステートを解除し、リスニング ステート、ラーニング ステートを経てフォワーディング ステートに移行させます。

図 15-7 に、リンク障害が発生していないトポロジの例を示します。ルート スイッチであるスイッチ A はリンク L1 を介してスイッチ B に、リンク L2 を介してスイッチ C に直接接続されています。スイッチ B に直接接続されているスイッチ C のレイヤ 2 インターフェイスは、ブロッキング ステートです。

図 15-7 間接リンク障害発生前の BackboneFast の例

 

図 15-8 のリンク L1 で障害が発生した場合、スイッチ C はリンク L1 に直接接続されていないので、その障害を検出できません。一方スイッチ B は、L1 によってルート スイッチに直接接続されているため障害を検出し、スイッチ B 自身をルートとして選定して、自らをルートとして特定した状態で BPDU をスイッチ C へ送信し始めます。スイッチ B から下位 BPDU を受信したスイッチ C は、間接障害が発生していると見なします。この時点で、BackboneFast により、スイッチ C のブロック ポートは、そのポートに設定されている最大エージング タイムの満了を待たずに、ただちにリスニング ステートに移行します。BackboneFast は、次に、スイッチ C のレイヤ 2 インターフェイスをフォワーディング ステートに移行させ、スイッチ B からスイッチ A へのパスを設定します。このスイッチオーバーに要する時間は約 30 秒で、転送遅延時間の 2 倍にあたります(転送遅延時間がデフォルトの 15 秒に設定されている場合)。図 15-8 では、リンク L1 で障害が発生した場合 BackboneFast がどのようにトポロジを再構成するかを示します。

図 15-8 間接リンク障害発生後の BackboneFast の例

 

図 15-9 に示すメディア共有型トポロジに新しいスイッチが組み込まれた場合、BackboneFast は起動されません。これは、認識されている指定ブリッジ(スイッチ B)から不良 BPDU が着信しないためです。新しいスイッチは、自身がルート スイッチであることを伝える下位 BPDU の送信を開始します。ただし、他のスイッチはこれらの不良 BPDU を無視します。その結果、新しいスイッチはスイッチ B がルート スイッチであるスイッチ A への指定ブリッジであることを学習します。

図 15-9 メディア共有型トポロジにおけるスイッチの追加

 

EtherChannel ガードの概要

EtherChannel ガードを使用すると、スイッチと接続したデバイス間での EtherChannel の設定の矛盾を検出できます。スイッチ インターフェイスは EtherChannel として設定されているものの、もう一方のデバイスのインターフェイスではその設定が行われていない場合、設定の矛盾が発生します。また、EtherChannel の両端でチャネルのパラメータが異なる場合にも、設定の矛盾が発生します。EtherChannel 設定時の注意事項については、「EtherChannel 設定時の注意事項」を参照してください。

スイッチが、他のデバイス上で設定の矛盾を検出した場合、EtherChannel ガードはスイッチのインターフェイスを errdisable ステートにし、次のエラー メッセージが表示されます。

PM-4-ERR_DISABLE: Channel-misconfig error detected on [chars], putting [chars] in err-disable state.
 

spanning-tree etherchannel guard misconfig グローバル コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。

ルート ガードの概要

Service Provider(SP; サービス プロバイダー)のレイヤ 2 ネットワークには、SP 以外が所有するスイッチへの接続が多く含まれている場合があります。このようなトポロジでは、スパニング ツリーが再構成され、カスタマー スイッチをルート スイッチとして選択する可能性があります(図 15-10)。この状況を防ぐには、カスタマー ネットワーク内のスイッチに接続する 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 インターフェイス コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。


注意 ルート ガード機能は使い方を誤ると、接続が切断されることがあります。

図 15-10 サービス プロバイダー ネットワークのルート ガード

 

ループ ガードの概要

ループ ガードを使用すると、 代替ポートまたはルート ポートが、単一方向リンクの原因となる障害によって指定ポートになることを防ぎます。 この機能は、スイッチド ネットワーク全体に設定した場合に最も効果があります。

spanning-tree loopguard default グローバル コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。

スイッチが PVST+ または Rapid PVST+ モードで動作している場合、ループ ガードによって、代替ポートおよびルート ポートが指定ポートになることが防止され、スパニング ツリーがルート ポートまたは代替ポートで BPDU を送信することはありません。

スイッチが MST モードで動作しているとき、BPDU が非境界ポートで送信されないのは、ポートがすべての MST インスタンスでループ ガードによってブロックされている場合だけです。境界ポートでは、ループ ガードがすべての MST インスタンスでポートをブロックします。

オプションのスパニング ツリー機能の設定

ここでは、オプションのスパニング ツリー機能を設定する方法について説明します。

「オプションのスパニング ツリー機能のデフォルト設定」

「オプションのスパニング ツリー設定時の注意事項」

「PortFast のイネーブル化」(任意)

「BPDU ガードのイネーブル化」(任意)

「BPDU フィルタリングのイネーブル化」(任意)

「冗長リンク用 UplinkFast のイネーブル化」(任意)

「クロススタック UplinkFast のイネーブル化」(任意)

「BackboneFast のイネーブル化」(任意)

「EtherChannel ガードのイネーブル化」(任意)

「ルート ガードのイネーブル化」(任意)

「ループ ガードのイネーブル化」(任意)

オプションのスパニング ツリー機能のデフォルト設定

表 15-1 に、オプションのスパニング ツリー機能のデフォルト設定を示します。

 

表 15-1 オプションのスパニング ツリー機能のデフォルト設定

機能
デフォルト設定

PortFast、BPDU フィルタリング、BPDU ガード

グローバルにディセーブル(インターフェイス単位で個別に設定する場合を除く)

UplinkFast

グローバルにディセーブル

CSUF

すべてのインターフェイスでディセーブル。

BackboneFast

グローバルにディセーブル

EtherChannel ガード

グローバルにイネーブル

ルート ガード

すべてのインターフェイスでディセーブル

ループ ガード

すべてのインターフェイスでディセーブル

オプションのスパニング ツリー設定時の注意事項

スイッチで PVST+、Rapid PVST+、または MSTP が稼動している場合、PortFast、BPDU ガード、BPDU フィルタリング、EtherChannel ガード、ルート ガード、またはループ ガードを設定できます。

Rapid PVST+ または MSTP に対して UplinkFast、BackboneFast、またはクロススタック UplinkFast 機能を設定できますが、これらの機能は、スパニング ツリーのモードを 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 ステートになります。手動でポートを再び動作させなければならないので、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 機能をイネーブルにできます。ただし、スパニング ツリー モードを PVST+ に変更するまで、この機能はディセーブル(非アクティブ)のままです。

UplinkFast をイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

spanning-tree uplinkfast [ max-update-rate pkts-per-second ]

UplinkFast をイネーブルにします。

(任意) pkts-per-second に指定できる範囲は毎秒 0 ~ 32000 パケットです。デフォルト値は 150 です。

0 を入力すると、ステーション学習フレームが生成されないので、接続切断後スパニング ツリー トポロジがコンバージェンスする速度が遅くなります。

ステップ 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 のイネーブル化

CSUF をイネーブルにする前に、スタックの各スイッチが正しく接続されていることを確認してください。詳細については、「スタック ポートへの接続」を参照してください。

Rapid PVST+ または MSTP 用に、CSUF 機能をイネーブルにできます。ただし、スパニング ツリー モードを PVST+ に変更するまで、この機能はディセーブル(非アクティブ)のままです。

CSUF をイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

spanning-tree uplinkfast [ max-update-rate pkts-per-second ]

スイッチ上で UplinkFast をイネーブルにします。

(任意) max-update-rate pkts-per-second には、 更新パケットを送信する 1 秒あたりのパケット数を指定します。指定できる範囲は 0 ~ 65535 パケットで、デフォルトは 1 秒あたり 150 パケットです。

ステップ 3

interface interface-id

CSUF をイネーブルに設定する GBIC モジュール インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。

ステップ 4

spanning-tree stack-port

1 つのスタック ポート GBIC インターフェイス上でのみ CSUF をイネーブルにします。

スタック ポートは、GigaStack GBIC モジュール マルチドロップ バックボーンに接続します。CSUF をファスト イーサネットまたはギガビット対応イーサネット ポートでイネーブルにしようとすると、エラー メッセージが表示されます。

あるインターフェイス上で CSUF がすでにイネーブルになっている場合、別のインターフェイス上で CSUF をイネーブルにしようとすると、エラー メッセージが表示されます。新しいインターフェイス上で CSUF をイネーブルにするには、前もって最初のインターフェイス上で CSUF をディセーブルにしておく必要があります。

このコマンドは、アクセス スイッチ上だけで使用します。

ステップ 5

end

特権 EXEC モードに戻ります。

ステップ 6

show running-config

設定を確認します。

ステップ 7

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

インターフェイス上の CSUF をディセーブルにするには、 no spanning-tree stack-port インターフェイス コンフィギュレーション コマンドを使用します。スイッチ上およびそのすべての 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 インターフェイス コンフィギュレーション コマンドを 使用します。

スパニング ツリー ステータスの表示

スパニング ツリー ステータスを表示するには、 表 15-2 の特権 EXEC コマンドを 1 つまたは複数使用します。

 

表 15-2 スパニング ツリー ステータスを表示するためのコマンド

コマンド
目的

show spanning-tree active

アクティブ インターフェイスに関するスパニング ツリー情報だけを表示します。

show spanning-tree detail

インターフェイス情報の詳細サマリーを表示します。

show spanning-tree interface interface-id

特定のインターフェイスのスパニング ツリー情報を表示します。

show spanning-tree mst interface interface-id

特定のインターフェイスの MST 情報を表示します。

show spanning-tree summary [ totals ]

ポート ステートのサマリーを表示します。またはスパニング ツリー ステート セクションのすべての行を表示します。

clear spanning-tree [ interface interface-id ] 特権 EXEC コマンドを使用して、スパニング ツリー カウンタをクリアできます。

show spanning-tree 特権 EXEC コマンドの他のキーワードについては、このリリースに対応するコマンド リファレンスを参照してください。