MSTPの設定
ここでは、Catalyst 3550スイッチにシスコの実装機能であるIEEE 802.1s Multiple STP(MSTP)を設定する方法について説明します。
(注) Cisco IOS Release 12.2(25)SECのMultiple Spanning-Tree(MST)の実装機能は、IEEE 802.1s規格に基づきます。初期のCisco IOSリリースの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)、および既存のシスコPer-VLAN Spanning-Tree plus(PVST+)とRapid Per-VLAN Spanning-Tree plus(Rapid PVST+)との下位互換性を維持します。PVST+およびRapid PVST+については、「STPの設定」を参照してください。ほかのスパニングツリー機能(PortFast、UplinkFast、ルート ガードなど)については、「オプションのスパニングツリー機能の設定方法」を参照してください。
(注) ここで使用されるコマンドの構文および使用方法の詳細については、このリリースのコマンド リファレンスを参照してください。
この章で説明する内容は、次のとおりです。
•
「MSTPの概要」
•
「RSTPの概要」
•
「MSTP機能の設定」
•
「MSTコンフィギュレーションおよびステータスの表示」
MSTPの概要
MSTPは、高速コンバージェンスが可能なRSTPを使用し、複数のVLANを1つのスパニングツリー インスタンスにまとめます。各インスタンスのスパニングツリー トポロジーは、ほかのスパニングツリー インスタンスの影響を受けません。このアーキテクチャによって、データ トラフィックに複数のフォワーディング パスが提供され、ロードバランシングが可能になり、また多数のVLANをサポートするのに必要なスパニングツリー インスタンスの数を減らすことができます。
ここでは、MSTPの機能について説明します。
•
「MSTリージョン」
•
「IST、CIST、およびCST」
•
「ホップ カウント」
•
「境界ポート」
•
「IEEE 802.1sの実装」
•
「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コンフィギュレーション コマンドでリージョン名を指定し、
revision
MSTコンフィギュレーション コマンドでリージョン番号を設定できます。
リージョンは、同じMSTコンフィギュレーションを持つ1つまたは複数のメンバーで構成されます。リージョンの各メンバーはRSTP Bridge Protocol Data Unit(BPDU;ブリッジ プロトコル データ ユニット)を処理する機能を備えている必要があります。ネットワーク内のMSTリージョンの数には制限はありませんが、各リージョンがサポートできるスパニングツリー インスタンスの数は65までです。インスタンスは0~4094の範囲の数字で識別されます。1つのスパニングツリー インスタンスに同時に割り当てられるのは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レコードに保存されます。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実装機能に関連する用語の一部が変更されます。変更のサマリーについては、を参照してください。
MSTリージョン内の動作
ISTは1つのリージョン内のすべてのMSTPスイッチを接続します。CISTリージョナル ルートは、リージョン内にあり、CISTルートに対するパス コストとスイッチIDが最も小さいスイッチです。ISTが収束すると、そのISTのルートがCISTリージョナル ルート(IEEE 802.1s規格の実装前は
ISTマスター
)になります(MSTリージョン、CISTリージョナル ルート、CSTルートを参照)。ネットワーク内にリージョンが1つしかない場合、CISTリージョナル ルートはCSTルートになります。CISTルートがリージョンの外部にある場合、リージョンの境界に位置するMSTPスイッチの1つがCISTリージョナル ルートとして選択されます。
MSTPスイッチは、初期化時に、自身がCISTのルートおよびCISTリージョナル ルートであることを主張するため、CISTルートとCISTリージョナル ルートへのパス コストがいずれも0に設定されたBPDUを送信します。スイッチはさらにMSTインスタンスをすべて初期化し、自身がこれらすべてのインスタンスのルートであると主張します。スイッチは、スイッチに現在保存されているルート情報よりも上位のMSTルート情報(小さいスイッチID、パス コストなど)を受信すると、CISTリージョナル ルートとしての主張を撤回します。
初期化中、リージョン内に独自のCISTリージョナル ルートを持つ多くのサブリージョンが形成される場合もあります。スイッチは、上位のIST情報を受信すると、古いサブリージョンを脱退して、真のCISTリージョナル ルートが含まれている新しいサブリージョンに加入します。このようにして、真のCISTリージョナル ルートが含まれているサブリージョン以外のサブリージョンはすべて縮小します。
正常な動作のためには、MSTリージョン内のすべてのスイッチが同じCISTリージョナル ルートを承認する必要があります。したがって、そのリージョン内にある任意の2台のスイッチが、1つのMSTインスタンスに対するポートの役割を同期させるのは、共通のCISTリージョナル ルートに収束する場合だけです。
MSTリージョン間の動作
ネットワーク内に複数のリージョンまたIEEE 802.1D準拠のレガシー スイッチが混在している場合、MSTPは、ネットワーク内のすべてのMSTリージョンとすべてのレガシーSTPスイッチからなるCSTを構築し維持します。MSTインスタンスは、リージョンの境界でISTと結合してCSTになります。
ISTは、リージョン内のすべてのMSTPスイッチを接続し、スイッチド ドメイン全体を網羅するCISTのサブツリーとなります。このサブツリーのルートがCISTリージョナル ルートです。MSTリージョンは、隣接するSTPスイッチやMSTリージョンからは仮想スイッチとして認識されます。
図16-1は、3つのMSTリージョンとIEEE 802.1D準拠のレガシー スイッチ(D)からなるネットワークを示しています。リージョン1(A)のCISTリージョナル ルートは、CISTルートも兼ねています。リージョン2(B)およびリージョン3(C)のCISTリージョナル ルートは、CIST内にあるそれぞれのサブツリーのルートです。RSTPはすべてのリージョンで稼働しています。
図16-1 MSTリージョン、CISTリージョナル ルート、CSTルート
図16-1図16-1には、各リージョンに追加されたMSTインスタンスは示されていません。MSTインスタンスのトポロジーは、同じリージョンのISTのトポロジーとは異なる可能性もあるので注意が必要です。
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)にのみ、関連します。
では、IEEE規格の用語とシスコ標準化前の用語を比較します。
表16-1 標準化前とIEEE規格の用語
|
|
|
|
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リージョンを接続するポートです。境界ポートもまた、LAN、つまり単一のスパニングツリー スイッチまたは異なるMSTコンフィギュレーションを持つスイッチのいずれかである指定スイッチに接続します。
IEEE 802.1s規格の境界ポートには定義はありません。IEEE 802.1Q-2002規格では、ポートが受信する内部メッセージ(同じリージョンから着信)および外部メッセージを識別します。メッセージが外部メッセージの場合、CISTでのみ受信されます。CISTの役割がルートまたは代替である、または外部BPDUがトポロジー変更である場合、CISTはMSTインスタンスに影響を与えます。メッセージが内部メッセージの場合、CIST部分はCISTによって受信され、各MSTインスタンスでMレコードそれぞれが受信されます。シスコ標準化前の実装では、外部メッセージを境界ポートとして受信するポートを処理します。これは、ポートが内部メッセージと外部メッセージの組み合わせを受信できず、この動作はCatalyst OSのシスコ標準MSTの実装機能のままであることを意味します。
MSTリージョンには、スイッチとLANの両方が含まれます。セグメントは自身の指定のポートのリージョンに属します。したがって、セグメント用に指定されたポートとは異なるリージョンのポートは境界ポートです。この定義により、リージョン内部の2つのポートは、異なるリージョンに属するポートとセグメントを共有できるので、ポート上で内部および外部メッセージ両方を受信する可能性があります。
シスコ標準化前の実装からの主な変更点は、指定ポートがSTP互換モードで稼働していない場合にポートが境界として定義されていないことです。
(注) セグメント上のレガシーSTPスイッチがある場合、メッセージは常に外部とみなされます。
ほかの標準化前の実装からの変更点は、RSTPまたはレガシーIEEE 802.1Qスイッチにセンダー スイッチIDがある場所に、CISTリージョナル ルート スイッチ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メッセージも表示されます。
図16-2に、このシナリオを示します。Aが標準スイッチ、Bが標準化前スイッチ、両方とも同じリージョン内で設定されているものと仮定します。AはCISTのルート スイッチなので、BにはセグメントXにルート ポート(BX)とセグメントYに代替ポート(BY)があります。セグメントYがフラップした場合、BYのポートは代替になってから1個の標準化前BPDUを送信します。AYは標準化前スイッチがYに接続されていることを検出できず、標準BPDUを送信し続けます。ポートBYは境界に固定されているので、ロードバランシングはAとBの間では実行できません。同じ問題がセグメントXにも存在しますがBはトポロジー変更を転送することがあります。
図16-2 標準および標準化前スイッチの相互運用
(注) 標準と標準化前MSTの実装の間の相互作用を最小限にすることを推奨します。
単一方向リンク障害の検出
この機能はIEEE MST規格に存在しませんが、このCisco IOSリリースに含まれます。ソフトウェアは受信したBPDUのポートの役割およびステートの一貫性をチェックし、ブリッジング ループを引き起こす単一方向リンクの障害を検出します。
指定ポートが矛盾を検出するとポートは役割を維持しますが、ブリッジング ループを開くよりは不整合の方が望ましい場合に接続を中断するので廃棄ステートに戻ります。
図16-3に、一般的にスイッチング ループを作成する単一方向リンク障害を示します。スイッチAはルート スイッチで、そのBPDUはスイッチBにつながったリンク上で失われます。RSTPおよびMST BPDUにはポートを送信する役割とステートが含まれます。この情報によれば、スイッチBはスイッチAが送信する上位のBPDUに反応せず、指定されたルート スイッチではないことをスイッチAは検出できます。その結果、スイッチAはポートをブロックし(ブロックし続け)、ブリッジング ループを防ぎます。
図16-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コンフィギュレーションとTopology Change Notification(TCN;トポロジー変更通知)BPDUまたはバージョン3 MSTP BPDUのいずれかを境界ポートで送信します。境界ポートは、所属する指定スイッチが単一のスパニングツリー スイッチ、または異なるMSTコンフィギュレーションを持つスイッチであるLANに接続されます。
RSTPの概要
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のブロッキング ステートと同じ)になるように保証します。フォワーディング プロセスおよびラーニング プロセスの動作はポート ステートによって制御されます。
表16-2
に、IEEE 802.1DとRSTPのポート ステートの比較を示します。
表16-2 ポート ステートの比較
|
|
|
|
|
イネーブル
|
ブロッキング
|
廃棄
|
なし
|
イネーブル
|
リスニング
|
廃棄
|
なし
|
イネーブル
|
ラーニング
|
ラーニング
|
あり
|
イネーブル
|
フォワーディング
|
フォワーディング
|
あり
|
ディセーブル
|
ディセーブル
|
廃棄
|
なし
|
シスコのSTP実装製品で一貫性を図るため、このマニュアルでは、ポートの
廃棄
ステートを
ブロッキング
と定義します。指定ポートは、リスニング ステートから開始します。
高速コンバージェンス
RSTPを使用すると、スイッチ、スイッチ ポート、またはLANに障害が発生しても、ただちに接続を回復できます。RSTPは、エッジ ポート、新しいルート ポート、およびポイントツーポイント リンクで接続されているポートに次のように高速コンバージェンスを提供します。
•
エッジ ポート ―
spanning-tree portfast
インターフェイス コンフィギュレーション コマンドを使用して、RSTPスイッチの1つのポートをエッジ ポートに設定すると、そのエッジ ポートは即座にフォワーディング ステートになります。エッジ ポートはPortFastイネーブル設定ポートと同じで、これをイネーブルにできるのは、単一のエンド ステーションに接続されているポート上だけです。
•
ルート ポート ― RSTPは、新しいルート ポートを選択すると、古いルート ポートをブロックして、新しいルート ポートをただちにフォワーディング ステートにします。
•
ポイントツーポイント リンク ― 2つのポートをポイントツーポイント リンクで接続し、ローカル ポートが指定ポートになると、その指定ポートは、提案合意ハンドシェークを使用して、相手側ポートと高速移行をネゴシエーションし、ループのないトポロジーを保証します。
図16-4では、スイッチAとスイッチBはポイントツーポイント リンクを通じて接続され、すべてのポートがブロッキング ステートになっています。スイッチAのプライオリティ値がスイッチBのプライオリティ値より小さい数値である場合、スイッチAはスイッチBに提案メッセージ(提案フラグが設定されたコンフィギュレーションBPDU)を送信し、スイッチA自身が指定スイッチになることを提案します。
スイッチBは、提案メッセージを受信すると、提案メッセージの受信ポートを新しいルート ポートに選択し、すべての非エッジ ポートをブロッキング ステートにします。さらに、新しいルート ポート経由で合意メッセージ(合意フラグが設定されたBPDU)を送信します。
スイッチAは、スイッチBの合意メッセージを受信すると、ただちに自身の指定ポートをフォワーディング ステートにします。スイッチBはその非エッジ ポートをすべてブロックし、またスイッチAとスイッチBはポイントツーポイント リンクで接続されているので、ネットワークにループは形成されません。
スイッチCがスイッチBに接続された場合も、同様のハンドシェーク メッセージが交換されます。スイッチCはスイッチBに接続されたポートをルート ポートとして選択し、両端のポートはただちにフォワーディング ステートに移行します。アクティブ トポロジーにスイッチが追加されるたびに、このハンドシェーク プロセスが実行されます。ネットワークが収束すると、この提案合意ハンドシェークがルートからスパニングツリーのリーフへと進みます。
スイッチはポートのデュプレックス モードによってリンク タイプを判断します。全二重ポートはポイントツーポイント接続とみなされ、半二重接続は共有接続とみなされます。
spanning-tree link-type
インターフェイス コンフィギュレーション コマンドを使用すると、デュプレックス設定で判断されたデフォルトの設定値を上書きできます。
図16-4 高速コンバージェンスの提案および合意ハンドシェーク
ポートの役割の同期化
スイッチのポートの1つで提案メッセージが受信され、そのポートが新しいルート ポートに選択されると、RSTPはほかのすべてのポートを新しいルートの情報に同期させます。
ほかのすべてのポートが同期化されている場合、スイッチはルート ポートで受信した上位のルート情報に同期化されます。スイッチの個々のポートは次の場合に同期化されます。
•
ブロッキング ステートである場合
•
エッジ ポートである場合(ネットワークのエッジとして設定されているポート)
指定ポートがフォワーディング ステートであり、かつエッジ ポートとして設定されていない場合、RSTPによって新しいルート情報で強制的に同期化されると、その指定ポートはブロッキング ステートになります。一般的に、RSTPがポートを新しいルート情報で強制的に同期化し、そのポートが上記のいずれの条件も満たしていない場合、ポートのステートはブロッキングに設定されます。
スイッチは、すべてのポートが同期化されたことを確認すると、そのルート ポートに対応する指定スイッチに合意メッセージを送信します。ポイントツーポイント リンクで接続されたスイッチがポートの役割について互いに合意すると、RSTPはポート ステートをただちにフォワーディング ステートに移行させます。図16-5は、この一連のイベントを示します。
図16-5 高速コンバージェンス中のイベント シーケンス
BPDUのフォーマットおよびプロセス
RSTP BPDUのフォーマットは、プロトコル バージョンが2に設定されている点を除き、IEEE 802.1D BPDUのフォーマットと同じです。新しい1バイトのバージョン1のLengthフィールドは0に設定されます。これはバージョン1のプロトコルの情報がないことを示しています。
表16-3
に、RSTPのフラグ フィールドを示します。
表16-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には個別の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はブロッキングとフォワーディングの間でステートの移行があると、
必ず
TCが生じますが、RSTPではTCが生じるのは、ブロッキングからフォワーディングにステートが移行する場合
のみ
です(TCとみなされるのは、相互接続性が向上する場合だけです)。エッジ ポートでステートが変更されても、TCは生じません。RSTPスイッチは、TCを検出すると、そのスイッチのすべての非エッジ ポート(TCNを受信したポートを除く)で学習した情報を一斉に削除します。
•
通知 ― 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のTCタイマーと同じ)がアクティブであり、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のデフォルト設定」
•
「MSTP設定時の注意事項」
•
「MSTリージョンの設定の指定およびMSTPのイネーブル設定」(必須)
•
「ルート スイッチの設定」(任意)
•
「セカンダリ ルート スイッチの設定」(任意)
•
「ポート プライオリティの設定」(任意)
•
「パス コストの設定」(任意)
•
「スイッチ プライオリティの設定」(任意)
•
「helloタイムの設定」(任意)
•
「転送遅延時間の設定」(任意)
•
「最大エージング タイムの設定」(任意)
•
「最大ホップ カウントの設定」(任意)
•
「リンク タイプの指定による高速トランジションの保証」(任意)
•
「ネイバ タイプの指定」
•
「プロトコル移行プロセスの再起動」(任意)
MSTPのデフォルト設定
表16-4
に、MSTPのデフォルト設定を示します。
表16-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が自動的にイネーブルになります。VLAN単位のRSTPはCisco IOS Release 12.1(13)EA1より前のソフトウェア リリースではサポートされません。
•
2台以上のスイッチを同じMSTリージョンに設置するには、その2台のスイッチに同じVLAN/インスタンス マップ、同じコンフィギュレーション リビジョン番号、および同じ名前を設定しなければなりません。
•
スイッチは、MSTインスタンスを最大65までサポートします。特定のMSTインスタンスにマッピングできるVLAN数は無制限です。
•
スイッチは、PVST+、Rapid PVST+、およびMSTPをサポートしますが、アクティブにできるバージョンは常に1つだけです(たとえば、すべてのVLANでPVST+が稼働したり、すべてのVLANでRapid PVST+が稼働したり、またはすべてのVLANでMSTPが稼働したりします)。詳細については、「スパニングツリーのインターオペラビリティと下位互換性」を参照してください。推奨するトランク ポート設定の詳細については、「他の機能との相互作用」を参照してください。
•
MSTコンフィギュレーションのVLAN Tranking Protocol(VTP;VLANトランキング プロトコル)伝播機能はサポートされません。ただし、CLI(コマンドライン インターフェイス)またはSNMP(簡易ネットワーク管理プロトコル)サポートを通じて、MSTリージョン内の各スイッチでMSTコンフィギュレーション(リージョン名、リビジョン番号、およびVLANとインスタンスのマッピング)を手動で設定することは可能です。
•
ネットワーク内の冗長パスでロードバランシングを機能させるには、すべてのVLAN/インスタンス間マッピングの割り当てが一致している必要があります。一致していないと、すべてのトラフィックが1つのリンク上で伝送されます。
•
PVST+とMSTクラウドの間またはrapid PVST+とMSTクラウドの間でロードバランシングを実現するには、すべてのMST境界ポートがフォワーディング ステートでなければなりません。そのためには、MSTクラウドのISTマスターがCSTのルートを兼ねている必要があります。MSTクラウドが複数のMSTリージョンで構成されている場合は、MSTリージョンの1つにCSTルートが含まれており、ほかのすべてのMSTリージョンにおいて、MSTクラウドに含まれているルートへのパスの方がPVST+またはrapid PVST+クラウド経由のパスよりも優れている必要があります。クラウド内のスイッチを手動で設定しなければならない場合もあります。
•
ネットワークを多数のリージョンに分割することは推奨できません。ただし、どうしても分割せざるを得ない場合は、スイッチドLANをルータまたは非レイヤ2デバイスで相互接続された小規模なLANに分割することを推奨します。
•
UplinkFast、BackboneFast、およびクロススタックUplinkFastの設定時の注意事項については、「オプションのスパニングツリー設定時の注意事項」を参照してください。
MSTリージョンの設定の指定およびMSTPのイネーブル設定
2台以上のスイッチを同じMSTリージョンに設置するには、その2台のスイッチに同じ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
には、単一のインスタンス、ハイフンで区切られた範囲のインスタンス、またはカンマで区切られた一連のインスタンスを指定できます。指定できる範囲は1~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が対応付けられています。最小のスイッチIDを持つスイッチがそのVLANグループのルート スイッチになります。
あるスイッチがルート スイッチになるように設定するには、
spanning-tree mst
instance-id
root
グローバル コンフィギュレーション コマンドを使用してスイッチ プライオリティをデフォルト値(32768)からきわめて小さいプライオリティ値に変更します。これにより、そのスイッチが指定されたスパニングツリー インスタンスのルート スイッチになることができます。このコマンドを入力すると、スイッチは、ルート スイッチのスイッチ プライオリティをチェックします。拡張システムIDをサポートするため、スイッチは、指定インスタンスの固有のプライオリティを24576に設定します(この値によって、このスイッチが指定されたスパニングツリー インスタンスのルート スイッチになる場合)。
指定されたインスタンスのいずれかのルート スイッチに24576より小さいスイッチ プライオリティ値が設定されている場合、スイッチは指定されたVLANに対する自身のプライオリティを、最小のスイッチ プライオリティより4096だけ小さい値に設定します( スイッチ プライオリティ値および拡張システムIDに示すように、4096は、4ビット スイッチ プライオリティ値の最下位ビットの値です)。
(注) Cisco IOS Release 12.1(8)EA1より前のリリースのソフトウェアが稼働しているCatalyst 3550スイッチは、拡張システムIDをサポートしません。また、Cisco IOS Release 12.1(9)EA1より前のリリースのソフトウェアが稼働しているCatalyst 3550スイッチは、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をサポートするCatalyst 3550スイッチをセカンダリ ルートとして設定すると、スパニングツリー スイッチ プライオリティはデフォルト値(32768)から28672に変更されます。その結果、プライマリ ルート スイッチに障害が発生した場合に、このスイッチが、指定されたインスタンスのルート スイッチになる可能性が高くなります。ネットワーク上のほかのスイッチはデフォルトのスイッチ プライオリティである32768を使用していると想定されるので、ほかのスイッチがルート スイッチになる可能性は低くなります。拡張システムIDをサポートしないCatalyst 3550スイッチ(Cisco IOS Release 12.1(8)EA1より前のソフトウェア)の場合、スイッチ プライオリティは16384に変更されます。
このコマンドを複数のスイッチに実行して、複数のバックアップ ルート スイッチを設定できます。
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はインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにして、残りのインターフェイスをブロックします。
インターフェイスのMSTPポート プライオリティを設定するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
ステップ 2
|
interface
interface-id
|
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。
有効なインターフェイスは物理ポートやポート チャネルなどです。有効なポート チャネル番号は、1~64です。
|
ステップ 3
|
spanning-tree mst
instance-id
port-priority
priority
|
MSTインスタンスにポート プライオリティを設定します。
•
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はコストを使用して、フォワーディング ステートにするインターフェイスを選択します。STPに最初に選択させたいインターフェイスには小さいコスト値を、最後に選択させたいインターフェイスには大きいコスト値を割り当てることができます。すべてのインターフェイスが同じコスト値を使用している場合、MSTPはインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにして、残りのインターフェイスをブロックします。
インターフェイスのMSTPコストを設定するには、イネーブルEXECモードで次の手順を実行します。この手順は任意です。
|
|
|
ステップ 1
|
configure terminal
|
グローバル コンフィギュレーション モードを開始します。
|
ステップ 2
|
interface
interface-id
|
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。有効なインターフェイスは物理ポートやポート チャネルなどです。有効なポート チャネル番号は、1~64です。
|
ステップ 3
|
spanning-tree mst
instance-id
cost
cost
|
MSTインスタンスにコストを設定します。
ループが発生すると、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
|
MSTインスタンスにスイッチ プライオリティを設定します。
•
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~64です。
|
ステップ 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 pre-standard
インターフェイス コンフィギュレーション コマンドを使用します。
プロトコル移行プロセスの再起動
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コマンドを使用します。