MSTP の概要
MSTP は高速コンバージェンス用に RSTP を使用し、複数の VLAN を 1 つのスパニング ツリー インスタンスにグループ化します。各インスタンスには、他のスパニング ツリーに依存しないスパニング ツリー トポロジがあります。このアーキテクチャにより、データ トラフィック用に複数の転送パスが提供され、ロード バランシングが使用可能になり、多数の VLAN のサポートに必要なスパニング ツリー インスタンスの数が減少します。
ここでは、MSTP の機能について説明します。
• 「多重スパニング ツリー領域」
• 「IST、CIST、およびCST」
• 「ホップ カウント」
• 「境界ポート」
• 「IEEE 802.1s の実装」
• 「IEEE 802.1D STP との相互運用性」
設定の詳細については、「MSTP 機能の設定」を参照してください。
多重スパニング ツリー領域
スイッチが多重スパニング ツリー(MST)のインスタンスに参加するには、常に同じ MST 設定情報を使用してスイッチを設定する必要があります。同じ MST 設定を持つ相互接続されたスイッチの集合体が MST 領域を構成します(図 22-1 を参照)。
MST 設定は、各スイッチが属する MST 領域を制御します。この設定には、領域名、リビジョン番号、MST VLAN/インスタンス間の割り当てマップが含まれています。領域にスイッチを設定するには、 spanning-tree mst configuration グローバル コンフィギュレーション コマンドを使用します。その後、スイッチが MST コンフィギュレーション モードを開始します。このモードで、 instance MST コンフィギュレーション コマンドを使用して複数の VLAN を 1 つの MST インスタンスにマップし、 name MST コンフィギュレーション コマンドを使用して領域名を指定し、 revision MST コンフィギュレーション コマンドを使用してリビジョン番号を設定します。
領域は、同じ MST 設定を使用して 1 つまたは複数のメンバーを持つことができます。各メンバーは、RSTP Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)を処理する機能を持つ必要があります。ネットワーク内の MST 領域数には制限がありませんが、各領域は最大で 65 のスパニング ツリー インスタンスをサポートできます。インスタンスは、0 ~ 4094 の範囲で任意の数値を特定できます。1 つの VLAN を同時に割り当てることのできるスパニング ツリー インスタンスは 1 つだけです。
IST、CIST、およびCST
すべてのスパニング ツリー インスタンスが独立している PVST+ と Rapid PVST+ とは異なり、MSTP は次の 2 つのタイプのスパニング ツリーを確立し、維持します。
• Internal Spanning tree(IST)は、MST 領域で実行されるスパニング ツリーです。
各 MST 領域内では、MSTP は多重スパニング ツリー インスタンスを維持しています。インスタンス 0 は領域の特殊インスタンスで、Internal Spanning tree(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 と 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 実装に関連する用語の一部が変更されます。これらの変更点については、表 21-1 を参照してください。
MST 領域内の動作
IST は領域内のすべての MSTP スイッチを接続します。IST が収束する際に、IST のルートは CIST リージョナル ルート(IEEE 802.1s 標準の実装前には IST マスター と呼ばれていた)となります(図 22-1 を参照)。このスイッチは、最小のスイッチ ID と CIST ルートへのパス コストが指定された領域内に存在します。CIST リージョナル ルートは、ネットワーク内に領域が 1 つしかない場合は CIST ルートでもあります。CIST ルートが領域外にある場合、領域の境界にある MSTP スイッチの 1 つが CIST リージョナル ルートとして選択されます。
MSTP スイッチが初期化されると、自身が CIST と CIST リージョナル ルートであると主張する BPDU を送信し、CIST ルートと CIST リージョナル ルートに対する両方のパス コストを 0 に設定します。また、スイッチはすべての MST インスタンスも初期化し、自身がこれらすべてのルートであると主張します。スイッチが現在ポートに格納されているものよりも上位の MST ルート情報(小さいスイッチ ID、低いパス コストなど)を受信すると、CIST リージョナル ルートとしての主張を撤回します。
初期化中に、領域内に独自の CIST リージョナル ルートを持つ多くのサブ領域が形成される場合があります。スイッチが上位の IST 情報を受信すると、古いサブ領域を脱退させ、真の CIST リージョナル ルートを持つ新しいサブ領域を加入させます。このように、真の CIST リージョナル ルートを持つサブ領域を除いて、すべてのサブ領域が縮小します。
正しく動作するために、MST 領域内のすべてのスイッチは同じ CIST リージョナル ルートを承認する必要があります。したがって、領域内にある任意の 2 つのスイッチは、共通の CIST リージョナル ルートに収束する場合、MST インスタンスに対するポート ロールだけを同期します。
MST 領域間の動作
複数の領域またはレガシー IEEE 802.1D スイッチがネットワーク内に存在する場合、MSTP は CST を確立して維持します。これには、ネットワーク内のすべての MST 領域とすべてのレガシー STP スイッチが含まれます。MST インスタンスは、領域の境界で IST と結合して CST になります。
IST は領域内のすべての MSTP スイッチを接続し、スイッチド ドメイン全体を網羅する CIST 内のサブツリーとして認識されます。サブツリーのルートは CIST リージョナル ルートです。MST 領域は、隣接する STP スイッチおよび MST 領域への仮想スイッチとして認識されます。
図 22-1 に、3 つの MST 領域およびレガシー IEEE 802.1D スイッチ(D)を備えたネットワークを示します。領域 1 の CIST リージョナル ルート(A)は CIST ルートでもあります。領域 2 の CIST リージョナル ルート(B)および領域 3 の CIST リージョナル ルート(C)は、CIST 内の各サブツリーのルートです。すべての領域で RSTP が実行されます。
図 22-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 を使用して MSTP スイッチと通信します。
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)だけです。
表 22-1 では、IEEE 標準の用語とシスコ先行標準の用語とを比較します。
表 22-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 スイッチがある場合、メッセージは常に外部として認識されます。
その他の先行標準実装からの変更点は、CIST リージョナル ルート スイッチ ID フィールドが、RSTP またはレガシー IEEE 802.1Q スイッチが送信側スイッチ ID を持つ場所に挿入されたことです。一貫した送信側スイッチ ID をネイバー スイッチに送信することで、領域全体が単一の仮想スイッチのように実行されます。この例では、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 メッセージも表示されます。
図 22-2 に、このシナリオを示します。A は標準スイッチ、B は先行標準スイッチで、いずれも同じ領域に設定されているとします。A は CIST のルート スイッチであり、B はセグメント X 上にルート ポート(BX)、セグメント Y 上に代替ポート(BY)を持っています。単一の先行標準 BPDU を送信する前に、セグメント Y がフラップし BY 上のポートが代替になる場合、AY は先行標準スイッチが Y に接続していることを検出できず、標準 BPDU の送信を続けます。ポート BY は境界に固定されるため、スイッチ A と B の間でロード バランシングが実行できません。セグメント X 上には同じ問題が存在しますが、スイッチ B はトポロジ変更を送信します。
図 22-2 標準スイッチおよび先行標準スイッチの相互運用
(注) 標準 MST 実装と先行標準 MST 実装との間では、相互運用を最小限にすることを推奨します。
単一方向リンク障害の検出
この機能は IEEE MST 標準には存在しませんが、Cisco IOS リリースには含まれています。ブリッジング ループが発生する可能性のある単一方向リンク障害を検出するために、ソフトウェアが受信した BPDU のポート ロールとステートの一貫性をチェックします。
指定ポートが矛盾を検出すると役割は維持されますが、状態は廃棄ステートに戻ります。これは、接続に矛盾が生じた場合、ブリッジング ループを開始するよりも接続を中断する方が好ましいためです。
図 22-3 に、一般的にブリッジング ループを作成する単一方向リンク障害を示します。スイッチ A はルート スイッチであり、その BPDU はスイッチ B へのリンク上で失われます。RSTP および MST BPDU には、送信ポートの役割とステートが含まれます。この情報を使用して、スイッチ A は、自身が送信した上位 BPDU にスイッチ B が反応しないこと、スイッチ B が指定スイッチであり、ルート スイッチではないことを検出できるようになります。この結果、スイッチ A はそのポートをブロックする(またはブロックし続ける)ため、ブリッジング ループが回避されます。
図 22-3 単一方向リンク障害の検出
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 のいずれかを送信します。境界ポートは、LAN、境界ポートの指定が単一のスパニング ツリー スイッチ、または異なる MST 設定を持つスイッチに接続されます。
RSTP の概要
RSTP は、ポイントツーポイント配線を活用してスパニング ツリーの高速コンバージェンスを実現します。スパニング ツリーの再設定は 1 秒以内に実行できます(IEEE 802.1D スパニング ツリーのデフォルト設定の場合は 50 秒かかります)。
ここでは、RSTP の機能について説明します。
• 「ポート ロールとアクティブ トポロジ」
• 「高速コンバージェンス」
• 「ポート ロールの同期化」
• 「ブリッジ プロトコル データ ユニットの形式と処理」
設定の詳細については、「MSTP 機能の設定」を
参照してください。
ポート ロールとアクティブ トポロジ
RSTP では、ポート ロールを割り当ててアクティブ トポロジを学習することで、スパニング ツリーの高速コンバージェンスを実現しています。「スパニング ツリー トポロジと BPDU」で説明しているように、RSTP は IEEE 802.1D STP 上に構築されて、最高のスイッチ プライオリティ(最小プライオリティ値)を持つスイッチをルート スイッチとして選択します。次に RSTP は、各ポートに次のいずれかのポート ロールを割り当てます。
• ルート ポート:スイッチがルート スイッチにパケットを転送する際に最適なパス(最小コスト)を提供します。
• 指定ポート:指定スイッチに接続すると、LAN からルート スイッチにパケットを転送する際にパス コストが最小になります。指定スイッチが LAN に接続されるポートを指定ポートと呼びます。
• 代替ポート:現在のルート ポートが提供するルート ブリッジへの代替パスを提供します。
• バックアップ ポート: 指定ポートが提供する、スパニング ツリーのリーフに向かうパスのバックアップとして機能します。バックアップ ポートは、2 つのポートがループバック内でポイントツーポイント リンクで接続されている場合、または 1 つのスイッチに共有 LAN セグメントへの接続が複数ある場合にだけ存在できます。
• ディセーブル ポート:スパニング ツリーの動作中の役割が指定されていないポートです。
ルート ポートまたは指定のポート ロールを割り当てられたポートは、アクティブ トポロジに含まれます。代替ポートまたはバックアップのポート ロールを割り当てられたポートは、アクティブ トポロジから除外されます。
ネットワーク全体でポート ロールが一貫している安定したトポロジでは、RSTP により各ルート ポートおよび指定ポートは即座にフォワーディング ステートに移行し、すべての代替ポートおよびバックアップ ポートは必ず廃棄ステートになります(IEEE 802.1D でのブロッキングと同様)。ポート ステートは、転送および学習処理の動作を制御します。 表 22-2 に、IEEE 802.1D と RSTP のポート ステートの比較を示します。
表 22-2 ポート ステートの比較
|
STP ポート ステート(IEEE 802.1D)
|
|
|
イネーブル |
ブロッキング |
廃棄 |
不可 |
イネーブル |
リスニング |
廃棄 |
不可 |
イネーブル |
ラーニング |
ラーニング |
あり |
イネーブル |
フォワーディング |
フォワーディング |
あり |
ディセーブル |
ディセーブル |
廃棄 |
不可 |
シスコの STP 実装製品との整合性をはかるために、このマニュアルではポートの 廃棄 ステートを ブロッキング と定義します。指定ポートは、リスニング ステートから開始します。
高速コンバージェンス
RSTP には、スイッチ、スイッチ ポート、または LAN に障害が発生したあとに、短時間で接続を回復する機能があります。エッジ ポート、新規ルート ポート、およびポイントツーポイント リンクで接続されたポートに対して、次のような高速コンバージェンス機能を提供します。
• エッジ ポート: spanning-tree portfast インターフェイス コンフィギュレーション コマンドを使用して RSTP スイッチにあるエッジ ポートとしてポートを設定した場合、エッジ ポートは即座にフォワーディング ステートに移行します。エッジ ポートは PortFast 対応ポートと同様に、これをイネーブルにできるのは、単一のエンド ステーションに接続されているポート上だけです。
• ルート ポート:RSTP が新規ルート ポートを選択した場合、古いルート ポートをブロックし、即座に新規ルート ポートがフォワーディング ステートに移行します。
• ポイントツーポイント リンク:ポイントツーポイント リンクを介してポートを別のポートに接続し、ローカル ポートを指定ポートにする場合、ループのないトポロジを実現するために、提案合意ハンドシェイクを使用して相手側ポートと高速移行をネゴシエートします。
スイッチ A はポイントツーポイント リンクを介してスイッチ B に接続されており、すべてのポートがブロッキング ステートになります(図 22-4 を参照)。スイッチ A のプライオリティは、スイッチ B のプライオリティより少ない数値であるとします。スイッチ A は、自身が指定スイッチであることを提案する、提案メッセージ(提案フラグが設定されたコンフィギュレーション BPDU)をスイッチ B に送信します。
スイッチ B が提案メッセージを受信すると、提案メッセージの受信元ポートを新しいルート ポートとして選択し、すべての非エッジ ポートを強制的にブロッキング ステートにします。さらに、その新しいルート ポート経由で合意メッセージ(合意フラグが設定された BPDU)を送信します。
スイッチ A は、スイッチ B から合意メッセージを受信すると、すぐに自身の指定ポートをフォワーディング ステートにします。スイッチ B はそのすべての非エッジ ポートをブロックしており、さらにスイッチ A とスイッチ B はポイントツーポイント リンクで接続されているため、ネットワークにループが形成されません。
スイッチ C がスイッチ B に接続された場合も、同様の一連のハンドシェイク メッセージが交換されます。スイッチ C はスイッチ B に接続されたポートをルート ポートとして選択し、両端のポートはすぐにフォワーディング ステートに移行します。このハンドシェイク プロセスの繰り返しによってアクティブ トポロジに 1 つのスイッチが追加されます。ネットワークが収束するにつれて、この提案合意ハンドシェイクがルートからスパニング ツリーのリーフに進みます。
スイッチは、ポートのデュプレックス モードからリンク タイプを学習します。全二重ポートはポイントツーポイント接続と見なされ、半二重ポートは共有接続と見なされます。 spanning-tree link-type インターフェイス コンフィギュレーション コマンドを使用して、デュプレックス設定で制御されたデフォルト設定を上書きできます。
図 22-4 高速コンバージェンスの提案合意ハンドシェイク
ポート ロールの同期化
スイッチのポート上で 1 つで提案メッセージを受信し、そのポートが新しいルート ポートとして選択されると、RSTP は他のすべてのポートを新しいルート情報と強制的に同期させます。
他のポートがすべて同期されると、スイッチはルート ポートで受信した上位のルート情報と同期されます。次のような場合、スイッチ上の個別のポートが同期されます。
• ポートがブロッキング ステートの場合
• エッジ ポート(ネットワークのエッジ上に設定されているポート)の場合
指定ポートがフォワーディング ステートでエッジ ポートとして設定されていない場合、RSTP によって新しいルート情報と強制的に同期されると、その指定ポートはブロッキング ステートに移行します。一般に、RSTP がポートをルート情報と強制的に同期させ、ポートが上記のどの条件も満たしていない場合、そのポートのステートはブロッキングに設定されます。
スイッチはすべてのポートが同期されたことを確認すると、そのルート ポートに対応する指定スイッチに合意メッセージを送信します。ポイントツーポイント リンクによって接続されたスイッチがそれぞれのポート ロールについて合意すると、RSTP はポートのステートをすぐにフォワーディング ステートに移行させます。図 22-5 に、このイベント シーケンスを示します。
図 22-5 高速コンバージェンス時のイベント シーケンス
ブリッジ プロトコル データ ユニットの形式と処理
RSTP BPDU 形式は、プロトコル バージョンが 2 に設定されている点を除いて IEEE 802.1D の BPDU 形式と同じです。新しい 1 バイトのバージョン 1 の Length フィールドは 0 に設定されます。つまり、バージョン 1 のプロトコル情報が存在しないことを意味します。 表 22-3 に、RSTP フラグ フィールドを示します。
表 22-3 RSTP BPDU フラグ
|
|
0 |
Topology Change(TC; トポロジの変更) |
1 |
提案 |
2 ~ 3 00 01 10 11 |
ポート ロール 不明 代替ポート ルート ポート 指定ポート |
4 |
ラーニング |
5 |
フォワーディング |
6 |
合意 |
7 |
Topology Change Acknowledgement(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 通知を受信するポートを除く、すべての非エッジ ポートから学習済みの情報を削除します。
• 通知:TCN BPDU を使用する IEEE 802.1D とは異なり、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 スイッチがポートで IEEE 802.1D BPDU を使用していて、タイマーの期限切れのあとに RSTP BPDU を受信した場合、スイッチはタイマーを再起動し、そのポートで RSTP BPDU の使用を開始します。
MSTP 機能の設定
ここでは、次の設定情報について説明します。
• 「MSTP のデフォルト設定」
• 「MSTP 設定時の注意事項」
• 「MST 領域設定の指定と MSTP のイネーブル化」(必須)
• 「ルート スイッチの設定」(任意)
• 「セカンダリ ルート スイッチの設定」(任意)
• 「ポート プライオリティの設定」(任意)
• 「パス コストの設定」(任意)
• 「スイッチ プライオリティの設定」(任意)
• 「hello タイムの設定」(任意)
• 「転送遅延時間の設定」(任意)
• 「最大エージング タイムの設定」(任意)
• 「最大ホップ カウントの設定」(任意)
• 「リンク タイプの指定による高速移行」(任意)
• 「ネイバー タイプの指定」(任意)
• 「プロトコル移行プロセスの再起動」(任意)
MSTP のデフォルト設定
表 22-4 に、MSTP のデフォルト設定を示します。
表 22-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 が自動的にイネーブルになります。
• 複数のスイッチを同じ MST 領域に設定するには、同じ VLAN/インスタンス間マッピング、同じ設定リビジョン番号、および同じ名前を設定する必要があります。
• スイッチは最大 65 の MST インスタンスをサポートします。特定の MST インスタンスにマッピング可能な VLAN 数は制限されていません。
• PVST+、Rapid PVST+、および MSTP はサポートされていますが、同時にアクティブにできるバージョンは 1 つだけです(たとえば、すべての VLAN で PVST+ を実行、すべての VLAN で Rapid PVST+ を実行、またはすべての VLAN で MSTP を実行する)。詳細については、「スパニング ツリーの相互運用性と下位互換性」を参照してください。推奨されるトランク ポート設定の詳細については、「他の機能との相互作用」を参照してください。
• VTP による MST 設定の伝播はサポートされていません。ただし、CLI(コマンドライン インターフェイス)または SNMP サポートを使用して、MST 領域内にある各スイッチ上で、MST 設定(領域名、リビジョン番号、VLAN/インスタンス間マッピング)を手動で設定することができます。
• ネットワーク内の冗長パス全体でロード バランシングを機能させるためには、すべての VLAN/インスタンス間マッピングの割り当てを一致させる必要があります。一致しない場合、すべてのトラフィックが単一リンクに流れます。
• PVST+ および MST クラウド、または Rapid-PVST+ と MST クラウドとの間でロード バランシングを実現するには、すべての MST の境界ポートがフォワーディング ステートである必要があります。そのためには、MST クラウドの IST マスターも CST のルートにする必要があります。MST クラウドが複数の MST 領域で構成されている場合、MST 領域の 1 つに CST ルートが含まれていなければならず、その他のすべての MST 領域には MST クラウド内に含まれるルートへのパスが、PVST+ または Rapid-PVST+ クラウドよりも良好なものである必要があります。クラウドにスイッチを手動で設定する必要がある場合もあります。
• ネットワークを多数の領域に分割することは推奨しません。ただし、そのような状況が避けられないような場合には、スイッチド LAN をルータまたは非レイヤ 2 装置と相互接続された小規模な LAN に分割することを推奨します。
• UplinkFast、BackboneFast、および cross-stack UplinkFast の設定時の注意事項については、「オプションのスパニング ツリー設定時の注意事項」を参照してください。
• スイッチが MST モードの場合、ロング パス コスト計算方式(32 ビット)を使用してパス コスト値を計算します。ロング パス コスト計算方式では、次のパス コスト値がサポートされます。
|
|
10 Mbps |
2,000,000 |
100 Mbps |
200,000 |
1 Gbps |
20,000 |
10 Gbps |
2,000 |
100Gbps |
200 |
MST 領域設定の指定と MSTP のイネーブル化
複数のスイッチを同じ MST 領域に設定するには、同じ VLAN/インスタンス間マッピング、同じ設定リビジョン番号、および同じ名前を設定する必要があります。
1 つの領域には、同じ MST 設定を持つ 1 つまたは複数のメンバーを含めることができ、各メンバーには RSTP BPDU を処理する能力が必要となります。ネットワーク内の MST 領域数には制限がありませんが、各領域は最大で 65 のスパニング ツリー インスタンスだけをサポートできます。1 つの 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 です。 VLAN を MST インスタンスにマッピングすると、マッピングは差分で、コマンドに指定された VLAN は以前にマッピングされた VLAN に追加されるか、または VLAN から削除されます。 VLAN 範囲を指定する場合にはハイフンを使用します。たとえば VLAN 1 ~ 63 を MST インスタンス 1 にマッピングする場合は、 instance 1 vlan 1-63 とします。 連続した VLAN を指定する場合には、カンマを使用します。たとえば VLAN 10、20、30 を MST インスタンス 1 にマッピングする場合は、 instance 1 vlan 10, 20, 30 とします。 |
ステップ 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 に満たないスイッチ プライオリティが設定されている場合は、スイッチは自身のプライオリティを最小のスイッチ プライオリティより 4096 小さい値に設定します(4096 は 4 ビット スイッチ プライオリティの最下位ビットの値です。表 21-1 を参照してください)。
ネットワークが拡張システム ID をサポートするスイッチとサポートしないスイッチで構成される場合、拡張システム ID をサポートするスイッチがルート ブリッジになることはほぼありません。拡張システム ID によって、古いソフトウェアを実行している接続スイッチのプライオリティよりも VLAN 番号が大きくなるたびに、スイッチ プライオリティ値が増大します。
各スパニング ツリー インスタンスのルート スイッチは、バックボーン スイッチまたはディストリビューション スイッチである必要があります。アクセス スイッチをスパニング ツリーのプライマリ ルートとして設定しないでください。
レイヤ 2 ネットワークの直径(つまり、レイヤ 2 ネットワーク上の任意の 2 つのエンド ステーション間における最大スイッチ ホップ数)を指定するには、MST インスタンス 0 にだけ使用できる diameter キーワードを使用します。ネットワークの直径を指定すると、スイッチはその直径を持つネットワークに最適な 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 を使用していて、ルート スイッチになる可能性が低いことが前提です。
このコマンドを複数のスイッチに対して実行すると、複数のバックアップ ルート スイッチを設定できます。プライマリ ルート スイッチ を設定したときに使用したものと同じネットワーク直径と hello タイム値を spanning-tree mst instance-id root primary グローバル コンフィギュレーション コマンドで使用してください。
スイッチをセカンダリ ルート スイッチとして設定するには、特権 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 はインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにし、残りのインターフェイスをブロックします。
インターフェイスの MSTP ポート プライオリティを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定します。インターフェイス コンフィギュレーション モードを開始します。 有効なインターフェイスには、物理ポートおよびポートチャネル論理インターフェイスが含まれます。指定できるポート チャネル範囲は 1 ~ 6 です。 |
ステップ 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 はコストを使用して、フォワーディング ステートにするインターフェイスを選択します。最初に選択させたいインターフェイスには低いコスト値を、最後に選択させたいインターフェイスには高いコスト値を割り当てることができます。すべてのインターフェイスが同じコスト値を使用している場合には、MSTP はインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにし、残りのインターフェイスをブロックします。
インターフェイスの MSTP コストを設定するには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定します。インターフェイス コンフィギュレーション モードを開始します。有効なインターフェイスには、物理ポートおよびポートチャネル論理インターフェイスが含まれます。指定できるポート チャネル範囲は 1 ~ 6 です。 |
ステップ 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 に対して、指定できる範囲は 4096 単位で、0 ~ 61440 です。デフォルトは 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 が廃棄され、ポートで維持されていた情報が期限切れになるまでのホップ数を領域内に指定します。 hold_count に対して、指定できる範囲は 1 ~ 255 です。デフォルトは 20 です。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show spanning-tree mst |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)設定をコンフィギュレーション ファイルに保存します。 |
スイッチをデフォルト設定に戻すには、 no spanning-tree mst max-hops グローバル コンフィギュレーション コマンドを使用します。
リンク タイプの指定による高速移行
「高速コンバージェンス」で説明しているように、ポイントツーポイント リンクを介してポートを別のポートに接続し、ローカル ポートを指定ポートにする場合、ループのないトポロジを実現するために、提案合意ハンドシェイクを使用して別のポートへの高速移行をネゴシエートします。
デフォルトで、インターフェイスのデュプレックス モードからリンク タイプが制御されます。全二重ポートはポイントツーポイント接続として見なされ、半二重ポートは共有接続として見なされます。MSTP を実行しているリモート スイッチの単一ポートに、ポイントツーポイントで物理的に接続されている半二重リンクがある場合、リンク タイプのデフォルト設定を上書きしてフォワーディング ステートへの高速移行をイネーブルにできます。
デフォルトのリンクタイプ設定を上書きするには、特権 EXEC モードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id |
設定するインターフェイスを指定します。インターフェイス コンフィギュレーション モードを開始します。有効なインターフェイスには、物理ポート、VLAN、およびポートチャネル論理インターフェイスが含まれます。指定できる VLAN ID の範囲は 1 ~ 4094 です。指定できるポート チャネル範囲は 1 ~ 6 です。 |
ステップ 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 コマンドを使用します。