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 スイッチド ネットワークのバックボーンおよびディストリビューション レイヤへの配置です。この配置方法によって、サービス プロバイダー環境に求められる高可用性ネットワークを実現できます。
スイッチが 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 リージョンといいます(図 20-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 の数字で識別されます。1 つの VLAN を同時に複数のスパニングツリー インスタンスに割り当てることはできません。
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 実装関連の用語が変更されます。これらの変更の要約については、表 19-1を参照してください。
MST リージョン内の動作
IST は 1 つのリージョン内のすべての MSTP スイッチを接続します。IST が収束すると、IST のルートは、図 20-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 リージョンからは仮想スイッチとして認識されます。
図 20-1 は、3 つの MST リージョンと IEEE 802.1D 準拠のレガシー スイッチ(D)からなるネットワークを示しています。リージョン 1(A)の CIST リージョナル ルートは、CIST のルートでもあります。リージョン 2 の CIST リージョナル ルート(B)およびリージョン 3 の CIST リージョナル ルート(C)は、CIST 内にあるそれぞれのサブツリーのルートです。RSTP はすべてのリージョンで稼動しています。
図 20-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)だけに関係します。
表 20-1に、IEEE 標準とシスコの先行標準の用語の比較を示します。
表 20-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 を受信すると、Command-Line Interface(CLI; コマンドライン インターフェイス)にはポートの設定に応じて異なるフラッグが表示されます。また、スイッチが、先行標準の BPDU 転送の設定がされてないポートで先行標準の BPDU を初めて受信すると、Syslog メッセージにも表示されます。
図 20-2 に例を示します。A を標準スイッチ、B を先行標準のスイッチと仮定してください。両方とも同じリージョンに設定されています。A が CIST のルート スイッチのため、B にセグメント X のルート ポート(BX)とセグメント Y の代替ポート(BY)があります。セグメント Y がフラップして、先行標準の BPDU を送信する前に BY のポートが代替ポートになった場合、AY は Y に接続している先行標準のスイッチを検出できないため、標準の BPDU を送信し続けます。また、BY ポートは境界で固定されるため、AB 間でのロード バランシングができなくなります。同一の問題はセグメント X でも発生しますが、B はトポロジの変更を転送できます。
図 20-2 標準スイッチおよび先行標準のスイッチでの相互運用
(注) 標準と先行標準の MST 実装の間での干渉を少なくすることを推奨します。
単一方向リンクの失敗の検出
IEEE MST 標準にはこの機能が存在していませんが、Cisco IOS Release には加えられています。ソフトウェアを使用することで、受信した BPDU からポートの役割とステートの一貫性を確認し、単一方向リンクが失敗してブリッジ処理のループを引き起こしていないかどうかを検証できます。
指定ポートで矛盾が検出された場合、役割には従いますが、ブリッジ処理のループを引き起こすよりは、矛盾による接続中断のほうが望ましい状態のため、廃棄ステートへ戻ります。
図 20-3 に、ブリッジ処理のループを引き起こす一般的な単一方向リンクの失敗例を示します。スイッチ A はルート スイッチです。スイッチ B へ向かうリンク上で、BPDU が紛失しています。RSTP と MST BPDU には、送信ポートの役割とステートが含まれています。この情報があれば、スイッチ A は、送信した優位 BPDU にスイッチ B が反応しないこと、さらにスイッチ B はルート スイッチではなく指定スイッチであることを検出できます。結果として、スイッチ A は自身のポートをブロックし(またはブロックを維持して)、ブリッジ処理のループを回避します。
図 20-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 のブロッキング ステートと同じ)になるように保証します。フォワーディング プロセスおよびラーニング プロセスの動作はポート ステートによって制御されます。 表 20-2 に、IEEE 802.1D と RSTP のポート ステートの比較を示します。
表 20-2 ポート ステートの比較
|
STP ポート ステート(IEEE 802.1D)
|
|
|
イネーブル |
ブロッキング |
廃棄 |
なし |
イネーブル |
リスニング |
廃棄 |
なし |
イネーブル |
ラーニング |
ラーニング |
あり |
イネーブル |
フォワーディング |
フォワーディング |
あり |
ディセーブル |
ディセーブル |
廃棄 |
なし |
シスコの STP 実装製品内で整合性を図るため、このマニュアルでは、ポートの 廃棄 ステートを ブロッキング と定義しています。指定ポートは、リスニング ステートから開始します。
高速コンバージェンス
RSTP を使用すると、スイッチ、スイッチ ポート、または LAN に障害が発生しても、ただちに接続を回復できます。RSTP は、エッジ ポート、新しいルート ポート、およびポイントツーポイント リンクで接続されているポートに次のような高速コンバージェンスを提供します。
• エッジ ポート: spanning-tree portfast インターフェイス コンフィギュレーション コマンドを使用して、RSTP スイッチ上の 1 つのポートをエッジ ポートに設定すると、そのエッジ ポートはただちにフォワーディング ステートになります。エッジ ポートは PortFast 対応ポートと同じで、これをイネーブルにできるのは、単一のエンド ステーションに接続されているポート上だけです。
• ルート ポート:RSTP は、新しいルート ポートを選択すると、古いルート ポートをブロックして、新しいルート ポートをただちにフォワーディング ステートにします。
• ポイントツーポイント リンク:2 つのポートをポイントツーポイント リンクで接続し、ローカル ポートが指定ポートになると、その指定ポートは、提案/合意ハンドシェイクを使用して、相手側ポートと高速移行をネゴシエーションし、ループのないトポロジを保証します。
図 20-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 インターフェイス コンフィギュレーション コマンドを使用すると、デュプレックス設定で制御されたデフォルトの設定値を上書きできます。
図 20-4 高速コンバージェンスの提案/合意ハンドシェイク
ポートの役割の同期化
スイッチのポートの 1 つで提案メッセージが受信され、そのポートが新しいルート ポートに選択されると、RSTP は他のすべてのポートを新しいルートの情報に同期させます。
他のすべてのポートが同期化されると、スイッチはルート ポートで受信した優位のルート情報に同期化されます。スイッチ上の個々のポートは次の場合に同期化された状態となります。
• ブロッキング ステートである場合
• エッジ ポートである場合(ネットワークのエッジとして設定されているポート)
指定ポートがフォワーディング ステートであり、なおかつエッジ ポートとして設定されていない場合、RSTP によって新しいルート情報で強制的に同期化されると、その指定ポートはブロッキング ステートになります。一般的に、RSTP がポートを新しいルート情報で強制的に同期化する場合に、そのポートが上記のいずれの条件も満たしていない場合、ポートのステートはブロッキングに設定されます。
スイッチは、すべてのポートが同期化されたことを確認すると、そのルート ポートに対応する指定スイッチに合意メッセージを送信します。ポイントツーポイント リンクで接続されたスイッチがポートの役割について互いに合意すると、RSTP はポート ステートをただちにフォワーディング ステートに移行させます。図 20-5 は、この一連のイベントを示します。
図 20-5 高速コンバージェンス中の一連のイベント
BPDU のフォーマットおよびプロセス
RSTP BPDU のフォーマットは、プロトコル バージョンが 2 に設定されている点を除き、IEEE 802.1D BPDU のフォーマットと同じです。新しい 1 バイトのバージョン 1 の Length フィールドは 0 に設定されます。これはバージョン 1 のプロトコルの情報がないことを示しています。 表 20-3 に、RSTP のフラグ フィールドを示します。
表 20-3 RSTP BPDU フラグ
|
|
0 |
トポロジの変更(TC) |
1 |
提案 |
2-3: 00 01 10 11 |
ポートの役割: 不明 代替ポート ルート ポート 指定ポート |
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 のデフォルト設定
表 20-4 に、MSTP のデフォルト設定を示します。
表 20-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+、rapid-PVST+、または MSTP)。詳細については、「スパニングツリーの相互運用性と下位互換性」を参照してください。
• MST コンフィギュレーションの VLAN Trunking Protocol(VTP; VLAN トランキング プロトコル)伝播機能はサポートされません。ただし、CLI または Simple Network Management Protocol(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 リージョンに設定するには、そのスイッチに同じ VLAN/インスタンス マッピング、同じコンフィギュレーション リビジョン番号、同じ名前を設定しなければなりません。
リージョンは、同じ MST コンフィギュレーションを持つ 1 つまたは複数のメンバーで構成されます。リージョンの各メンバーは RSTP BPDU を処理する機能を備えている必要があります。ネットワーク内の MST リージョンの数には制限はありませんが、各リージョンがサポートできるスパニングツリー インスタンスの数は 65 までです。1 つの VLAN を同時に複数のスパニングツリー インスタンスに割り当てることはできません。
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 コンフィギュレーション モードの例を示します。まず、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 だけ小さい値に設定します(表 19-1 に示すように、4096 は 4 ビットのスイッチ プライオリティ値の最下位ビットの値です)。
ネットワーク上に拡張システム 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 mst instance-id root primary および spanning-tree mst instance-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 コマンドを使用します。