オプションのスパニング ツリー機能の概要
ここでは、次の概要について説明します。
• 「PortFast の概要」
• 「BPDU ガードの概要」
• 「BPDU フィルタリングの概要」
• 「UplinkFast の概要」
• 「CSUF の概要」
• 「BackboneFast の概要」
• 「EtherChannel ガードの概要」
• 「ルート ガードの概要」
• 「ループ ガードの概要」
PortFast の概要
PortFast 機能を使用すると、アクセス ポートまたはトランク ポートとして設定されているインターフェイスが、リスニング ステートおよびラーニング ステートを経由せずに、ブロッキング ステートから直接フォワーディング ステートに移行します。単一のワークステーションまたはサーバに接続されたインターフェイス上で PortFast を使用すると、スパニング ツリーが収束するのを待たずにデバイスをただちにネットワークに接続できます(図 21-1 を参照)。
1 台のワークステーションまたはサーバに接続されたインターフェイスが Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)を受信しないようにする必要があります。スイッチを再起動すると、PortFast がイネーブルに設定されているインターフェイスは通常のスパニング ツリー ステータスの遷移をたどります。
(注) PortFast の目的は、インターフェイスがスパニング ツリーのコンバージェンスを待機する時間を最小限に抑えることです。したがって、PortFast はエンド ステーションに接続されたインターフェイス上で使用する場合に限り有効になります。他のスイッチに接続するインターフェイスで PortFast をイネーブルにすると、スパニング ツリーのループが生じる可能性があります。
この機能をイネーブルにするには、 spanning-tree portfast インターフェイス コンフィギュレーション コマンド、または spanning-tree portfast default グローバル コンフィギュレーション コマンドを使用します。
図 21-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 の概要
階層型ネットワークに配置されたスイッチは、バックボーン スイッチ、ディストリビューション スイッチ、およびアクセス スイッチに分類できます。図 21-2 は、ディストリビューション スイッチおよびアクセス スイッチに少なくとも 1 つの冗長リンクが確保されている複雑なネットワークの例です。冗長リンクは、ループを防止するために、スパニング ツリーによってブロックされています。
図 21-2 階層型ネットワークのスイッチ
スイッチの接続が切断されると、スイッチはスパニング ツリーが新しいルート ポートを選択すると同時に代替パスの使用を開始します。リンクやスイッチに障害が発生した場合、またはスパニング ツリーが再設定された場合は、 spanning-tree uplinkfast グローバル コンフィギュレーション コマンドを使用して UplinkFast をイネーブルにすることにより、新しいルート ポートを短時間で選択できます。ルート ポートは、通常のスパニング ツリー手順とは異なり、リスニング ステートおよびラーニング ステートを経由せず、ただちにフォワーディング ステートに移行します。
スパニング ツリーが新規ルート ポートを再設定すると、他のインターフェイスはネットワークにマルチキャスト パケットをフラッディングし、インターフェイス上で学習した各アドレスにパケットを送信します。max-update-rate パラメータの値を小さくすることで、これらのマルチキャスト トラフィックのバーストを制限できます(このパラメータはデフォルトで毎秒 150 パケットです)。ただし、0 を入力すると、ステーション学習フレームが生成されないので、接続切断後スパニング ツリー トポロジがコンバージェンスする速度が遅くなります。
(注) UplinkFast は、ネットワークのアクセスまたはエッジに位置する、ワイヤリング クローゼットのスイッチで非常に有効です。バックボーン デバイスには適していません。他のアプリケーションにこの機能を使用しても、有効とは限りません。
UplinkFast は、直接リンク障害発生後に高速コンバージェンスを行い、アップリンク グループを使用して、冗長レイヤ 2 リンク間でロード バランシングを実行します。アップリンク グループは、(VLAN ごとの)レイヤ 2 インターフェイスの集合であり、いかなるときも、その中の 1 つのインターフェイスだけが転送を行います。具体的には、アップリンク グループは(転送を行う)ルート ポートと 1 組のブロック ポートからなります(セルフ ループ ポートは除く)。アップリンク グループは、転送中のリンクで障害が発生した場合に、代替パスを提供します。
図 21-3 に、リンク障害が発生していないトポロジの例を示します。ルート スイッチであるスイッチ A は、リンク L1 を介してスイッチ B に、リンク L2 を介してスイッチ C に直接接続されています。スイッチ B に直接接続されているスイッチ C のレイヤ 2 インターフェイスは、ブロッキング ステートです。
図 21-3 直接リンク障害発生前の UplinkFast の例
スイッチ C が、ルート ポートの現在アクティブ リンクである L2 でリンク障害( 直接 リンク障害)を検出すると、UplinkFast がスイッチ C でブロックされていたインターフェイスのブロックを解除し、リスニング ステートおよびラーニング ステートを経由せずに、直接フォワーディング ステートに移行させます(図 21-4 を参照)。この切り替えに必要な時間は、約 1 ~ 5 秒です。
図 21-4 直接リンク障害発生後の UplinkFast の例
CSUF の概要
Catalyst 3750 スイッチでは、UplinkFast 機能は Cross-Stack UplinkFast(CSUF)機能です。CSUF は、スイッチ スタック全体に高速スパニング ツリー トランジション(通常のネットワーク状況下では 1 秒未満の高速コンバージェンス)を提供します。高速トランジションの実行中は、スイッチ スタック上の代替冗長リンクがフォワーディング ステートになりますが、一時的にスパニング ツリー ループが発生したり、バックボーンとの接続が失われたりすることはありません。この機能を使用すると、一定の構成で、冗長性と回復力に優れたネットワークを構築できます。CSUF は、 spanning-tree uplinkfast グローバル コンフィギュレーション コマンドを使用して UplinkFast 機能をイネーブルにすると、自動的にイネーブルになります。
CSUF は常に高速トランジションを実現するとは限りません。場合によっては、標準スパニング ツリー トランジションが実行され、完了までに 30 ~ 40 秒かかります。詳細については、「高速コンバージェンスを実行させるイベント」を参照してください。
CSUF の機能
CSUF では、スタックの 1 つのリンクが、ルートへのパスとして確実に選択されます。図 21-5 に示したように、スイッチ 1 のスタック ルート ポートがスパニング ツリーのルートへのパスを提供します。スイッチ 2 およびスイッチ 3 の代替スタック ルート ポートは、現在のスタック ルート スイッチに障害が生じた場合やスパニング ツリー ルートへのリンクに障害が生じた場合に、スパニング ツリー ルートへの代替パスを提供できます。
リンク 1(ルート リンク)は、スパニング ツリー フォワーディング ステートです。リンク 2 およびリンク 3 は、スパニング ツリー ブロッキング ステートの代替冗長リンクです。スイッチ 1、スタック ルート ポート、あるいはリンク 1 に障害が発生すると、CSUF はスイッチ 2 またはスイッチ 3 のいずれかの代替スタック ルート ポートを選択し、1 秒未満でそのポートをフォワーディング ステートに変更します。
図 21-5 CSUF のトポロジ
何らかのリンク損失またはスパニング ツリー イベントが発生すると(「高速コンバージェンスを実行させるイベント」を参照)、Fast Uplink Transition Protocol は近接リストを使用して、スタック メンバーに高速トランジション要求を送信します。
高速トランジション要求を送信するスイッチは、ルート ポートとして選択したポートを高速トランジションでフォワーディング ステートにする必要があります。また、高速トランジションを実行する前に、スタックの各スイッチから確認応答を受信する必要があります。
スタックの各スイッチは、ルート、コスト、およびブリッジ ID を比較して、送信側スイッチが自身よりもスパニング ツリー インスタンスのスタック ルートとして適しているかどうかを判別します。送信側スイッチがスタック ルートとして最適である場合、スタック内の各スイッチは確認応答を戻します。最適でない場合には、高速トランジション要求を送信します。この場合、送信側スイッチは、すべてのスタック スイッチからは確認応答を受信しないことになります。
すべてのスタック スイッチから確認応答を受信すると、送信側スイッチの Fast Uplink Transition Protocol は、そのスイッチの代替スタック ルート ポートをただちにフォワーディング ステートに移行させます。送信側スイッチがすべてのスタック スイッチからの確認応答を得られなかった場合、通常のスパニング ツリー トランジション(ブロッキング、リスニング、ラーニング、フォワーディング)が実行され、スパニング ツリー トポロジのコンバージェンスは標準の速度(2 ×転送遅延時間+最大エージング タイム)で行われます。
Fast Uplink Transition Protocol は、VLAN 単位で実装され、一度に 1 つのスパニング ツリー インスタンスだけに適用されます。
高速コンバージェンスを実行させるイベント
CSUF 高速コンバージェンスが実行されるかどうかは、ネットワークのイベントまたは障害によります。
高速コンバージェンス(通常のネットワーク状況で 1 秒未満)は、次の状況のもとで実行されます。
• スタック ルート ポートのリンクに障害が発生した場合
スタック内の 2 つのスイッチにルートへの代替パスが設定されている場合は、1 つのスイッチだけが高速トランジションを実行します。
• スタック ルートとスパニング ツリー ルートを接続しているリンクの障害が回復した場合
• ネットワークの再構築により、新しいスタック ルート スイッチが選択された場合
• ネットワークの再構築により、現在のスタック ルート スイッチの新しいポートがスタック ルート ポートとして選択された場合
(注) 複数のイベントが同時に発生すると、高速トランジションが実行されないことがあります。たとえば、スタック メンバーの電源が切断され、同時に、スタック ルートからスパニング ツリー ルートへのリンク障害が回復した場合、標準のスパニング ツリー コンバージェンスが実行されます。
標準のスパニング ツリー コンバージェンス(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)要求を送信します。スイッチは、スタック メンバーがルート スイッチへの代替ルートを持つかどうかを学習するために、すべての代替パスに RLQ 要求を送信し、ネットワーク内およびスタック内の他のスイッチからの RLQ 応答を待機します。
スタック メンバーは、ブロック インターフェイス上の非スタック メンバーから RLQ 応答を受け取り、その応答が別の非スタック スイッチ宛てだった場合には、スパニング ツリー インターフェイス ステートに関係なくその応答パケットを転送します。
スタック メンバーは、非スタック メンバーから RLQ 応答を受信し、その応答がスタック宛てだった場合は、他のすべてのスタック メンバーがその応答を受信できるように、それを転送します。
ルートへの代替パスがまだ存在していると判断したスイッチは、下位 BPDU を受信したインターフェイスの最大エージング タイムが経過するまで待ちます。ルート スイッチへのすべての代替パスが、スイッチとルート スイッチ間の接続が切断されていることを示している場合、スイッチは RLQ 応答を受信したインターフェイスの最大エージング タイムを満了させます。1 つまたは複数の代替パスからルート スイッチへ引き続き接続できる場合、スイッチは下位 BPDU を受信したすべてのインターフェイスを指定ポートにして、(ブロッキング ステートになっていた場合)ブロッキング ステートを解除し、リスニング ステート、ラーニング ステートを経てフォワーディング ステートに移行させます。
図 21-6 に、リンク障害が発生していないトポロジの例を示します。ルート スイッチであるスイッチ A はリンク L1 を介してスイッチ B に、リンク L2 を介してスイッチ C に直接接続されています。スイッチ B に直接接続されているスイッチ C のレイヤ 2 インターフェイスは、ブロッキング ステートです。
図 21-6 間接リンク障害発生前の BackboneFast の例
図 21-7 のリンク L1 で障害が発生した場合、スイッチ C はリンク L1 に直接接続されていないので、その障害を検出できません。一方スイッチ B は、L1 によってルート スイッチに直接接続されているため障害を検出し、スイッチ B 自身をルートとして選定して、自らをルートとして特定した状態で BPDU をスイッチ C へ送信し始めます。スイッチ B から下位 BPDU を受信したスイッチ C は、間接障害が発生していると見なします。この時点で、BackboneFast は、スイッチ C のブロック インターフェイスを、インターフェイスの最大エージング タイムが満了するまで待たずに、ただちにリスニング ステートに移行させます。BackboneFast は、次に、スイッチ C のレイヤ 2 インターフェイスをフォワーディング ステートに移行させ、スイッチ B からスイッチ A へのパスを設定します。ルートスイッチの選択には約 30 秒必要です。これは転送遅延時間がデフォルトの 15 秒に設定されていればその倍の時間です。図 21-7 では、リンク L1 で障害が発生した場合 BackboneFast がどのようにトポロジを再構成するかを示します。
図 21-7 間接リンク障害発生後の BackboneFast の例
図 21-8 のように、新しいスイッチがメディア共有型トポロジに組み込まれた場合、認識された指定スイッチ(スイッチ B)から下位 BPDU が届いていないので、BackboneFast はアクティブになりません。新しいスイッチは、自身がルート スイッチであることを伝える下位 BPDU の送信を開始します。ただし、他のスイッチはこれらの下位 BPDU を無視し、新しいスイッチはスイッチ B がルート スイッチであるスイッチ A への指定スイッチであることを学習します。
図 21-8 メディア共有型トポロジにおけるスイッチの追加
EtherChannel ガードの概要
EtherChannel ガードを使用すると、スイッチと接続したデバイス間での EtherChannel の設定の矛盾を検出できます。スイッチ インターフェイスは EtherChannel として設定されているものの、もう一方のデバイスのインターフェイスではその設定が行われていない場合、設定の矛盾が発生します。また、EtherChannel の両端でチャネルのパラメータが異なる場合にも、設定の矛盾が発生します。EtherChannel 設定時の注意事項については、「EtherChannel 設定時の注意事項」を参照してください。
スイッチが、他のデバイス上で設定の矛盾を検出した場合、EtherChannel ガードは、スイッチのインターフェイスを errdisable ステートにし、エラー メッセージを表示します。
spanning-tree etherchannel guard misconfig グローバル コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。
ルート ガードの概要
SP(サービス プロバイダー)のレイヤ 2 ネットワークには、SP 以外が所有するスイッチへの接続が多く含まれている場合があります。このようなトポロジでは、図 21-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 インターフェイス コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。
注意 ルート ガード機能は使い方を誤ると、接続が切断されることがあります。
図 21-9 サービス プロバイダー ネットワークのルート ガード
ループ ガードの概要
ループ ガードを使用すると、 代替ポートまたはルート ポートが、単一方向リンクの原因となる障害によって指定ポートになることを防ぎます 。この機能は、スイッチド ネットワーク全体でイネーブルに設定した場合に最も効果があります。ループ ガードによって、代替ポートおよびルート ポートが指定ポートになることが防止され、スパニング ツリーがルート ポートまたは代替ポートで BPDU を送信することはありません。
spanning-tree loopguard default グローバル コンフィギュレーション コマンドを使用してこの機能をイネーブルにできます。
スイッチが PVST+ または Rapid PVST+ モードで動作している場合、ループ ガードによって、代替ポートおよびルート ポートが指定ポートになることが防止され、スパニング ツリーがルート ポートまたは代替ポートで BPDU を送信することはありません。
スイッチが MST モードで動作しているとき、ループ ガードによってすべての MST インスタンスでインターフェイスがブロックされている場合に限り、非境界ポートで BPDU を送信しません。境界ポートでは、ループ ガードがすべての MST インスタンスでインターフェイスをブロックします。
オプションのスパニング ツリー機能の設定
ここでは、次の設定情報について説明します。
• 「オプションのスパニング ツリー機能のデフォルト設定」
• 「オプションのスパニング ツリー設定時の注意事項」
• 「PortFast のイネーブル化」(任意)
• 「BPDU ガードのイネーブル化」(任意)
• 「BPDU フィルタリングのイネーブル化」(任意)
• 「冗長リンク用 UplinkFast のイネーブル化」(任意)
• 「CSUF のイネーブル化」(任意)
• 「BackboneFast のイネーブル化」(任意)
• 「EtherChannel ガードのイネーブル化」(任意)
• 「ルート ガードのイネーブル化」(任意)
• 「ループ ガードのイネーブル化」(任意)
オプションのスパニング ツリー機能のデフォルト設定
表 21-1 に、オプションのスパニング ツリー機能のデフォルト設定を示します。
表 21-1 オプションのスパニング ツリー機能のデフォルト設定
|
|
PortFast、BPDU フィルタリング、BPDU ガード |
グローバルにディセーブル(インターフェイス単位で個別に設定する場合を除く) |
UplinkFast |
グローバルにディセーブル (Catalyst 3750 スイッチでは、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 機能は自動的にディセーブルになりません。詳細は、 第 16 章「音声 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 コマンドを使用します。
CSUF のイネーブル化
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 グローバル コンフィギュレーション コマンドを使用します。 spanning-tree guard loop インターフェイス コンフィギュレーション コマンドを使用すると、 no spanning-tree loopguard default グローバル コンフィギュレーション コマンドの設定値を上書きすることができます。