MSTP の設定
この章では、Catalyst 3750スイッチに IEEE 802.1s Multiple STP(MSTP)のシスコ実装を設定する方法について説明します。
(注) Cisco IOS Release 12.2(25)SEC における Multiple Spanning-Tree(MST)実装は、IEEE 802.1s 標準に基づいています。Cisco IOS Release 12.2(25)SEC 以前のリリースにおける MST 実装は先行標準となっています。
MSTP を使用すると、複数の VLAN(仮想 LAN)を同じスパニングツリー インスタンスに対応付け、多数の VLAN をサポートするために必要なスパニングツリー インスタンス数を削減できます。MSTP は、データ トラフィック用の複数のフォワーディング パスに対応し、ロードバランシングをイネーブルにします。MSTP を使用すると、1 つのインスタンス(転送パス)で障害が発生しても他のインスタンス(転送パス)は影響を受けないので、ネットワークのフォールト トレランスが向上します。MSTP の最も一般的な初期配備は、レイヤ 2 スイッチド ネットワークのバックボーンとディストリビューション レイヤへの配備です。この配備により、サービス プロバイダー環境で必要とされる可用性の高いネットワークが提供されます。
スイッチが MST モードの場合、IEEE 802.1w に基づく Rapid Spanning-Tree Protocol(RSTP)は自動的にイネーブルになります。RSTP は、明示的なハンドシェイクによってスパニングツリーの高速コンバージェンスを提供します。これによって、IEEE 802.1D 転送遅延をなくし、ルート ポートと指定ポートを迅速にフォワーディング ステートへ移行します。
MSTP と RSTP はどちらも、スパニングツリーのオペレーションを改善し、(オリジナルの)IEEE 802.1D スパニングツリー、既存のシスコ独自の Multiple Instance STP(MISTP)、および既存の Cisco Per-VLAN Spanning-Tree Plus(PVST+)と Rapid Per-VLAN Spanning-Tree Plus(Rapid PVST+)に基づく装置との下位互換性を維持します。PVST+ および Rapid PVST+ の詳細については、 第 18 章「STP の設定」 を参照してください。また、PortFast、UplinkFast、ルート ガードなどのその他のスパニングツリー機能の詳細については、 第 20 章「オプションのスパニングツリー機能の設定」 を参照してください。
スイッチ スタックは、ネットワークの他の部分からは単一のスパニングツリー ノードとみなされ、すべてのスタック メンバーが同じスイッチ 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 リージョンといいます(MST リージョン、CIST マスター、および CST ルートを参照)。
各スイッチがどの MST リージョンに属しているかは、MST コンフィギュレーションによって決まります。MST コンフィギュレーションには、リージョン名、リビジョン番号、および MST VLAN とインスタンスの割り当てマップが保存されています。スイッチにリージョンを設定するには、そのスイッチで spanning-tree mst configuration グローバル コンフィギュレーション コマンドを使用して、MST コンフィギュレーション モードを開始します。このモードでは、 instance MST コンフィギュレーション コマンドを使用して VLAN を MST インスタンスにマッピングし、 name MST コンフィギュレーション コマンドでリージョン名を指定し、 revisions 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 を送受信する唯一のスパニングツリー インスタンスです。その他すべてのスパニングツリー インスタンス情報は M レコードに含まれており、MSTP BPDU 内でカプセル化されます。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 の集合です。Common Spanning-Tree(CST)は MST リージョンとシングル スパニングツリーを相互接続します。
1 つのリージョン内で計算されたスパニングツリーは、スイッチド ドメイン全体を網羅する CST のサブツリーとみなされます。CIST は、IEEE 802.1w 標準、IEEE 802.1s 標準、IEEE 802.1D 標準をサポートするスイッチ間で実行されるスパニングツリー アルゴリズムによって形成されます。MST リージョン内の CIST は、リージョン外の CST と同じです。
詳細については、「MST リージョン内の動作」および「MST リージョン間の動作」を参照してください。
(注) IEEE 802.1s 標準を実装すると、MST 実装に関連する一部の用語が変わります。この変更内容の概要については、表18-1を参照してください。
MST リージョン内の動作
IST は 1 つのリージョン内のすべての MSTP スイッチを接続します。IST が収束すると、IST のルートは、図19-1のように、CIST リージョナル ルート(IEEE 802.1s 標準が実装される以前は IST マスター )になります。CIST リージョナル ルートは、リージョン内のスイッチのうち、スイッチ ID、および CIST ルートへのパス コストが最も低いリージョン内のスイッチです。ネットワークにリージョンが 1 つしかない場合、CIST リージョナル ルートは CIST ルートにもなります。CIST ルートがリージョンの外部にある場合、リージョンの境界に位置する MSTP スイッチの 1 つが CIST リージョナル ルートとして選択されます。
MSTP スイッチは初期化時に、自身が CIST のルートおよび CIST リージョナル ルートであると宣言するため、CIST ルートと CIST リージョナル ルートへのパス コストがいずれもゼロに設定された BPDU を送信します。スイッチはさらに MST インスタンスをすべて初期化し、自身がこれらすべてのインスタンスのルートであると宣言します。スイッチは、ポートに現在保存されているルート情報よりも優位のルート情報(小さいスイッチ ID、パス コストなど)を受信すると、CIST リージョナル ルートではなくなります。
初期化中、独自の CIST リージョナル ルートを有するサブリージョンがリージョンに多数、形成されることがあります。スイッチは優位の IST 情報を受信するため、旧サブリージョンから脱退して、真の CIST リージョナル ルートを含む新たなサブリージョンに参加します。このようにして、真の CIST リージョナル ルートが含まれているサブリージョン以外のサブリージョンはすべて縮小します。
正常な動作のためには、MST リージョン内のすべてのスイッチが同じ CIST リージョナル ルートを承認する必要があります。したがって、そのリージョン内にある任意の 2 つのスイッチが、1 つの MST インスタンスに対するポートの役割を同期させるのは、共通の CIST リージョナル ルートに収束する場合だけです。
MST リージョン間の動作
ネットワーク内に複数のリージョンまたは IEEE 802.1D 準拠のレガシー スイッチが混在している場合、MSTP は、ネットワーク内のすべての MST リージョンとすべてのレガシー STP スイッチからなる CST を構築し、維持します。MST インスタンスは、リージョンの境界で IST と結合して CST になります。
リージョン内のすべての MSTP スイッチは IST によって接続され、IST は CIST でスイッチド ドメイン全体を囲むサブツリーとして表示されます。サブツリーのルートは CIST リージョナル ルートです。MST リージョンは、隣接する STP スイッチや MST リージョンからは仮想スイッチとして認識されます。
図19-1は、3 つの MST リージョンと IEEE 802.1D 準拠のレガシー スイッチ(D)からなるネットワークを示しています。リージョン 1(A)の CIST リージョナル ルートは CIST ルートも兼ねています。リージョン 2(B)およびリージョン 3(C)の CIST リージョナル ルートは、CIST 内にあるそれぞれのサブツリーのルートです。RSTP はすべてのリージョンで稼働しています。
図19-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 外部ルート パス コストは、CIST ルートのコストです。このコストは、MST リージョン内では変化しません。MST リージョンが CIST にとって単一のスイッチに見えることに注意してください。CIST 外部ルート パス コストは、このような仮想スイッチ、およびリージョンに属さないスイッチの間で計算されるルート パス コストです。
• CIST リージョナル ルートは、先行標準実装では IST マスターと呼ばれていました。CIST ルートがリージョン内にある場合は、その CIST リージョナル ルートが CIST ルートになります。それ以外の場合は、リージョン内で CIST ルートに最も近いスイッチが CIST リージョナル ルートになります。CIST リージョナル ルートは、IST のルート スイッチとして動作します。
• CIST 内部ルート パス コストは、リージョン内の CIST リージョナル ルートのコストです。このコストは、IST(インスタンス 0)のみに関連します。
表19-1では、IEEE 標準の用語とシスコ先行標準の用語を比較します。
表19-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 部分に格納されているメッセージ有効期間と最大エージング タイムの情報は、リージョン全体で同じままであり、そのリージョンの境界に位置する指定ポートによって同じ値が伝播されます。
境界ポート
シスコ先行標準実装の場合、MST リージョンは境界ポートによって、RSTP を稼働するシングル スパニングツリー リージョン、PVST+ または Rapid PVST+ を稼働するシングル スパニングツリー リージョン、または異なる MST コンフィギュレーションを持つ別の MST リージョンに接続されます。また境界ポートは LAN に接続されます。LAN の指定スイッチは、単一のスパニングツリー スイッチまたは異なる MST コンフィギュレーションを持つスイッチのいずれかです。
IEEE 802.1s 標準には、境界ポートの定義がありません。IEEE 802.1Q-2002 標準では、内部(同一リージョン)および外部という 2 種類のメッセージが識別され、ポートによって受信されます。メッセージが外部である場合は、CIST のみが受信します。CIST の役割がルートまたは代替ルートである場合、または外部 BPDU がトポロジー変更である場合、MST インスタンスに影響が及ぶことがあります。メッセージが内部である場合は、CIST が CIST 部分を受信し、それぞれの MST インスタンスがそれぞれの M レコードを受信します。シスコ先行標準実装では、外部メッセージを受信するポートが境界ポートとして扱われます。そのため、ポートが内部メッセージと外部メッセージの両方を受信することはありません。
MST リージョンには、スイッチと LAN の両方が含まれます。セグメントは指定ポートのリージョンに属します。このため、セグメントの指定ポートと異なるリージョンのポートは境界ポートとなります。この定義では、リージョン内部の 2 つのポートが、異なるリージョンに属すポートとセグメントを共有し、内部メッセージと外部メッセージの両方をポートで受信できる可能性があります。
シスコ先行標準実装からの主な変更点は、指定ポートが、STP 互換モードで動作していないかぎり、境界ポートとして定義されないことです。
(注) レガシー STP スイッチがセグメントに存在する場合、メッセージは常に外部とみなされます。
先行標準実装からのその他の変更として、RSTP またはレガシー IEEE 802.1Q スイッチに送信者スイッチ ID が含まれる場所へ 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 ポートの状態と役割に従います。標準では少ない情報しか提供しないため、BPDU(M レコード)を受信しなくても MSTI ポートを交互にブロックできる理由を理解するのが困難な場合があります。このケースの場合、境界の役割は存在しませんが、 show コマンドの出力の type 列が、ポートを境界として識別します。
レガシー スイッチと標準スイッチの相互運用
先行標準スイッチの自動検出はエラーになることがありますが、インターフェイス コンフィギュレーション コマンドを使用すると、先行標準ポートを識別することができます。標準スイッチと先行標準スイッチの間ではリージョンを形成できませんが、CIST を使用することで標準スイッチと先行標準スイッチを相互運用できます。この特定のケースでは、さまざまなインスタンスにおける負荷分散機能のみが失われます。ポートが先行標準 BPDU を受信すると、CLI ではポート設定によってさまざまなフラグが表示されます。先行標準 BPDU 伝送用に設定されていないポートでスイッチが先行標準 BPDU を初めて受信したときには、Syslog メッセージも表示されます。
図19-2ではこのシナリオの内容を図で表しています。A が標準スイッチ、B が先行標準スイッチであり、両方が同一リージョン内で設定されているとします。A が CIST のルート スイッチであり、B はセグメント X にルート ポート(BX)およびセグメント Y に代替ポート(BY)を含んでいます。セグメント Y がフラップし、BY のポートが 1 つの先行標準 BPDU の送信前に代替ポートになる場合、先行標準スイッチが Y に接続されていることを AY は検出できず、標準 BPDU を送信し続けます。ポート BY はこのため境界に固定され、A と B の間では負荷分散が不可能になります。同じ問題はセグメント X に存在しますが、B はトポロジー変更を伝送することがあります。
図19-2 標準スイッチと先行標準スイッチの相互運用
(注) 標準と先行標準の MST 実装の間では、相互運用を最低限に抑えてください。
単一方向リンク障害の検出
IEEE MST 標準にはこの機能はありませんが、この Cisco IOS リリースには組み込まれています。ソフトウェアでは、受信 BPDU のポートの役割と状態が一貫しているかどうかがチェックされ、ブリッジング ループの原因となり得る単一方向リンク障害が検出されます。
指定ポートが矛盾を検出すると、その役割は維持されますが、接続に矛盾が生じた場合、ブリッジング ループを開始するよりも、接続を中断した方が好ましいので、廃棄ステートに戻します。
図19-3は、ブリッジング ループの原因となりやすい、単一方向リンク障害を表しています。スイッチ A はルート スイッチであり、BPDU はスイッチ B へのリンクで失われました。RSTP と MST BPDU には、送信ポートの役割と状態が含まれています。スイッチ A はこの情報を使用して、送信した優位 BPDU にスイッチ B が反応しないこと、およびスイッチ B がルート スイッチではなく、指定スイッチであることを検出できます。その結果、スイッチ A はポートをブロックするので(またはブロックし続けるので)、ブリッジング ループが回避されます。
図19-3 単一方向リンク障害の検出
MSTP とスイッチ スタック
スイッチ スタックはネットワークの他の部分からは単一のスパニングツリー ノードとみなされるため、すべてのスタック メンバーが指定のスパニングツリーに対して同じスイッチ ID を使用します。スイッチ ID は、スタック マスターの MAC アドレスを基にして作成されます。
MSTP をサポートしないスイッチが MSTP をサポートするスイッチ スタックに追加された場合、またはその逆の場合、スイッチはバージョン不一致ステートになります。可能な場合は、スイッチは自動的にスイッチ スタックで稼働しているソフトウェアと同じバージョンにアップグレードまたはダウングレードされます。
新たなスイッチがスタックに加入すると、そのスイッチ ID はスタック マスターのスイッチ ID に設定されます。新たに追加されたスイッチが最小の ID を持ち、すべてのスタック メンバーのルート パス コストが同一の場合は、新たに追加されたスイッチがスタック ルートになります。新たに追加されたスイッチが、スイッチ スタックに対してより適したルート ポート、またはスタックに接続する LAN に対してより適した指定ポートを持つ場合は、トポロジーが変更されます。新たに追加されたスイッチに接続する別のスイッチが自分のルート ポートまたは指定ポートを変更した場合は、新たに追加されたスイッチによって、ネットワーク内のトポロジー変更が引き起こされます。
スタック メンバーがスタックを脱退すると、スタック内(スタック外部も含まれる場合がある)でスパニングツリーの再コンバージェンスが実行されます。残りのスタック メンバーのうち最小のスタック ポート ID を持つものがスタック ルートになります。
スタック マスターに障害が生じたり、それがスタックから脱退したりした場合は、スタック メンバーの中から新たなスタック マスターが選択され、すべてのスタック メンバーが自分のスパニングツリー スイッチ ID を新たなマスターのスイッチ ID に変更します。
スイッチ スタックの詳細については、 第 5 章「スイッチ スタックの管理」 を参照してください。
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 のブロッキング ステートと同じ)になることを保証します。フォワーディング プロセスおよびラーニング プロセスの動作はポート ステートによって制御されます。 表19-2 に、IEEE 802.1D と RSTP のポート ステートの比較を示します。
表19-2 ポート ステートの比較
|
STP ポート ステート(IEEE 802.1D)
|
|
|
イネーブル |
ブロッキング |
廃棄 |
含まれない |
イネーブル |
リスニング |
廃棄 |
含まれない |
イネーブル |
ラーニング |
ラーニング |
含まれる |
イネーブル |
フォワーディング |
フォワーディング |
含まれる |
ディセーブル |
ディセーブル |
廃棄 |
含まれない |
シスコの STP 実装製品で整合性を図るため、このマニュアルでは、ポートの 廃棄 ステートを ブロッキング と定義します。指定ポートは、リスニング ステートから開始します。
高速コンバージェンス
RSTP を使用すると、スイッチ、スイッチ ポート、または LAN に障害が発生しても、ただちに接続を回復できます。RSTP は、エッジ ポート、新しいルート ポート、およびポイントツーポイント リンクで接続されているポートに次のように高速コンバージェンスを提供します。
• エッジ ポート ― spanning-tree portfast インターフェイス コンフィギュレーション コマンドを使用して、RSTP スイッチ上の 1 つのポートをエッジ ポートに設定すると、そのエッジ ポートは即座にフォワーディング ステートになります。エッジ ポートは PortFast イネーブル設定ポートと同じで、これをイネーブルにできるのは、単一のエンド ステーションに接続されているポート上だけです。
• ルート ポート ― RSTP は、新しいルート ポートを選択すると、古いルート ポートをブロックして、新しいルート ポートをただちにフォワーディング ステートにします。
• ポイントツーポイント リンク ― 2 つのポートをポイントツーポイント リンクで接続し、ローカル ポートが指定ポートになると、その指定ポートは、提案合意ハンドシェイクを使用して、相手側ポートと高速移行をネゴシエーションし、ループのないトポロジーを保証します。
図19-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 インターフェイス コンフィギュレーション コマンドを使用すると、デュプレックス設定で制御されたデフォルトの設定値を上書きできます。
図19-4 高速コンバージェンスの提案/合意ハンドシェイク
ポートの役割の同期化
スイッチのポートの 1 つで提案メッセージが受信され、そのポートが新しいルート ポートに選択されると、RSTP は他のすべてのポートを新しいルートの情報に同期させます。
他のすべてのポートが同期化されている場合、スイッチはルート ポートで受信した上位のルート情報に同期化されます。スイッチ上の個々のポートは次の場合に同期化されます。
• ブロッキング ステートである場合
• エッジ ポートである場合(ネットワークのエッジとして設定されているポート)
指定ポートがフォワーディング ステートであり、かつエッジ ポートとして設定されていない場合、RSTP によって新しいルート情報で強制的に同期化されると、その指定ポートはブロッキング ステートになります。一般的に、RSTP がポートを新しいルート情報で強制的に同期化し、そのポートが上記のいずれの条件も満たしていない場合、ポートのステートはブロッキングに設定されます。
スイッチは、すべてのポートが同期化されたことを確認すると、そのルート ポートに対応する指定スイッチに合意メッセージを送信します。ポイントツーポイント リンクで接続されたスイッチがポートの役割について互いに合意すると、RSTP はポート ステートをただちにフォワーディング ステートに移行させます。図19-5は、この一連のイベントを示します。
図19-5 高速コンバージェンス中のイベント シーケンス
BPDU のフォーマットおよびプロセス
RSTP BPDU のフォーマットは、プロトコル バージョンが 2 に設定されている点を除き、IEEE 802.1D BPDU のフォーマットと同じです。新しい 1 バイトのバージョン 1 の Length フィールドは 0 に設定されます。これはバージョン 1 のプロトコルの情報がないことを示しています。 表19-3 に、RSTP のフラグ フィールドを示します。
表19-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 時間タイマーを開始し、これらのポート上で学習した情報をフラッシュします。
• プロトコルの移行 ― 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 のデフォルト設定
表19-4 に、MSTP のデフォルト設定を示します。
表19-4 MSTP のデフォルト設定
|
|
スパニングツリー モード |
PVST+(Rapid PVST+ と MSTP はディセーブル) |
スイッチ プライオリティ(CIST ポート単位で設定可能) |
32768 |
スパニングツリー ポート プライオリティ(CIST ポート単位で設定可能) |
128 |
スパニングツリー ポート コスト(CIST ポート単位で設定可能) |
1000 Mbps: 4 100 Mbps: 19 10 Mbps: 100 |
hello タイム |
2秒 |
転送遅延時間 |
15秒 |
最大エージング タイム |
20秒 |
最大ホップ カウント |
20 ホップ |
サポートされるスパニングツリー インスタンス数の詳細については、「スパニングツリー インスタンスのサポート」を参照してください。
MSTP 設定時の注意事項
ここでは、MSTP の設定時の注意事項を説明します。
• spanning-tree mode mst グローバル コンフィギュレーション コマンドを使用して、MST をイネーブルにすると、RSTP が自動的にイネーブルになります。
• 2 つ以上のスタック スイッチを同じ MST リージョンに設置するには、それらのスイッチに同じ VLAN/インスタンス マッピング、同じコンフィギュレーション リビジョン番号、同じ名前を設定しなければなりません。
• スイッチ スタックは最大 65 の MST インスタンスをサポートします。特定の MST インスタンスに対応付け可能な VLAN 数は、無制限です。
• PVST+、Rapid PVST+、MSTP がサポートされますが、アクティブにできるバージョンは一度に 1 つだけです(たとえば、すべての VLAN が PVST+ を稼働する、すべての VLAN が Rapid PVST+ を稼働する、またはすべての VLAN が MSTP を稼働する)。詳細については、「スパニングツリーのインターオペラビリティと下位互換性」を参照してください。推奨するトランク ポート設定の詳細については、「他の機能との相互作用」を参照してください。
• すべてのスタック メンバーが同じバージョンのスパニングツリーを稼働します(すべて
PVST+、Rapid PVST+、または MSTP)。詳細については、「スパニングツリーのインターオペラビリティと下位互換性」を参照してください。
• MST コンフィギュレーションの VTP 伝播機能はサポートされません。ただし、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 リージョンの設定の指定および 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 です。 VLAN を MST インスタンスにマッピングする場合、そのマッピングはインクリメンタルです。コマンドに指定した 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 が対応付けられています。VLAN グループの場合は、最小のスイッチ ID を持つスイッチがルート スイッチになります。
あるスイッチがルート スイッチになるように設定するには、 spanning-tree mst instance-id root グローバル コンフィギュレーション コマンドを使用して、スイッチ プライオリティをデフォルト値(32768)からきわめて小さいプライオリティ値に変更します。これにより、そのスイッチが指定されたスパニングツリー インスタンスのルート スイッチになることができます。このコマンドを入力すると、スイッチは、ルート スイッチのスイッチ プライオリティをチェックします。拡張システム ID をサポートするため、スイッチは、指定インスタンスの固有のプライオリティを 24576 に設定します(この値によって、このスイッチが指定されたスパニングツリー インスタンスのルート スイッチになる場合)。
指定されたインスタンスのいずれかのルート スイッチに 24576 より小さいスイッチ プライオリティ値が設定されている場合、スイッチは指定された VLAN に対する自身のプライオリティを、最小のスイッチ プライオリティより 4096 だけ小さい値に設定します( スイッチ プライオリティ値および拡張システム IDに示すように、4096 は、4 ビット スイッチ プライオリティ値の最下位ビットの値です)。
(注) Cisco IOS Release 12.1(14)EA1 より前のソフトウェア リリースを稼働しているCatalyst 3750スイッチは、MSTP をサポートしません。
拡張システム ID をサポートしないスイッチとサポートするスイッチの両方がネットワークに混在している場合は、拡張システム ID をサポートするスイッチがルート スイッチになることはありません。拡張システム ID は、旧ソフトウェア実装の接続スイッチのプライオリティより VLAN 番号が大きくなるたびに、スイッチ プライオリティ値を増やします。
各スパニングツリー インスタンスのルート スイッチは、バックボーンまたはディストリビューション スイッチでなければなりません。アクセス スイッチをスパニングツリー プライマリ ルートとして設定しないでください。
レイヤ 2 ネットワークの直径(つまり、レイヤ 2 ネットワーク上の任意の 2 つのエンド ステーション間の最大スイッチ ホップ数)を指定するには、 diameter キーワードを指定します。ネットワークの直径を指定すると、スイッチはその直径を持つネットワークに最適な hello タイム、転送遅延時間、および最大エージング タイムを自動的に設定します。その結果、STP のコンバージェンスに要する時間が大幅に短縮されます。 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 はポート プライオリティを使用して、フォワーディング ステートにするインターフェイスを選択します。STP に最初に選択させたいインターフェイスには高いプライオリティ値(小さい数値)を、最後に選択させたいインターフェイスには低いプライオリティ値(大きい数値)を割り当てることができます。すべてのインターフェイスが同じプライオリティ値を使用している場合、MSTP はインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにして、残りのインターフェイスをブロックします。
(注) スイッチがスイッチ スタックのメンバーの場合は、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 には、16 ずつ増分される 0 ~ 240 の値を指定できます。デフォルトは 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 はコストを使用して、フォワーディング ステートにするインターフェイスを選択します。STP に最初に選択させたいインターフェイスには小さいコスト値を、最後に選択させたいインターフェイスには大きいコスト値を割り当てることができます。すべてのインターフェイスが同じコスト値を使用している場合、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 と先行標準 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 コマンドを使用します。