MSTP の設定
この章では、Catalyst 3750-X または 3560-X スイッチに IEEE 802.1s Multiple STP(MSTP)のシスコ実装を設定する方法について説明します。
(注) Multiple Spanning-Tree(MST; 多重スパニング ツリー)実装は IEEE 802.1s 標準に準拠しています。
MSTP は複数の VLAN を同一のスパニング ツリー インスタンスにマッピングできるようにして、多数の VLAN をサポートする場合に必要となるスパニング ツリー インスタンスの数を減らします。MSTP は、データ トラフィック用に複数の転送パスを提供し、ロード バランシングを可能にします。MSTP を使用すると、1 つのインスタンス(転送パス)で障害が発生しても他のインスタンス(転送パス)は影響を受けないので、ネットワークのフォールトトレランスが向上します。MSTP を導入する場合、最も一般的なのは、レイヤ 2 スイッチド ネットワークのバックボーンおよびディストリビューション レイヤへの導入です。MSTP の導入により、サービス プロバイダー環境に求められる高可用性ネットワークを実現できます。
スイッチが MST モードの場合、IEEE 802.1w 準拠の Rapid Spanning-Tree Protocol(RSTP)が自動的にイネーブルになります。RSTP は、IEEE 802.1D の転送遅延を軽減し、ルート ポートおよび指定ポートをフォワーディング ステートにすばやく移行する明示的なハンドシェイクによって、スパニング ツリーの高速コンバージェンスを実現します。
RSTP と MSTP は、(オリジナル)IEEE 802.1D スパニング ツリー準拠デバイス、既存のシスコ独自の Multiple Instance STP(MISTP)、および既存のシスコ Per-VLAN Spanning-Tree plus(PVST+)との下位互換性を保ちながら、スパニング ツリーの動作を向上させます。PVST+ および Rapid PVST+ については、「STP の設定」を参照してください。PortFast、UplinkFast、ルート ガードなどのその他のスパニング ツリーの機能については、「オプションのスパニング ツリー機能の設定」を参照してください。
スイッチ スタックは他のネットワークからは単一のスパニング ツリー ノードとして認識され、すべてのスタック メンバは、同一のスイッチ ID を使用します。特に明記しない限り、 スイッチ という用語は、スタンドアロン スイッチおよびスイッチ スタックを指します。
(注) この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するコマンド リファレンスを参照してください。
この章で説明する内容は、次のとおりです。
• 「MSTP の概要」
• 「RSTP の概要」
• 「MSTP 機能の設定」
• 「MST コンフィギュレーションおよびステータスの表示」
MSTP の概要
MSTP は、高速コンバージェンスが可能な RSTP を使用し、複数の VLAN を 1 つのスパニング ツリー インスタンスにまとめます。各インスタンスのスパニング ツリー トポロジは、他のスパニング ツリー インスタンスの影響を受けません。このアーキテクチャによって、データ トラフィックに複数の転送パスが提供され、ロード バランシングが可能になり、また多数の VLAN をサポートするのに必要なスパニングツリー インスタンスの数を減らすことができます。
ここでは、MSTP の機能について説明します。
• 「MST リージョン」
• 「IST、CIST、CST」
• 「ホップ カウント」
• 「境界ポート」
• 「IEEE 802.1s の実装」
• 「MSTP とスイッチ スタック」
• 「IEEE 802.1D STP との相互運用性」
設定の詳細については、「MSTP 機能の設定」を参照してください。
MST リージョン
スイッチを MST インスタンスに加入させるには、同じ MST コンフィギュレーション情報を使用して矛盾のないようにスイッチを設定する必要があります。同じ MST コンフィギュレーションを持ち、相互接続されたスイッチの集合を MST リージョンといいます(図 21-1を参照)。
各スイッチがどの MST リージョンに属しているかは、MST コンフィギュレーションによって制御されます。MST コンフィギュレーションには、リージョン名、リビジョン番号、MST の VLAN とインスタンスの割り当てマップが保存されています。スイッチにリージョンを設定するには、そのスイッチで spanning-tree mst configuration グローバル コンフィギュレーション コマンドを使用して、MST コンフィギュレーション モードを開始します。このモードでは、 instance MST コンフィギュレーション コマンドを使用して VLAN を MST インスタンスにマッピングし、 name MST コンフィギュレーション コマンドを使用してリージョン名を指定し、 revision MST コンフィギュレーション コマンドを使用してリビジョン番号を設定できます。
リージョンには、同一の MST コンフィギュレーションを持った 1 つまたは複数のメンバが必要です。さらに、各メンバは、RSTP Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)を処理できる必要があります。ネットワーク内の MST リージョンの数には制限はありませんが、各リージョンがサポートできるスパニング ツリー インスタンスの数は 65 までです。インスタンスは 0 ~ 4094 の数字で識別されます。VLAN には、一度に 1 つのスパニング ツリー インスタンスのみ割り当てることができます。
IST、CIST、CST
すべてのスパニング ツリー インスタンスが独立している PVST+ および Rapid PVST+ とは異なり、MSTP は次の 2 種類のスパニング ツリーを確立して維持します。
• Internal Spanning-Tree(IST)は、1 つの MST リージョン内で稼動するスパニング ツリーです。
各 MST リージョン内の MSTP は複数のスパニング ツリー インスタンスを維持しています。インスタンス 0 は、リージョンの特殊なインスタンスで、IST と呼ばれています。その他の MST インスタンスはすべて 1 ~ 4094 まで番号が付けられます。
IST は、BPDU を送受信する唯一のスパニング ツリー インスタンスです。他のスパニング ツリーの情報はすべて、MSTP BPDU 内にカプセル化されている M レコードに格納されています。MSTP BPDU はすべてのインスタンスの情報を伝送するので、複数のスパニング ツリー インスタンスをサポートする処理が必要な BPDU の数を大幅に減少できます。
同一リージョン内の MST インスタンスはすべて、同じプロトコル タイマーを共有しますが、各 MST インスタンスは独自のトポロジ パラメータ(ルート スイッチ ID、ルート パス コストなど)を持っています。デフォルトでは、すべての VLAN が IST に割り当てられています。
MST インスタンスはリージョンに対してローカルです。たとえば、リージョン A とリージョン B が相互接続されていても、リージョン A の MST インスタンス 1 は、リージョン B の MST インスタンス 1 から独立しています。
• Common and Internal Spanning-Tree(CIST)は、各 MST リージョン内の IST と、MST リージョンおよびシングル スパニング ツリーを相互接続する Common Spanning-Tree(CST)の集合です。
1 つのリージョン内で計算されたスパニング ツリーは、スイッチド ドメイン全体を網羅する CST のサブツリーと見なされます。CIST は、IEEE 802.1w、IEEE 802.1s、および IEEE 802.1D 標準をサポートするスイッチ間で実行されるスパニング ツリー アルゴリズムによって形成されます。MST リージョン内の CIST は、リージョン外の CST と同じです。
詳細については、「MST リージョン内の動作」および「MST リージョン間の動作」を参照してください。
(注) IEEE 802.1s 標準を実装すると、一部の MST 実装関連の用語が変更されます。これらの変更の要約については、表 20-1を参照してください。
MST リージョン内の動作
IST は 1 つのリージョン内のすべての MSTP スイッチを接続します。IST が収束すると、IST のルートは、図 21-1 のように、CIST リージョナル ルート(IEEE 802.1s 標準が実装される以前は IST マスター )になります。CIST ルートに対してリージョン内で最も低いスイッチ ID とパス コストを持つスイッチがルートになります。また、リージョンがネットワーク内に 1 つしかなければ、CIST リージョナル ルートは CIST ルートにもなります。CIST ルートがリージョンの外部にある場合、リージョンの境界に位置する MSTP スイッチの 1 つが CIST リージョナル ルートとして選択されます。
MSTP スイッチは初期化時に、自身が CIST のルートおよび CIST リージョナル ルートであることを主張するため、CIST ルートと CIST リージョナル ルートへのパス コストがいずれもゼロに設定された BPDU を送信します。スイッチはさらに MST インスタンスをすべて初期化し、自身がこれらすべてのインスタンスのルートであると主張します。スイッチは、ポートに現在保存されているルート情報よりも優位の MST ルート情報(小さいスイッチ ID、パス コストなど)を受信すると、CIST リージョナル ルートとしての主張を撤回します。
初期化中、リージョン内にそれぞれが CIST リージョナル ルートである多数のサブリージョンが存在する場合があります。スイッチは、優位の IST 情報を受信すると、古いサブリージョンを脱退して、真の CIST リージョナル ルートが含まれている新しいサブリージョンに加入します。このようにして、真の CIST リージョナル ルートが含まれているサブリージョン以外のサブリージョンはすべて縮小させます。
正常な動作のためには、MST リージョン内のすべてのスイッチが同じ CIST リージョナル ルートを承認する必要があります。共通の CIST リージョナル ルートに収束する場合、そのリージョン内にある 2 つのスイッチは、1 つの MST インスタンスに対するポートの役割のみを同期させます。
MST リージョン間の動作
ネットワーク内に複数のリージョンまたは IEEE 802.1D 準拠のレガシー スイッチが混在している場合、MSTP は、ネットワーク内のすべての MST リージョンとすべてのレガシー STP スイッチからなる CST を構築して維持します。MST インスタンスは、リージョンの境界で IST と結合して CST になります。
IST は、リージョン内のすべての MSTP スイッチに接続し、スイッチド ドメイン全体を網羅する CIST のサブツリーとして見なされます。サブツリーのルートは CIST リージョナル ルートです。MST リージョンは、隣接する STP スイッチや MST リージョンからは仮想スイッチとして認識されます。
図 21-1 は、3 つの MST リージョンと IEEE 802.1D 準拠のレガシー スイッチ(D)からなるネットワークを示しています。リージョン 1 の CIST リージョナル ルート(A)は、CIST ルートでもあります。リージョン 2 の CIST リージョナル ルート(B)、およびリージョン 3 の CIST リージョナル ルート(C)は、CIST 内のそれぞれのサブツリーのルートです。RSTP はすべてのリージョンで稼動しています。
図 21-1 MST リージョン、CIST マスター、および CST ルート
BPDU を送受信するのは、CST インスタンスだけです。MST インスタンスは自身のスパニング ツリー情報を BPDU に追加して、ネイバー スイッチと通信し、最終的なスパニング ツリー トポロジを計算します。そのため、BPDU 送信に関連したスパニング ツリー パラメータ(たとえば hello タイム、転送時間、最大エージング タイム、最大ホップ数など)は、CST インスタンスのみで設定されますが、すべての MST インスタンスに影響します。スパニング ツリー トポロジに関連するパラメータ(スイッチ プライオリティ、ポート VLAN コスト、ポート VLAN プライオリティなど)は、CST インスタンスと MST インスタンスの両方で設定できます。
MSTP スイッチは、バージョン 3 RSTP BPDU または IEEE 802.1D STP BPDU を使用して、IEEE 802.1D 準拠のレガシー スイッチと通信します。MSTP スイッチ同士の通信には、MSTP BPDU が使用されます。
IEEE 802.1s の用語
シスコの先行標準実装で使用される一部の MST 命名規則は、一部の 内部 パラメータまたは リージョン パラメータを識別するように変更されました。これらのパラメータは、ネットワーク全体に関連している外部パラメータと違い、MST リージョン内でのみ影響があります。CIST はネットワーク全体を網羅するスパニング ツリー インスタンスのため、CIST パラメータのみ、内部修飾子やリージョナル修飾子ではなく外部修飾子が必要です。
• CIST ルートは、ネットワーク全体を網羅する一意のインスタンスのためのルート スイッチです。
• CIST 外部ルート パス コストは、CIST ルートまでのコストです。このコストは MST リージョン内で変化しません。CIST では、MST リージョンが単一のスイッチのように見えるので注意してください。CIST 外部ルート パス コストは、これらの仮想スイッチとリージョンに属していないスイッチ間を計算して出したルート パス コストです。
• CIST リージョナル ルートは先行標準の実装では IST マスターと呼ばれていました。CIST ルートがリージョン内にある場合、CIST リージョナル ルートが CIST ルートになります。または、CIST リージョナル ルートがそのリージョンで CIST ルートに最も近いスイッチになります。CIST リージョナル ルートは IST のルート スイッチとして動作します。
• CIST 内部ルート パス コストは、リージョン内の CIST リージョナル ルートまでのコストです。このコストは IST(インスタンス 0)のみに関係します。
表 21-1 に、IEEE 標準とシスコの先行標準の用語の比較を示します。
表 21-1 先行標準の用語および標準の用語
|
|
|
CIST リージョナル ルート |
IST マスター |
CIST リージョナル ルート |
CIST 内部ルート パス コスト |
IST マスター パス コスト |
CIST 内部パス コスト |
CIST 外部ルート パス コスト |
ルート パス コスト |
ルート パス コスト |
MSTI リージョナル ルート |
インスタンス ルート |
インスタンス ルート |
MSTI 内部ルート パス コスト |
ルート パス コスト |
ルート パス コスト |
ホップ カウント
IST および MST インスタンスは、スパニング ツリー トポロジの計算に、コンフィギュレーション BPDU のメッセージ有効期間と最大エージング タイムの情報を使用しません。その代わり、ルートへのパス コスト、および IP Time to Live(TTL; 存続可能時間)メカニズムに似たホップ カウント メカニズムを使用します。
spanning-tree mst max-hops グローバル コンフィギュレーション コマンドを使用することにより、リージョン内の最大ホップを設定し、その値をリージョン内の IST インスタンスとすべての MST インスタンスに適用できます。ホップ カウントを設定すると、メッセージ エージ情報を設定するのと同様の結果が得られます(再構成の開始時期を決定します)。インスタンスのルート スイッチは、常にコストを 0、ホップ カウントを最大値に設定して BPDU(または M レコード)を送信します。この BPDU を受信したスイッチは、受信 BPDU の残存ホップ カウントから 1 だけ差し引いた値を残存ホップ カウントとする BPDU を生成し、これを伝播します。このホップ カウントが 0 になると、スイッチはその BPDU を廃棄し、ポート用に維持されていた情報を期限切れにします。
BPDU の RSTP 部分に格納されているメッセージ有効期間と最大エージング タイムの情報は、リージョン全体で同じままであり、そのリージョンの境界に位置する指定ポートによって同じ値が伝播されます。
境界ポート
シスコ先行標準の実装では、境界ポートは、RSTP が稼動する単一のスパニング ツリー リージョン、PVST+ または Rapid PVST+ が稼動する単一のスパニング ツリー リージョン、または異なる MST コンフィギュレーションを持つ別の MST リージョンに MST リージョンを接続します。また、境界ポートは、指定スイッチが単一のスパニング ツリー スイッチ、または異なる MST コンフィギュレーションを持つスイッチである LAN に接続されます。
IEEE 802.1s 標準では、境界ポートの定義はなくなりました。IEEE 802.1Q-2002 標準では、ポートで受信可能な内部(同一リージョンからの)および外部の 2 種類のメッセージを識別します。メッセージが外部のものであれば、CIST によってのみ受信されます。CIST の役割がルートや代替ルートの場合、または外部 BPDU のトポロジが変更された場合は、MST インスタンスに影響する可能性があります。メッセージが内部の場合、CIST の部分は CIST によって受信されるので、各 MST インスタンスは個々の M レコードのみを受信します。シスコ先行標準の実装では、ポートが境界ポートとして外部メッセージを受信します。つまり、ポートは内部メッセージと外部メッセージを混在させたものは受信できません。
MST リージョンには、スイッチと LAN の両方が含まれています。セグメントは、指定されたポートのリージョンに属します。そのため、セグメントの指定ポートではなく異なるリージョンにあるポートは境界ポートになります。この定義を利用すると、リージョン内部にある 2 つのポートのうち一方を、異なるリージョンに属するポートとしてセグメントを共有させることができます。この方法を採用すると、内部および外部の両方からポートでメッセージを受信できる場合があります。
シスコ先行標準の実装との主な違いは、STP 互換モードを使用している場合、指定ポートが境界ポートとして定義されない点です。
(注) レガシー STP スイッチがセグメントに存在する場合、メッセージは常に外部と見なされます。
先行標準の実装から他に変更された点は、送信スイッチ ID を持つ RSTP またはレガシー IEEE 802.1Q スイッチの部分に、CIST リージョナル ルート スイッチ ID フィールドが加えられたことです。一貫した送信スイッチ ID をネイバー スイッチに送信することで、リージョン全体で 1 つの仮想スイッチのように動作します。この例では、スイッチ A または B がそのセグメントで指定されているかどうかにかかわらず、スイッチ C が、ルートの一貫した送信スイッチ ID を持つ BPDU を受信します。
IEEE 802.1s の実装
シスコの IEEE MST 標準の実装には、標準の要件を満たす機能だけでなく、すでに公開されている標準には含まれていない一部の(要望されている)先行標準の機能が含まれています。
ポートの役割名の変更
境界の役割は最終的に MST 標準に含まれませんでしたが、境界の概念自体はシスコの実装に投影されています。ただし、リージョン境界にある MST インスタンスのポートは、対応する CIST ポートのステートに必ずしも従うわけではありません。現状、次の 2 通りの事例が考えられます。
• 境界ポートが CIST リージョナル ルートのルート ポートである場合:CIST インスタンス ポートを提案されて同期中の場合、対応するすべての MSTI ポートの同期を取り終わった後であれば(その後フォワーディングします)、その場合のみ合意を返信してフォワーディング ステートに移行できます。MSTI ポートには、特別な マスター の役割があります。
• 境界ポートが CIST リージョナル ルートのルート ポートでない場合:MSTI ポートは、CIST ポートのステートと役割に従います。標準では提供される情報が少ないため、MSTI ポートが BPDU(M レコード)を受信しない場合、MSTI ポートが BPDU を代わりにブロックできる理由がわかりにくい場合があります。この場合、境界の役割自体は存在していませんが、 show コマンドで見ると、出力される type カラムで、ポートが境界ポートとして認識されていることがわかります。
レガシー スイッチと標準スイッチの相互運用
先行標準のスイッチでは先行標準のポートを自動検出ができないため、インターフェイス コンフィギュレーション コマンドを使用して認識させます。標準と先行標準の間にあるリージョンは形成できませんが、CIST を使用することで相互運用できます。このような特別な方法を採用しても、失われる機能は、異なるインスタンス上のロード バランシングだけです。ポートが先行標準の BPDU を受信すると、CLI(コマンドライン インターフェイス)にはポートの設定に応じて異なるフラグが表示されます。また、スイッチが、先行標準の BPDU 転送の設定がされてないポートで先行標準の BPDU を初めて受信すると、Syslog メッセージにも表示されます。
図 21-2 に、このシナリオを示します。A を標準スイッチ、B を先行標準のスイッチと仮定してください。両方とも同じリージョンに設定されています。A が CIST のルート スイッチのため、B にセグメント X のルート ポート(BX)とセグメント Y の代替ポート(BY)があります。セグメント Y がフラップして、先行標準の BPDU を送信する前に BY のポートが代替ポートになった場合、AY は Y に接続している先行標準のスイッチを検出できないため、標準の BPDU を送信し続けます。また、BY ポートは境界で固定されるため、AB 間でのロード バランシングができなくなります。同一の問題はセグメント X でも発生しますが、B がトポロジの変更を転送する場合があります。
図 21-2 標準スイッチおよび先行標準のスイッチでの相互運用
(注) 標準と先行標準の MST 実装の間での干渉を少なくすることを推奨します。
単一方向リンクの失敗の検出
IEEE MST 標準にはこの機能が存在していませんが、Cisco IOS Release には加えられています。ソフトウェアを使用することで、受信した BPDU からポートの役割とステートの一貫性を確認し、単一方向リンクが失敗してブリッジ処理のループを引き起こしていないかどうかを検証できます。
指定ポートで矛盾が検出された場合、役割には従いますが、ブリッジ処理のループを引き起こすよりは、矛盾による接続中断の方が望ましい状態のため、廃棄ステートへ戻ります。
図 21-3 に、ブリッジ処理のループを引き起こす一般的な単一方向リンクの失敗例を示します。スイッチ A はルート スイッチです。スイッチ B へ向かうリンク上で、BPDU が紛失しています。RSTP と MST BPDU には、送信ポートの役割とステートが含まれています。この情報があれば、スイッチ A は、送信した優位 BPDU にスイッチ B が反応しないこと、さらにスイッチ B はルート スイッチではなく指定スイッチであることを検出できます。結果として、スイッチ A は自身のポートをブロックし(またはブロックを維持して)、ブリッジ処理のループを回避します。
図 21-3 単一方向リンクの失敗の検出
MSTP とスイッチ スタック
スイッチ スタックは他のネットワークからは単一のスパニング ツリー ノードとして認識され、すべてのスタック メンバは、指定のスパニング ツリーに対して同一のスイッチ ID を使用します。スイッチ ID は、スタック マスターの MAC アドレスに基づきます。
MSTP をサポートしないスイッチが、MSTP をサポートしないスイッチ スタックに追加される場合、またはその逆の場合、スイッチはバージョン不一致の状態になります。可能な場合、スイッチは、スイッチ スタックで実行中のソフトウェアと同じバージョンに、自動的にアップグレードまたはダウングレードされます。
新しいスイッチがスタックに加入すると、そのスイッチ ID がスタック マスター スイッチ ID に設定されます。新しく追加されたスイッチの ID が最も低く、ルート パス コストがすべてのスタック メンバ間で同じ場合は、新しく追加されたスイッチがスタック ルートになります。新たに追加されたスイッチに、スイッチ スタックに対してより適切なルート ポートが含まれているか、スタックに接続されている LAN に対してより適切な指定ポートが含まれている場合、トポロジの変更が発生します。新たに追加されたスイッチに接続されている別のスイッチで、ルート ポートまたは指定ポートが変更された場合、新たに追加されたスイッチにより、ネットワーク内でトポロジ変更が発生します。
スタック メンバがスタックから除外されると、スタック内でスパニング ツリーの再コンバージェンスが発生します(スタック外で発生する場合もあります)。残っているスタック メンバのうち最も低いスタック ポート ID を持つスタック メンバが、スタック ルートになります。
スタック マスターに障害が発生するか、スタック マスターがスタックから除外された場合、スタック メンバにより、新しいスタック マスターが選択され、すべてのスタック メンバで、スパニング ツリーのスイッチ ID が新しいマスター スイッチ ID に変更されます。
スイッチ スタックの詳細については、「スイッチ スタックの管理」を参照してください。
IEEE 802.1D STP との相互運用性
MSTP が稼動しているスイッチは、IEEE 802.1D 準拠のレガシー スイッチとの相互運用を可能にする組み込み型のプロトコル移行メカニズムをサポートします。このスイッチは、レガシー IEEE 802.1D コンフィギュレーション BPDU(プロトコルバージョンが 0 に設定されている BPDU)を受信すると、そのポート上では IEEE 802.1D BPDU のみを送信します。また、MSTP スイッチは、レガシー BPDU、別のリージョンに関連付けられている MSTP BPDU(バージョン 3)、または RSTP BPDU(バージョン 2)を受信することによって、ポートがリージョンの境界に位置していることを検出できます。
ただし、レガシー スイッチが指定スイッチでない場合、レガシー スイッチがリンクから削除されているかどうか検出できないので、スイッチは IEEE 802.1D BPDU を受け取らなくなった場合でも、自動的に MSTP モードには戻りません。スイッチは、接続先スイッチがリージョンに加入した場合に、引き続きポートに境界の役割を指定する可能性があります。プロトコル移行プロセスを再起動する(ネイバー スイッチとの再ネゴシエーションを強制する)には、 clear spanning-tree detected-protocols 特権 EXEC コマンドを使用します。
リンク上のすべてのレガシー スイッチが RSTP スイッチであれば、これらのスイッチは、RSTP BPDU 同様に MSTP BPDU を処理できます。したがって、MSTP スイッチは、バージョン 0 コンフィギュレーションと TCN BPDU またはバージョン 3 MSTP BPDU のいずれかを境界ポートで送信します。境界ポートは、指定スイッチがシングル スパニング ツリー スイッチまたは異なる MST コンフィギュレーションを持つスイッチのいずれかである LAN に接続されます。
RSTP の概要
RSTP は、ポイントツーポイントの配線を利用して、スパニング ツリーの高速コンバージェンスを実現します。また、1 秒未満の間に、スパニング ツリーを再構成できます(IEEE 802.1D スパニング ツリーのデフォルトに設定されている 50 秒とは異なります)。
ここでは、RSTP の機能について説明します。
• 「ポートの役割およびアクティブ トポロジ」
• 「高速コンバージェンス」
• 「ポート ロールの同期」
• 「BPDU のフォーマットおよびプロセス」
設定については、「MSTP 機能の設定」を参照してください。
ポートの役割およびアクティブ トポロジ
RSTP は、ポートに役割を割り当てて、アクティブ トポロジを学習することによって高速コンバージェンスを実現します。「スパニング ツリー トポロジと BPDU」で説明したように、RSTP は、IEEE 802.1D STP に基づき、スイッチ プライオリティが最も高い(プライオリティの値が最も小さい)スイッチをルート スイッチに選択します。RSTP はさらに、各ポートに次のいずれか 1 つの役割を割り当てます。
• ルート ポート:スイッチからルート スイッチへパケットを転送する場合の最適パス(最も低コストなパス)を提供します。
• 指定ポート:指定スイッチに接続します。これにより、LAN からルート スイッチへパケットを転送するときのパス コストが最小になります。指定スイッチが LAN に接続するポートのことを指定ポートと呼びます。
• 代替ポート:現在のルート ポートが提供したパスに代わるルート スイッチへの代替パスを提供します。
• バックアップ ポート:指定ポートが提供した、スパニング ツリーのリーフに向かうパスのバックアップとして機能します。バックアップ ポートが存在できるのは、2 つのポートがポイントツーポイント リンクよってループバックで接続されている場合、または 1 つのスイッチに共有 LAN セグメントへの接続が 2 つ以上ある場合です。
• ディセーブル ポート:スパニング ツリーの動作において何も役割が与えられていません。
ルート ポートまたは指定ポートの役割を割り当てられたポートは、アクティブ トポロジの一部となります。代替ポートまたはバックアップ ポートの役割を割り当てられたポートは、アクティブ トポロジから除外されます。
ネットワーク全体のポートの役割に矛盾のない安定したトポロジでは、RSTP は、すべてのルート ポートおよび指定ポートがただちにフォワーディング ステートに移行し、代替ポートとバックアップ ポートが必ず廃棄ステート(IEEE 802.1D のブロッキング ステートと同じ)になるように保証します。フォワーディング プロセスおよびラーニング プロセスの動作はポート ステートによって制御されます。 表 21-2 に、IEEE 802.1D と RSTP のポート ステートの比較を示します。
表 21-2 ポート ステートの比較
|
STP ポート ステート(IEEE 802.1D)
|
|
|
イネーブル |
ブロッキング |
廃棄 |
No |
イネーブル |
リスニング |
廃棄 |
No |
イネーブル |
ラーニング |
ラーニング |
Yes |
イネーブル |
フォワーディング |
フォワーディング |
Yes |
ディセーブル |
ディセーブル |
廃棄 |
No |
シスコの STP 実装製品内で整合性を図るため、このマニュアルでは、ポートの 廃棄 ステートを ブロッキング と定義しています。指定ポートは、リスニング ステートから開始します。
高速コンバージェンス
RSTP を使用すると、スイッチ、スイッチ ポート、または LAN に障害が発生しても、ただちに接続を回復できます。RSTP は、エッジ ポート、新しいルート ポート、およびポイントツーポイント リンクで接続されているポートに次のような高速コンバージェンスを提供します。
• エッジ ポート: spanning-tree portfast インターフェイス コンフィギュレーション コマンドを使用して、RSTP スイッチ上の 1 つのポートをエッジ ポートに設定すると、そのエッジ ポートはただちにフォワーディング ステートになります。エッジ ポートは PortFast 対応ポートと同じで、これをイネーブルにできるのは、単一のエンド ステーションに接続されているポート上だけです。
• ルート ポート:RSTP は、新しいルート ポートを選択すると、古いルート ポートをブロックして、新しいルート ポートをただちにフォワーディング ステートにします。
• ポイントツーポイント リンク:2 つのポートをポイントツーポイント リンクで接続し、ローカル ポートが指定ポートになると、その指定ポートは、提案/合意ハンドシェイクを使用して、相手側ポートと高速移行をネゴシエーションし、ループのないトポロジを保証します。
図 21-4 では、スイッチ A とスイッチ B はポイントツーポイント リンクを通じて接続され、すべてのポートがブロッキング ステートになっています。スイッチ A のプライオリティ値がスイッチ B のプライオリティ値より小さい数値である場合、スイッチ A はスイッチ B に提案メッセージ(提案フラグが設定されたコンフィギュレーション BPDU)を送信し、スイッチ A 自身が指定スイッチになることを提案します。
スイッチ B は、提案メッセージを受信すると、提案メッセージを受信したポートを新しいルート ポートとして選択し、すべての非エッジ ポートをブロッキング ステートにします。さらに、新しいルート ポート経由で合意メッセージ(合意フラグが設定された BPDU)を送信します。
スイッチ A は、スイッチ B の合意メッセージを受信すると、ただちに自身の指定ポートをフォワーディング ステートにします。スイッチ B はその非エッジ ポートをすべてブロックし、またスイッチ A とスイッチ B はポイントツーポイント リンクで接続されているので、ネットワークにループは形成されません。
スイッチ C がスイッチ B に接続された場合も、同様のハンドシェイク メッセージが交換されます。スイッチ C はスイッチ B に接続されたポートをルート ポートとして選択し、両端のポートはただちにフォワーディング ステートに移行します。アクティブ トポロジにスイッチが追加されるたびに、このハンドシェイク プロセスが実行されます。ネットワークが収束すると、この提案/合意ハンドシェイクがルートからスパニング ツリーのリーフへと進みます。
スイッチ スタックでは、Cross-Stack Rapid Transition(CSRT)機能を使用すると、ポートがフォワーディング ステートに移行する前に、スタック メンバで、提案/合意ハンドシェイク中にすべてのスタック メンバから確認メッセージを受信できます。スイッチが MST モードの場合、CSRT は自動的にイネーブルにされます。
スイッチはポートのデュプレックス モードによってリンク タイプを学習します。全二重ポートはポイントツーポイント接続と見なされ、半二重接続は共有接続と見なされます。 spanning-tree link-type インターフェイス コンフィギュレーション コマンドを使用すると、デュプレックス設定で制御されたデフォルトの設定値を上書きできます。
図 21-4 高速コンバージェンスの提案と合意のハンドシェイク
ポート ロールの同期
スイッチのポートの 1 つで提案メッセージが受信され、そのポートが新しいルート ポートに選択されると、RSTP は他のすべてのポートを新しいルートの情報に同期させます。
他のすべてのポートが同期化されると、スイッチはルート ポートで受信した優位のルート情報に同期化されます。スイッチ上の個々のポートは次の場合に同期化された状態となります。
• ブロッキング ステートである場合
• エッジ ポートである場合(ネットワークのエッジとして設定されているポート)
指定ポートがフォワーディング ステートであり、なおかつエッジ ポートとして設定されていない場合、RSTP によって新しいルート情報で強制的に同期化されると、その指定ポートはブロッキング ステートになります。一般的に、RSTP がポートを新しいルート情報で強制的に同期化する場合に、そのポートが上記のいずれの条件も満たしていない場合、ポートのステートはブロッキングに設定されます。
スイッチは、すべてのポートが同期化されたことを確認すると、そのルート ポートに対応する指定スイッチに合意メッセージを送信します。ポイントツーポイント リンクで接続されたスイッチがポートの役割について互いに合意すると、RSTP はポート ステートをただちにフォワーディング ステートに移行させます。この一連のイベントを図 21-5 に示します。
図 21-5 高速コンバージェンス中のイベントのシーケンス
BPDU のフォーマットおよびプロセス
RSTP BPDU のフォーマットは、プロトコル バージョンが 2 に設定されている点を除き、IEEE 802.1D BPDU のフォーマットと同じです。新しい 1 バイトのバージョン 1 の Length フィールドは 0 に設定されます。これはバージョン 1 のプロトコルの情報がないことを示しています。 表 21-3 に、RSTP のフラグ フィールドを示します。
表 21-3 RSTP BPDU フラグ
|
|
0 |
トポロジの変更(TC) |
1 |
提案 |
2 ~ 3 00 01 10 11 |
ポートの役割: Unknown 代替ポート ルート ポート 指定ポート |
4 |
ラーニング |
5 |
フォワーディング |
6 |
合意 |
7 |
トポロジの変更の確認(TCA) |
送信スイッチは、自身を LAN 上の指定スイッチにするために、RSTP BPDU に提案フラグを設定します。提案メッセージでは、ポートの役割は常に指定ポートに設定されます。
送信スイッチは、提案を受け入れる場合、RSTP BPDU に合意フラグを設定します。合意メッセージでは、ポートの役割は常にルート ポートに設定されます。
RSTP には個別の Topology Change Notification(TCN;トポロジ変更通知)BPDU はありません。トポロジの変更を示すには、トポロジ変更(TC)フラグが使用されます。ただし、IEEE 802.1D スイッチとの相互運用性を保つために、RSTP スイッチは TCN BPDU の処理と生成を行います。
ラーニングとフォワーディングのフラグは、送信ポートのステートに応じて設定されます。
優位 BPDU 情報の処理
現在保存されているルート情報よりも優位のルート情報(小さいスイッチ ID、低パス コストなど)をポートが受信すると、RSTP は再構成を開始します。そのポートが新しいルート ポートとして提案され、選択されると、RSTP は他のすべてのポートを強制的に同期化します。
受信した BPDU が提案フラグの設定された RSTP BPDU である場合、スイッチは他のすべてのポートを同期化した後、合意メッセージを送信します。BPDU が IEEE 802.1D BPDU である場合、スイッチは提案フラグを設定せずに、そのポートの転送遅延タイマーを起動します。新しいルート ポートはフォワーディング ステートに移行するために 2 倍の転送遅延時間を必要とします。
ポートで優位の情報が受信されたために、そのポートがバックアップ ポートまたは代替ポートになる場合、RSTP はそのポートをブロッキング ステートに設定し、合意メッセージは送信しません。指定ポートは、転送遅延タイマーが満了するまで提案フラグの設定された BPDU の送信を続けます。タイマーが満了すると、ポートはフォワーディング ステートに移行します。
下位 BPDU 情報の処理
指定ポートの役割フラグが設定された下位 BPDU(そのポートに現在保存されている値より大きいスイッチ ID、高いパス コストなど)を指定ポートが受信した場合、その指定ポートは、ただちに現在の自身の情報を応答します。
トポロジの変更
ここでは、スパニング ツリー トポロジの変更処理について、RSTP と IEEE 802.1D の相違を説明します。
• 検出:IEEE 802.1D ではブロッキングとフォワーディング ステート間での すべての 移行によってトポロジの変更が生じますが、RSTP ではトポロジの変更が生じるのは、ブロッキングからフォワーディングにステートが移行する場合 のみ です(トポロジの変更と見なされるのは、相互接続性が向上する場合だけです)。エッジ ポートでステートが変更されても、トポロジの変更は生じません。RSTP スイッチは、トポロジの変更を検出すると、そのスイッチのすべての非エッジ ポート(TC 通知を受信したポートを除く)で学習した情報を削除します。
• 通知:IEEE 802.1D は TCN BPDU を使用しますが、RSTP は使用しません。ただし、IEEE 802.1D との相互運用性を保つために、RSTP スイッチは TCN BPDU の処理と生成を行います。
• 確認:RSTP スイッチは、指定ポートで IEEE 802.1D スイッチから TCN メッセージを受信した場合、TCA ビットが設定された IEEE 802.1D コンフィギュレーション BPDU で応答します。ただし、IEEE 802.1D スイッチに接続されたルート ポートで TC 時間タイマー(IEEE 802.1D のトポロジ変更タイマーと同じ)がアクティブであり、TCA ビットが設定されたコンフィギュレーション BPDU が受信された場合、TC 時間タイマーはリセットされます。
この処理は、IEEE 802.1D スイッチをサポートする目的でのみ必要とされます。RSTP BPDU では、TCA ビットは設定されません。
• 伝播:RSTP スイッチは、指定ポートまたはルート ポートを介して別のスイッチから TC メッセージを受信すると、自身のすべての非エッジ ポート、指定ポート、およびルート ポート(この TC メッセージを受信したポートを除く)に変更を伝播します。スイッチは、これらのすべてのポートの TC 時間タイマーを起動し、これらのポート上で学習した情報を削除します。
• プロトコルの移行:IEEE 802.1D スイッチとの下位互換性を保つため、RSTP は IEEE 802.1D コンフィギュレーション BPDU および TCN BPDU をポート単位で必要に応じて送信します。
ポートが初期化されると、移行遅延タイマーが起動され(RSTP BPDU を送信する最小時間を指定)、RSTP BPDU が送信されます。このタイマーがアクティブな間、スイッチはそのポートで受信したすべての BPDU を処理し、プロトコル タイプを無視します。
スイッチはポートの移行遅延タイマーが満了した後に IEEE 802.1D BPDU を受信した場合、IEEE 802.1D スイッチに接続されていると想定し、IEEE 802.1D BPDU のみの使用を開始します。ただし、RSTP スイッチが 1 つのポートで IEEE 802.1D BPDU を使用していて、タイマーが満了した後に RSTP BPDU を受信した場合、タイマーが再起動し、そのポートで RSTP BPDU の使用が開始されます。
MSTP 機能の設定
ここでは、次の設定について説明します。
• 「MSTP のデフォルト設定」
• 「MSTP 設定時の注意事項」
• 「MST リージョンの設定および MSTP のイネーブル化」(必須)
• 「ルート スイッチの設定」(任意)
• 「セカンダリ ルート スイッチの設定」(任意)
• 「ポート プライオリティの設定」(任意)
• 「パス コストの設定」(任意)
• 「スイッチのプライオリティの設定」(任意)
• 「hello タイムの設定」(任意)
• 「転送遅延時間の設定」(任意)
• 「最大経過時間の設定」(任意)
• 「最大ホップ カウントの設定」(任意)
• 「リンク タイプの指定による高速移行の保証」(任意)
• 「ネイバー タイプの指定」(任意)
• 「プロトコル移行プロセスの再起動」(任意)
MSTP のデフォルト設定
表 21-4 に、MSTP のデフォルト設定を示します。
表 21-4 MSTP のデフォルト設定
|
|
スパニング ツリー モード |
PVST+(Rapid PVST+ と MSTP はディセーブル) |
スイッチ プライオリティ(CIST ポート単位で設定可能) |
32768 |
スパニング ツリー ポート プライオリティ(CIST ポート単位で設定可能) |
128 |
スパニング ツリー ポート コスト(CIST ポート単位で設定可能) |
1000 Mb/s:4 100 Mb/s:19 10 Mb/s:100 |
hello タイム |
2 秒 |
転送遅延時間 |
15 秒 |
最大エージング タイム |
20 秒 |
最大ホップ カウント |
20 ホップ |
サポートされるスパニング ツリー インスタンス数については、「サポートされるスパニング ツリー インスタンス」を参照してください。
MSTP 設定時の注意事項
ここでは、MSTP の設定時の注意事項を説明します。
• spanning-tree mode mst グローバル コンフィギュレーション コマンドを使用して、MST をイネーブルにすると、RSTP が自動的にイネーブルになります。
• 2 つ以上の Catalyst 3560-X スイッチを同じ MST リージョンに設置するには、それらのスイッチに同じ VLAN/インスタンス マッピング、同じコンフィギュレーション リビジョン番号、同じ名前を設定しなければなりません。
• 2 つ以上の Catalyst 3750-X スイッチ スタックを同じ MST リージョンに設置するには、それらのスイッチ スタックに同じ VLAN/インスタンス マッピング、同じコンフィギュレーション リビジョン番号、同じ名前を設定しなければなりません。
• Catalyst 3560-X スイッチは、最大 65 の MST インスタンスをサポートしています。特定の MST インスタンスにマッピング可能な VLAN 数に制限はありません。
• Catalyst 3750-X スイッチ スタックは、最大 65 の MST インスタンスをサポートしています。特定の MST インスタンスにマッピング可能な VLAN 数に制限はありません。
• PVST+、Rapid PVST+、および MSTP はサポートされますが、アクティブにできるのは 1 つのバージョンだけです(たとえば、すべての VLAN で PVST+ を使用するか、すべての VLAN で Rapid PVST+ を使用するか、またはすべての VLAN で MSTP を使用することになります)。詳細については、「スパニング ツリーの相互運用性と下位互換性」を参照してください。推奨するトランク ポート設定の詳細については、「他の機能との相互作用」を参照してください。
• すべてのスタック メンバは同一のスパニング ツリー バージョンを実行しています(すべての PVST+、高速 PVST+、または MSTP)。詳細については、「スパニング ツリーの相互運用性と下位互換性」を参照してください。
• MST コンフィギュレーションの VLAN Trunking Protocol(VTP; VLAN トランキング プロトコル)伝播機能はサポートされません。ただし、コマンドライン インターフェイス(CLI)または SNMP(簡易ネットワーク管理プロトコル)サポートを通じて、MST リージョン内の各スイッチで MST コンフィギュレーション(リージョン名、リビジョン番号、および VLAN とインスタンスのマッピング)を手動で設定することは可能です。
• ネットワーク内の冗長パスでロード バランシングを機能させるには、すべての VLAN/インスタンス マッピングの割り当てが一致している必要があります。一致していないと、すべてのトラフィックが 1 つのリンク上で伝送されます。パス コストを手動で設定することで、スイッチ スタック全体にわたりロード バランシングを実現できます。
• PVST+ クラウドと MST クラウドの間、または rapid-PVST+ クラウドと MST クラウドの間でロード バランシングを実現するには、すべての MST 境界ポートがフォワーディング ステートでなければなりません。そのためには、MST クラウドの IST マスターが CST のルートを兼ねている必要があります。MST クラウドが複数の MST リージョンで構成されている場合は、MST リージョンの 1 つに CST ルートが含まれており、他のすべての MST リージョンにおいて、MST クラウドに含まれているルートへのパスの方が PVST+ または rapid-PVST+ クラウド経由のパスよりも優れている必要があります。クラウド内のスイッチを手動で設定しなければならない場合もあります。
• ネットワークを多数のリージョンに分割することは推奨できません。ただし、どうしても分割せざるを得ない場合は、スイッチド LAN をルータまたは非レイヤ 2 デバイスで相互接続された小規模な LAN に分割することを推奨します。
• UplinkFast、BackboneFast、クロススタック UplinkFast の設定時の注意事項については、「オプションのスパニング ツリー設定時の注意事項」を参照してください。
• スイッチが MST モードのときは、パス コスト値の計算に、ロング パス コスト計算方式(32 ビット)が使用されます。ロング パス コスト計算方式では、次のパス コスト値がサポートされます。
|
|
10 Mb/s |
2,000,000 |
100 Mb/s |
200,000 |
1 Gb/s |
20,000 |
10 Gb/s |
2,000 |
100 Gb/s |
200 |
MST リージョンの設定および MSTP のイネーブル化
2 つ以上のスイッチを同じ MST リージョンに設定するには、その 2 つのスイッチに同じ VLAN/インスタンス マッピング、同じコンフィギュレーション リビジョン番号、同じ名前を設定しなければなりません。
リージョンは、同じ MST コンフィギュレーションを持つ 1 つまたは複数のメンバで構成されます。リージョンの各メンバは RSTP BPDU を処理する機能を備えている必要があります。ネットワーク内の MST リージョンの数には制限はありませんが、各リージョンがサポートできるスパニング ツリー インスタンスの数は 65 までです。VLAN には、一度に 1 つのスパニング ツリー インスタンスのみ割り当てることができます。
MST リージョンの設定を行い、MSTP をイネーブルにするには、特権 EXEC モードで次の手順を実行します。この手順は必須です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst configuration |
MST コンフィギュレーション モードを開始します。 |
ステップ 3 |
instance instance-id vlan vlan-range |
VLAN を MST インスタンスに対応付けます。 • instance-id に 指定できる範囲 は、0 ~ 4094 です。 • vlan vlan-range に 指定できる範囲 は、1 ~ 4094 です。 MST インスタンスに VLAN をマッピングする場合、マッピングはインクリメンタルに行われ、コマンドで指定された VLAN がすでにマッピング済みの VLAN に対して追加または削除されます。 VLAN の範囲を指定する場合は、ハイフンを使用します。たとえば、 instance 1 vlan 1-63 と入力すると、VLAN 1 ~ 63 が MST インスタンス 1 にマッピングされます。 一連の VLAN を指定する場合は、カンマを使用します。たとえば、 instance 1 vlan 10, 20, 30 と入力すると、VLAN 10、20、30 が MST インスタンス 1 にマッピングされます。 |
ステップ 4 |
name name |
コンフィギュレーション名を指定します。 name ストリングには最大 32 文字使用でき、大文字と小文字が区別されます。 |
ステップ 5 |
revision version |
コンフィギュレーション リビジョン番号を指定します。指定できる範囲は 0 ~ 65535 です |
ステップ 6 |
show pending |
入力した設定を表示して、確認します。 |
ステップ 7 |
exit |
変更を適用し、グローバル コンフィギュレーション モードに戻ります。 |
ステップ 8 |
spanning-tree mode mst |
MSTP をイネーブルにします。RSTP もイネーブルになります。
注意 スパニング ツリー モードを変更すると、すべてのスパニング ツリー インスタンスは以前のモードであるため停止し、新しいモードで再起動するので、トラフィックを中断させる可能性があります。
MSTP と PVST+ または MSTP と Rapid PVST+ を同時に実行することはできません。 |
ステップ 9 |
end |
特権 EXEC モードに戻ります。 |
ステップ 10 |
show running-config |
設定を確認します。 |
ステップ 11 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルトの MST リージョン コンフィギュレーションに戻すには、 no spanning-tree mst configuration グローバル コンフィギュレーション コマンドを使用します。VLAN インスタンス マッピングをデフォルトの設定に戻すには、 no instance instance-id [ vlan vlan-range ] MST コンフィギュレーション コマンドを使用します。デフォルトの名前に戻すには、 no name MST コンフィギュレーション コマンドを使用します。デフォルトのリビジョン番号に戻すには、 no revision MST コンフィギュレーション コマンドを使用し、 PVST+ をイネーブルに戻すには、 no spanning-tree mode または spanning-tree mode pvst グローバル コンフィギュレーション コマンドを使用します。
次の例では、MST コンフィギュレーション モードを開始して VLAN 10 ~ 20 を MST インスタンス 1 にマッピングし、リージョンに region1 と名前を付けて、コンフィギュレーション リビジョンを 1 に設定します。その後、変更確認前の設定を表示して変更を適用し、グローバル コンフィギュレーション モードに戻る方法を示します。
Switch(config)# spanning-tree mst configuration
Switch(config-mst)# instance 1 vlan 10-20
Switch(config-mst)# name region1
Switch(config-mst)# revision 1
Switch(config-mst)# show pending
Pending MST configuration
-------- ---------------------
-------------------------------
ルート スイッチの設定
スイッチは、スパニング ツリー インスタンスを VLAN グループとマッピングして維持します。各インスタンスには、スイッチ プライオリティとスイッチの MAC アドレスからなるスイッチ ID が対応付けられます。最小のスイッチ ID を持つスイッチがその VLAN グループのルート スイッチになります。
特定のスイッチがルートになるように設定するには、 spanning-tree mst instance-id root グローバル コンフィギュレーション コマンドを使用して、スイッチ プライオリティをデフォルト値(32768)からきわめて小さい値に変更します。これにより、そのスイッチが指定されたスパニング ツリー インスタンスのルート スイッチになることができます。このコマンドを入力すると、スイッチは、ルート スイッチのスイッチ プライオリティを確認します。拡張システム ID のサポートのため、スイッチは指定されたインスタンスについて、自身のプライオリティを 24576 に設定します(この値によって、このスイッチが指定されたスパニング ツリー インスタンスのルートになる場合)。
指定されたインスタンスのルート スイッチに、24576 に満たないスイッチ プライオリティが設定されている場合は、スイッチは自身のプライオリティを最小のスイッチ プライオリティより 4096 だけ小さい値に設定します(4096 は 4 ビット スイッチ プライオリティの最下位ビットの値です。表 20-1 を参照)。
ネットワーク上に拡張システム ID をサポートするスイッチとサポートしないスイッチが混在する場合は、拡張システム ID をサポートするスイッチがルート スイッチになることはほぼありません。拡張システム ID によって、旧ソフトウェアが稼動する接続スイッチのプライオリティより VLAN 番号が大きくなるたびに、スイッチ プライオリティ値が増大します。
各スパニング ツリー インスタンスのルート スイッチは、バックボーン スイッチまたはディストリビューション スイッチにする必要があります。アクセス スイッチをスパニング ツリーのプライマリ ルートとして設定しないでください。
レイヤ 2 ネットワークの直径(つまり、レイヤ 2 ネットワーク上の任意の 2 つのエンド ステーション間の最大スイッチ ホップ カウント)を指定するには、 diameter キーワードを指定します(MST インスタンス 0 の場合のみ使用可)。ネットワークの直径を指定すると、その直径のネットワークに最適な hello タイム、転送遅延時間、および最大エージング タイムをスイッチが自動的に設定するので、コンバージェンスの所要時間を大幅に短縮できます。 hello キーワードを使用して、自動的に計算される hello タイムを上書きすることができます。
(注) スイッチをルート スイッチとして設定した後に、spanning-tree mst hello-time、spanning-tree mst forward-time、および spanning-tree mst max-age グローバル コンフィギュレーション コマンドを使用して、hello タイム、転送遅延時間、最大エージング タイムを手動で設定することは推奨できません。
スイッチをルート スイッチに設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst instance-id root primary [ diameter net-diameter [ hello-time seconds ]] |
スイッチをルート スイッチに設定します。 • instance-id には、単一のインスタンス、ハイフンで区切られた範囲のインスタンス、またはカンマで区切られた一連のインスタンスを指定できます。指定できる範囲は 0 ~ 4094 です • (任意) diameter net-diameter には、任意の 2 つのエンド ステーション間の最大スイッチ数を指定します。指定できる範囲は 2 ~ 7 です。このキーワードは、MST インスタンス 0 にだけ使用できます。 • (任意) hello-time seconds には、ルート スイッチによってコンフィギュレーション メッセージが生成される間隔を秒数で指定します。指定できる範囲は 1 ~ 10 秒です。デフォルトは 2 秒です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst instance-id |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst instance-id root グローバル コンフィギュレーション コマンドを使用します。
セカンダリ ルート スイッチの設定
拡張システム ID をサポートするスイッチをセカンダリルートとして設定すると、スイッチ プライオリティはデフォルト値(32768)から 28672 に変更されます。その結果、プライマリ ルート スイッチに障害が発生した場合に、このスイッチが、指定されたインスタンスのルート スイッチになる可能性が高くなります。これは、他のネットワーク スイッチがデフォルトのスイッチ プライオリティ 32768 を使用し、ルート スイッチになる可能性が低いことが前提です。
複数のスイッチでこのコマンドを実行すると、複数のバックアップ ルート スイッチを設定できます。 spanning-tree mst instance-id root primary グローバル コンフィギュレーション コマンド でプライマリ ルート スイッチを設定したときと同じネットワーク直径および hello タイム値を使用してください。
スイッチをセンカンダリ ルート スイッチに設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst instance-id root secondary [ diameter net-diameter [ hello-time seconds ]] |
スイッチをセカンダリ ルート スイッチに設定します。 • instance-id には、単一のインスタンス、ハイフンで区切られた範囲のインスタンス、またはカンマで区切られた一連のインスタンスを指定できます。指定できる範囲は 0 ~ 4094 です • (任意) diameter net-diameter には、任意の 2 つのエンド ステーション間の最大スイッチ数を指定します。指定できる範囲は 2 ~ 7 です。このキーワードは、MST インスタンス 0 にだけ使用できます。 • (任意) hello-time seconds には、ルート スイッチによってコンフィギュレーション メッセージが生成される間隔を秒数で指定します。指定できる範囲は 1 ~ 10 秒です。デフォルトは 2 秒です。 プライマリ ルート スイッチを設定したときと同じネットワーク直径および hello タイム値を使用してください。「ルート スイッチの設定」を参照してください。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst instance-id |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst instance-id root グローバル コンフィギュレーション コマンドを使用します。
ポート プライオリティの設定
ループが発生した場合、MSTP はポート プライオリティを使用して、フォワーディング ステートにするインターフェイスを選択します。最初に選択されるインターフェイスには高いプライオリティ値(小さい数値)を割り当て、最後に選択されるインターフェイスには低いプライオリティ値(高い数値)を割り当てることができます。すべてのインターフェイスに同じプライオリティ値が与えられている場合、MSTP はインターフェイス番号が最小のインターフェイスをフォワーディング ステートにし、他のインターフェイスをブロックします。
(注) Catalyst 3750-X スイッチがスイッチ スタックのメンバの場合は、spanning-tree mst [instance-id] port-priority priority インターフェイス コンフィギュレーション コマンドの代わりに、spanning-tree mst [instance-id] cost cost インターフェイス コンフィギュレーション コマンドを使用して、フォワーディング ステートにするポートを選択する必要があります。最初に選択させたいポートには、より小さいコスト値を割り当て、最後に選択させたいポートには、より大きいコスト値を割り当てることができます。詳細については、「パス コストの設定」を参照してください。
インターフェイスの MSTP ポート プライオリティを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 有効なインターフェイスには、物理ポートとポート チャネル論理インターフェイスがあります。ポート チャネル範囲は 1 ~ 48 です。 |
ステップ 3 |
spanning-tree mst instance-id port-priority priority |
ポート プライオリティを設定します。 • instance-id には、単一のインスタンス、ハイフンで区切られた範囲のインスタンス、またはカンマで区切られた一連のインスタンスを指定できます。指定できる範囲は 0 ~ 4094 です • priority に指定できる範囲は 0 ~ 240 で、16 ずつ増加します。デフォルトは 128 です。値が小さいほど、プライオリティが高くなります。 プライオリティ値は、0、16、32、48、64、80、96、112、128、144、160、176、192、208、224、および 240 です。その他すべての値は拒否されます。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show spanning-tree mst interface interface-id または show spanning-tree mst instance-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
(注) show spanning-tree mst interface interface-id 特権 EXEC コマンドによって表示されるのは、リンク アップ動作可能状態のポートの情報だけです。ポートがリンクアップ動作状態になっていない場合は、show running-config interface 特権 EXEC コマンドを使用して設定を確認できます。
インターフェイスをデフォルト設定に戻すには、 no spanning-tree mst instance-id port-priority インターフェイス コンフィギュレーション コマンドを使用します。
パス コストの設定
MSTP パス コストのデフォルト値は、インターフェイスのメディア速度に基づきます。ループが発生した場合、MSTP はコストを使用して、フォワーディング ステートにするインターフェイスを選択します。最初に選択させたいインターフェイスには小さいコスト値を与え、最後に選択させたいインターフェイスには大きいコスト値を与えます。すべてのインターフェイスに同じコスト値が与えられている場合、MSTP はインターフェイス番号が最小のインターフェイスをフォワーディング ステートにし、他のインターフェイスをブロックします。
インターフェイスの MSTP コストを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。有効なインターフェイスには、物理ポートとポート チャネル論理インターフェイスがあります。ポート チャネル範囲は 1 ~ 48 です。 |
ステップ 3 |
spanning-tree mst instance-id cost cost |
コストを設定します。 ループが発生した場合、MSTP はパス コストを使用して、フォワーディング ステートにするインターフェイスを選択します。低いパス コストは高速送信を表します。 • instance-id には、単一のインスタンス、ハイフンで区切られた範囲のインスタンス、またはカンマで区切られた一連のインスタンスを指定できます。指定できる範囲は 0 ~ 4094 です • cost の範囲は 1 ~ 200000000 です。デフォルト値はインターフェイスのメディア速度から派生します。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show spanning-tree mst interface interface-id または show spanning-tree mst instance-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
(注) show spanning-tree mst interface interface-id 特権 EXEC コマンドによって表示されるのは、リンク アップ動作可能状態のポートの情報だけです。ポートがリンクアップ動作状態になっていない場合は、show running-config 特権 EXEC コマンドを使用して設定を確認できます。
インターフェイスをデフォルト設定に戻すには、 no spanning-tree mst instance-id cost インターフェイス コンフィギュレーション コマンドを使用します。
スイッチのプライオリティの設定
スイッチ プライオリティを設定して、スタンドアロン スイッチまたはスタックにあるスイッチがルート スイッチとして選択される可能性を高めることができます。
(注) このコマンドの使用には注意してください。スイッチ プライオリティの変更には、通常は、spanning-tree vlan vlan-id root primary およびspanning-tree vlan vlan-id root secondary グローバル コンフィギュレーション コマンドを使用することを推奨します。
スイッチ プライオリティを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst instance-id priority priority |
スイッチ プライオリティを設定します。 • instance-id には、単一のインスタンス、ハイフンで区切られた範囲のインスタンス、またはカンマで区切られた一連のインスタンスを指定できます。指定できる範囲は 0 ~ 4094 です • priority の範囲は 0 ~ 61440 で、4096 ずつ増加します。デフォルトは 32768 です。数値が小さいほど、スイッチがルート スイッチとして選択される可能性が高くなります。 プライオリティ値は、0、4096、8192、12288、16384、20480、24576、28672、32768、36864、40960、45056、49152、53248、57344、61440 です。その他すべての値は拒否されます。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst instance-id |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst instance-id priority グローバル コンフィギュレーション コマンドを使用します。
hello タイムの設定
hello タイムを変更することによって、ルート スイッチによってコンフィギュレーション メッセージが生成される間隔を設定できます。
すべての MST インスタンスの hello タイムを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst hello-time seconds |
すべての MST インスタンスの hello タイムを設定します。hello タイムはルート スイッチがコンフィギュレーション メッセージを生成する間隔です。これらのメッセージは、スイッチがアクティブであることを意味します。 seconds に指定できる範囲は 1 ~ 10 です。デフォルト値は 2 です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst hello-time グローバル コンフィギュレーション コマンドを使用します。
転送遅延時間の設定
すべての MST インスタンスの転送遅延時間を設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst forward-time seconds |
すべての MST インスタンスの転送遅延時間を設定します。転送遅延時間は、スパニング ツリー ラーニング ステートおよびリスニング ステートからフォワーディング ステートに移行するまでに、ポートが待機する秒数です。 seconds に指定できる範囲は 4 ~ 30 です。デフォルト値は 15 です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst forward-time グローバル コンフィギュレーション コマンドを使用します。
最大経過時間の設定
すべての MST インスタンスの最大エージング タイムを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst max-age seconds |
すべての MST インスタンスの最大エージング タイムを設定します。最大エージング タイムは、再構成を試行するまでにスイッチがスパニング ツリー コンフィギュレーション メッセージを受信せずに待機する秒数です。 seconds に指定できる範囲は 6 ~ 40 です。デフォルトは 20 です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst max-age グローバル コンフィギュレーション コマンドを使用します。
最大ホップ カウントの設定
すべての MST インスタンスの最大ホップ カウントを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
spanning-tree mst max-hops hop-count |
BPDU が廃棄され、ポートに維持されていた情報が期限切れになるまでの、リージョン内でのホップ カウントを指定します。 hop-count に指定できる範囲は 1 ~ 255 です。デフォルト値は 20 です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst max-hops グローバル コンフィギュレーション コマンドを使用します。
リンク タイプの指定による高速移行の保証
2 つのポートをポイントツーポイント リンクで接続し、ローカル ポートが指定ポートになると、RSTP は提案/合意ハンドシェイクを使用して、相手側ポートと高速移行をネゴシエーションし、ループのないトポロジを保証します(「高速コンバージェンス」を参照)。
デフォルトでは、リンク タイプは、インターフェイスのデュプレックス モードによって制御されます。全二重ポートはポイントツーポイント接続と見なされ、半二重接続は共有接続と見なされます。MSTP が稼動しているリモート スイッチ上の 1 つのポートと物理的にポイントツーポイントで接続されている半二重リンクが存在する場合は、リンク タイプのデフォルト設定値を変更して、フォワーディング ステートへの高速移行をイネーブルにできます。
リンク タイプのデフォルト設定を変更するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。有効なインターフェイスには、物理ポート、VLAN、およびポート チャネル論理インターフェイスがあります。VLAN ID の範囲は 1 ~ 4094 です。ポート チャネル範囲は 1 ~ 48 です。 |
ステップ 3 |
spanning-tree link-type point-to-point |
ポートのリンク タイプをポイントツーポイントに指定します。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show spanning-tree mst interface interface-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ポートをデフォルト設定に戻すには、 no spanning-tree link-type インターフェイス コンフィギュレーション コマンドを使用します。
ネイバー タイプの指定
トポロジには、先行標準に準拠したデバイスと IEEE 802.1s 標準準拠のデバイスの両方を加えることができます。デフォルトでは、ポートは自動的に先行標準のデバイスを検出します。ただし、ポート自体は、標準と先行標準の BPDU を両方受信できます。デバイスとネイバーの間に不一致があれば、CIST のみがインターフェイス上で動作します。
ポートを選択して、先行標準の BPDU のみ送信するように設定できます。先行標準のフラグは、ポートが STP 互換モードにある場合でも、すべての show コマンドで表示されます。
リンク タイプのデフォルト設定を変更するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。有効なインターフェイスには、物理ポートが含まれます。 |
ステップ 3 |
spanning-tree mst pre-standard |
先行標準の BPDU のみ送信するようにポートを指定します。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show spanning-tree mst interface interface-id |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ポートをデフォルト設定に戻すには、 no spanning-tree mst prestandard インターフェイス コンフィギュレーション コマンドを使用します。
プロトコル移行プロセスの再起動
MSTP が稼動しているスイッチは、IEEE 802.1D 準拠のレガシー スイッチとの相互運用を可能にする組み込み型のプロトコル移行メカニズムをサポートします。このスイッチは、レガシー IEEE 802.1D コンフィギュレーション BPDU(プロトコルバージョンが 0 に設定されている BPDU)を受信すると、そのポート上では IEEE 802.1D BPDU のみを送信します。また、MSTP スイッチは、レガシー BPDU、別のリージョンに関連付けられている MST BPDU(バージョン 3)、または RST BPDU(バージョン 2)を受信することによって、ポートがリージョンの境界に位置していることを検出できます。
ただし、レガシー スイッチが指定スイッチでない場合、レガシー スイッチがリンクから削除されているかどうか検出できないので、スイッチは IEEE 802.1D BPDU を受け取らなくなった場合でも、自動的に MSTP モードには戻りません。さらにスイッチは、接続先スイッチがリージョンに加入した場合であっても、ポートに対して引き続き、境界の役割を割り当てる可能性もあります。
スイッチでプロトコル移行プロセスを再起動する(ネイバー スイッチとの再ネゴシエーションを強制する)には、 clear spanning-tree detected-protocols 特権 EXEC コマンドを使用します。
特定のインターフェイスでプロトコル移行プロセスを再開するには、 clear spanning-tree detected-protocols interface interface-id 特権 EXEC コマンドを使用します。