STP の概要
STP は、ネットワーク上でパスの冗長性を確保し、不要なループの発生を防ぐレイヤ 2 リンク管理プロトコルです。レイヤ 2 イーサネット ネットワークの正常な動作を実現するには、どの 2 つのステーション間でもアクティブ パスを 1 つにする必要があります。ネットワーク トポロジのループフリーのサブセットは、スパニング ツリーと呼ばれます。スパニング ツリーの動作はエンド ステーションに対してトランスペアレントなので、エンド ステーションが特定の LAN セグメントに接続されているのか、それとも複数セグメントから構成されるスイッチド LAN に接続されているのかを検出できません。
Catalyst 4500 シリーズ スイッチは、すべての Virtual LAN(VLAN; 仮想 LAN)上で STP(IEEE 802.1D ブリッジ プロトコル)を使用します。デフォルトでは、(スパニング ツリーを手動でディセーブルにしない限り)設定されている VLAN ごとに 1 つのスパニング ツリーが動作します。スパニング ツリーは、VLAN 単位でイネーブルまたはディセーブルにできます。
フォールトトレラントなインターネットワークを作成する場合、ネットワーク上のすべてのノード間にループフリー パスを形成する必要があります。スパニング ツリー アルゴリズムは、スイッチド レイヤ 2 ネットワーク上で最良のループフリー パスを算出します。スイッチは定期的にスパニング ツリー フレームを送受信します。スイッチは、これらのフレームを転送せずに、フレームを使用してループフリー パスを構築します。
エンド ステーション間に複数のアクティブ パスがあると、ネットワーク内でループが発生する原因になります。ネットワークにループが存在すると、エンド ステーションがメッセージを重複して受信する可能性があります。また、スイッチが複数のレイヤ 2 インターフェイス上のエンド ステーション MAC アドレスを学習する可能性があります。このような状況により、ネットワークが不安定になります。
スパニング ツリーは、ルート スイッチおよびそのルートからレイヤ 2 ネットワーク上のすべてのスイッチへのループフリー パスを備えたツリーを定義します。スパニング ツリーは、冗長データ パスを強制的にスタンバイ(ブロック)ステートにします。スパニング ツリーのネットワーク セグメントの 1 つで障害が発生し、かつ冗長パスが存在する場合、スパニング ツリー アルゴリズムはスパニング ツリー トポロジを再計算し、スタンバイ パスをアクティブにします。
スイッチ上の 2 つのポートがループの一部になっている場合、フォワーディング ステートになるポートと、ブロッキング ステートになるポートは、スパニング ツリー ポート プライオリティおよびポート パス コストの設定によって決まります。スパニング ツリー ポート プライオリティ値は、ネットワーク トポロジにおけるインターフェイスの位置を表すとともに、ポートがトラフィックを伝送する場合にどの程度適した位置にあるかを表します。スパニング ツリー ポート パス コスト値は、メディア速度を表します。
ブリッジ ID の概要
各ネットワーク デバイス上の各 VLAN には、一意の 64 ビット ブリッジ ID が設定されています。ブリッジ ID はブリッジ プライオリティ値、拡張システム ID、および STP MAC アドレス割り当てで構成されています。
ブリッジ プライオリティ値
ブリッジ プライオリティ値は、特定の冗長リンクがプライオリティを受信して、スパニング ツリーのスパンの一部と見なされるかどうかを決定します。値が低いほど優先されるので、手動でプライオリティを設定する場合は、リンクに割り当てるブリッジ プライオリティの値を冗長リンクの場合よりも低くします。Cisco IOS Release 12.1(12c)EW よりも前のリリースでは、ブリッジ プライオリティは 16 ビット値です( 表 16-1 を参照)。Cisco IOS Release 12.1(12c)EW 以降のリリースでは、ブリッジ プライオリティは拡張システム ID がイネーブルの場合は 4 ビット値です( 表 16-2 を参照)。「VLAN のブリッジ プライオリティの設定」を参照してください。
拡張システム ID
拡張システム ID は、1025 ~ 4096 の VLAN ID です。Cisco IOS Release 12.1(12c)EW 以降のリリースでは、ブリッジ ID の一部として 12 ビット拡張システム ID フィールドをサポートしています( 表 16-2 を参照)。MAC アドレスを 64 個だけサポートするシャーシは、常に 12 ビットの拡張システム ID を使用します。1024 個の MAC アドレスをサポートするシャーシでは、拡張システム ID の使用をイネーブルにできます。STP は拡張システム ID として VLAN ID を使用します。「拡張システム ID のイネーブル化」を参照してください。
表 16-1 拡張システム ID がディセーブルの場合のブリッジ プライオリティ値
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32768 |
16384 |
8192 |
4096 |
2048 |
1024 |
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
表 16-2 拡張システム ID がイネーブルの場合のブリッジ プライオリティ値および拡張システム ID
|
拡張システム ID(VLAN ID と同じに設定)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32768 |
16384 |
8192 |
4096 |
VLAN ID |
STP MAC アドレスの割り当て
Catalyst 4500 シリーズ スイッチのシャーシには、64 個または 1024 個の MAC アドレスがあり、STP のようなソフトウェア機能をサポートするために使用できます。シャーシの MAC アドレスの範囲を表示するには、 show module コマンドを入力します。
Cisco IOS Release 12.1(12c)EW 以降のリリースでは、64 個または 1024 個の MAC アドレスを持つシャーシをサポートしています。64 個の MAC アドレスを持つシャーシの場合、STP は拡張システム ID と MAC アドレスを使用して、VLAN ごとに一意のブリッジ ID を作成します。
Release 12.1(12c)EW よりも前のリリースでは、1024 個の MAC アドレスを持つシャーシをサポートしています。これらのリリースでは、STP は VLAN ごとに 1 つの MAC アドレスを使用して、VLAN ごとに一意のブリッジ ID を作成します。
BPDU
スイッチド ネットワークで常にアクティブなスパニング ツリー トポロジを決定するのは、次の要素です。
• 各スイッチの VLAN ごとに関連付けられた一意のブリッジ ID(ブリッジ プライオリティと MAC アドレス)
• ルート ブリッジまでのスパニング ツリー パス コスト(またはブリッジ プライオリティ値)
• 各レイヤ 2 インターフェイスに関連付けられたポート ID(ポート プライオリティと MAC アドレス)
Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)には、送信側ブリッジとそのポートについて、ブリッジおよび MAC アドレス、ブリッジ プライオリティ、ポート プライオリティ、パス コストなどの情報が含まれます。システムは接続するスイッチ間で BPDU を伝送して、ルート スイッチから一方向のスパニング ツリー トポロジを計算します。各設定 BPDU には、少なくとも次の項目が含まれます。
• 送信側のスイッチがルート スイッチと見なしているスイッチの一意のブリッジ ID
• ルートまでのスパニング ツリー パス コスト
• 送信側ブリッジの ID
• メッセージの有効期間
• 送信側ポートの ID
• helloタイマー、転送遅延タイマー、および最大エージングプロトコル タイマーの値
スイッチが BPDU フレームを送信すると、そのフレームが伝送される LAN に接続されたすべてのスイッチが BPDU を受信します。スイッチが BPDU を受信すると、スイッチはそのフレームを転送するのではなく、フレームに含まれる情報を使用して BPDU を計算し、トポロジに変更があれば、BPDU の送信を開始します。
BPDU 交換によって次の動作が行われます。
• スイッチの 1 つがルート ブリッジとして選定されます。
• パス コストに基づいて、各スイッチのルート ブリッジまでの最短距離が計算されます。
• LAN セグメントごとに指定ブリッジが選択されます。これはルート ブリッジに最も近いスイッチで、このスイッチを経由してルートにフレームが転送されます。
• ルート ポートが選択されます。これはブリッジからルート ブリッジまでの最適パスを提供するポートです。
• スパニング ツリーに含まれるポートが選択されます。
ルート ブリッジの選定
VLAN ごとに、最高のブリッジ プライオリティ(最小のプライオリティ値)を持つスイッチがルート ブリッジとして選定されます。すべてのスイッチがデフォルト プライオリティ値(32,768)に設定されている場合は、VLAN 内で最小の MAC アドレスを持つスイッチがルート ブリッジになります。
スパニング ツリー ルート ブリッジは、スイッチド ネットワークで論理的にスパニング ツリー トポロジの中心に位置します。スイッチド ネットワーク内のどの場所からのパスも、ルート ブリッジに到達するために必要とされない場合は、すべてスパニング ツリー ブロッキング モードになります。
スパニング ツリーは BPDU から提供される情報を使用して、スイッチド ネットワークのルート ブリッジとルート ポート、および各スイッチド セグメントのルート ポートと指定されたポートを選定します。
STP タイマー
表 16-3 で、スパニング ツリー全体のパフォーマンスに影響する STP タイマーについて説明します。
表 16-3 STP タイマー
|
|
hello_time |
スイッチが他のスイッチに hello メッセージをブロードキャストする間隔を指定します。 |
forward_time |
ポートがフォワーディングを開始する前に、リスニング ステートとラーニング ステートのそれぞれが継続する時間を決定します。 |
max_age |
ポートで受信したプロトコル情報がスイッチで保持される期間を決定します。 |
STP トポロジの作成
スパニング ツリー アルゴリズムの目標は、最もダイレクトなリンクをルート ポートにすることです。スパニング ツリー トポロジがデフォルトのパラメータに基づいて計算されている場合、リンク速度により、スイッチド ネットワーク上の送信元から宛先エンド ステーションまでのパスが最適にならない可能性があります。たとえば、現在のルート ポートよりも数値の大きいポートに高速リンクを接続すると、ルート ポートの変更が必要になる場合があります。
図 16-1 では、スイッチ A がルート ブリッジとして選定されています(これは、すべてのスイッチのブリッジ プライオリティがデフォルト値 [32,768] に設定され、スイッチ A が最も低い MAC アドレスを持つ場合に起こります)。ただし、トラフィック パターン、転送ポートの数、またはリンク タイプによっては、スイッチ A が最適なルート ブリッジであるとは限りません。最適なスイッチの STP ポート プライオリティを上げて(プライオリティの数値を小さくして)、そのスイッチをルート ブリッジに設定すると、最適なスイッチをルートとして持つ新しいスパニング ツリー トポロジが強制的に再計算されます。
図 16-1 スパニング ツリー トポロジ
たとえば、スイッチ B の 1 つのポートが光ファイバ リンクで、同じスイッチの別のポート(Unshielded Twisted-Pair(UTP; シールドなしツイストペア)リンク)がルート ポートになっていると仮定します。ネットワーク トラフィックは高速の光ファイバ リンクに流す方が効率的です。光ファイバ ポートのスパニング ツリー ポート プライオリティをルート ポートよりも高く(数値を小さく)すると、光ファイバ ポートが新しいルート ポートになります。
STP ポート ステート
プロトコル情報がスイッチド LAN を通過するとき、伝送遅延が生じることがあります。その結果、スイッチド ネットワークのさまざまな時点および場所でトポロジが変化します。レイヤ 2 インターフェイスがスパニング ツリー トポロジに含まれていない状態からフォワーディング ステートに直接移行すると、一時的にデータのループが形成される可能性があります。ポートは新しいトポロジ情報がスイッチド LAN 経由で伝達されるまで待機し、そのあとでフレーム転送を開始する必要があります。さらに、古いトポロジで転送されたフレームの存続時間を満了させることも必要です。
スパニング ツリーを使用するスイッチ上の各レイヤ 2 インターフェイスは、次の 5 つのステートのいずれかの状態で存在します。
• ブロッキング:このステートでは、レイヤ 2 インターフェイスはフレーム フォワーディングに参加しません。
• リスニング:このステートは、スパニング ツリーによりレイヤ 2 インターフェイスのフレーム フォワーディングへの参加が決定されると、ブロック ステートから最初に移行するステートです。
• ラーニング:このステートでは、レイヤ 2 インターフェイスはフレーム フォワーディングに参加する準備をします。
• フォワーディング:このステートでは、レイヤ 2 インターフェイスはフレームを転送します。
• ディセーブル:このステートでは、レイヤ 2 インターフェイスはスパニング ツリーに参加せず、フレームを転送しません。
MAC アドレスの割り当て
スーパーバイザ エンジンは 1024 個の MAC アドレスを持ち、VLAN スパニング ツリーのブリッジ ID として使用されます。スパニング ツリーがアルゴリズムに使用する MAC アドレス範囲(スーパーバイザに対する割り当て範囲)を表示する場合に、 show module コマンドを使用します。
Catalyst 4506 スイッチの MAC アドレスは連番で割り当てられます。つまり、範囲の最初の MAC アドレスは VLAN 1 に割り当てられ、範囲の 2 番めの MAC アドレスは VLAN 2 に割り当てられます。たとえば、MAC アドレス範囲が 00-e0-1e-9b-2e-00 ~ 00-e0-1e-9b-31-ff の場合、VLAN 1 ブリッジ ID は 00-e0-1e-9b-2e-00、VLAN 2 ブリッジ ID は 00-e0-1e-9b-2e-01、VLAN 3 ブリッジ ID は 00-e0-1e-9b-2e-02 となります。他の Catalyst 4500 シリーズ プラットフォームでは、すべての VLAN は個々の MAC アドレスではなく、同一の MAC アドレスにマッピングします。
STP および IEEE 802.1Q トランク
802.1Q VLAN トランクによって、ネットワークのスパニング ツリーの構築方法に、いくつかの制約が課せられます。802.1Q トランクを使用して接続している Cisco スイッチのネットワークでは、トランク上で許容される VLAN ごとに 1 つのスパニング ツリー インスタンスが維持されます。他社製の 802.1Q スイッチでは、トランク上で許容されるすべての VLAN に対してスパニング ツリー インスタンスが 1 つだけ維持されます。
802.1Q トランクを使用して Cisco スイッチを(802.1Q をサポートする)非シスコ デバイスに接続する場合、Cisco スイッチは、トランクの 802.1Q ネイティブ VLAN のスパニング ツリー インスタンスを、非シスコ 802.1Q スイッチのスパニング ツリー インスタンスと統合します。ただし、VLAN 単位のスパニング ツリー情報は、他社製の 802.1Q スイッチのネットワークと切り離して、Cisco スイッチで維持されます。Cisco スイッチを切り離している他社製の 802.1Q ネットワークは、スイッチ間の単一トランク リンクとして扱われます。
(注) 802.1Q トランクの詳細については、第 14 章「レイヤ 2 イーサネット インターフェイスの設定」を参照してください。
PVRST+
Per-VLAN Rapid Spanning-Tree Plus(PVRST+)は PVST+ と同じですが、より高速なコンバージェンスを提供するために、802.1D ではなく IEEE 802.1w に基づいた Rapid STP(RSTP)を使用します。PVRST+ は、PVST+ とほぼ同一の設定を使用し、最小限の設定で済みます。PVRST+ では、トポロジの変更時にポート単位でダイナミック CAM(連想メモリ)エントリがただちに消去されます。機能が RSTP に組み込まれているため、このモードでは UplinkFast および BackboneFast はイネーブルに設定されていますが、アクティブになりません。PVRST+ は、ブリッジ、ブリッジ ポートまたは LAN 障害が発生したのち、迅速な接続の回復を提供します。
Per Vlan Spanning Tree(PVST+)同様、Per Vlan Rapid Spanning Tree(PVRST+)のインスタンス数はスイッチ上で設定されている VLAN の数と等しく、最大 4094 インスタンスまで増やすことができます。
イネーブル化に関する情報については、「PVRST+ のイネーブル化」を参照してください。
STP の設定
ここでは、VLAN 上でスパニング ツリーを設定する手順について説明します。
• 「STP のイネーブル化」
• 「拡張システム ID のイネーブル化」
• 「ルート ブリッジの設定」
• 「セカンダリ ルート スイッチの設定」
• 「STP ポート プライオリティの設定」
• 「STP ポート コストの設定」
• 「VLAN のブリッジ プライオリティの設定」
• 「hello タイムの設定」
• 「VLAN の最大エージング タイムの設定」
• 「VLAN の転送遅延時間の設定」
• 「STP のディセーブル化」
• 「PVRST+ のイネーブル化」
(注) この章で説明するスパニング ツリー コマンドは、no switchportコマンドで設定されるインターフェイスを除き、すべてのインターフェイス上で設定できます。
STP のイネーブル化
(注) デフォルトでは、すべての VLAN でスパニング ツリーはイネーブルになっています。
スパニング ツリーは、VLAN 単位でイネーブルにできます。スイッチは(スパニング ツリーをディセーブルにした VLAN を除き)各 VLAN についてスパニング ツリーの個別のインスタンスを維持します。
VLAN 単位でスパニング ツリーをイネーブルにするには、次の作業を行います。
|
|
|
ステップ 1 |
Switch# configure terminal
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Switch(config)#
spanning-tree vlan
vlan_ID
|
VLAN vlan_ID のスパニング ツリーをイネーブルにします。vlan_ID 値は、1 ~ 4094 の範囲で指定します。 |
ステップ 3 |
|
コンフィギュレーション モードを終了します。 |
ステップ 4 |
Switch#
show spanning-tree vlan
vlan_ID
|
スパニング ツリーがイネーブルになっていることを確認します。 |
次に、VLAN 200 上でスパニング ツリーをイネーブルにする例を示します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 200
(注) スパニング ツリーはデフォルトでイネーブルに設定されているため、show running コマンドを発行して作成されたコンフィギュレーションを表示しても、スパニング ツリーをイネーブルにするために入力したコマンドは表示されません。
次に、VLAN 200 上でスパニング ツリーがイネーブルになっていることを確認する例を示します。
Switch# show spanning-tree vlan 200
VLAN200 is executing the ieee compatible Spanning Tree protocol
Bridge Identifier has priority 32768, address 0050.3e8d.6401
Configured hello time 2, max age 20, forward delay 15
Current root has priority 16384, address 0060.704c.7000
Root port is 264 (FastEthernet5/8), cost of root path is 38
Topology change flag not set, detected flag not set
Number of topology changes 0 last change occurred 01:53:48 ago
Times: hold 1, topology change 24, notification 2
hello 2, max age 14, forward delay 10
Timers: hello 0, topology change 0, notification 0
Port 264 (FastEthernet5/8) of VLAN200 is forwarding
Port path cost 19, Port priority 128, Port Identifier 129.9.
Designated root has priority 16384, address 0060.704c.7000
Designated bridge has priority 32768, address 00e0.4fac.b000
Designated port id is 128.2, designated path cost 19
Timers: message age 3, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 3, received 3417
拡張システム ID のイネーブル化
(注) 64 個の MAC アドレスをサポートするシャーシの拡張システム ID は、常にイネーブルになっています。
1024 個の MAC アドレスをサポートするシャーシで拡張システム ID をイネーブルにするには、 spanning-tree extend system-id コマンド を使用します。「ブリッジ ID の概要」を参照してください。
拡張システム ID をイネーブルにするには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)#
spanning-tree extend system-id
|
拡張システム ID をイネーブルにします。 |
|
拡張システム ID をディセーブルにします。 (注) 64 個の MAC アドレスをサポートするシャーシでは、または拡張範囲 VLAN を設定している場合には、拡張システム ID をディセーブルにできません(「スパニング ツリーのデフォルト設定値」を参照)。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
ステップ 3 |
Switch#
show spanning-tree vlan
vlan_ID
|
設定を確認します。 |
(注) 拡張システム ID をイネーブルまたはディセーブルにすると、すべてのアクティブな STP インスタンスのブリッジ ID が更新されるため、これによってスパニング ツリー トポロジが変更される場合があります。
次に、拡張システム ID をイネーブルにする例を示します。
Switch# configure terminal
Switch(config)# spanning-tree extend system-id
次に、設定を確認する例を示します。
Switch# show spanning-tree summary | include extended
Extended system ID is enabled.
ルート ブリッジの設定
Catalyst 4000 ファミリ スイッチは、スイッチ上に設定されたアクティブな VLAN ごとにスパニング ツリーのインスタンスを維持します。各インスタンスには、ブリッジ プライオリティおよびブリッジ MAC アドレスで構成されるブリッジ ID が対応付けられます。VLAN ごとに、ブリッジ ID が最小のスイッチが、その VLAN のルート ブリッジになります。ブリッジ プライオリティが変更されると、常にブリッジ ID も変化します。この結果、VLAN のルート ブリッジが再計算されます。
指定された VLAN のルート ブリッジになるようにスイッチを設定するには、 spanning-tree vlan vlan-ID root コマンドを入力して、ブリッジ プライオリティをデフォルト値(32,768)から非常に小さな値へと変更します。指定された VLAN のブリッジ プライオリティに設定する 8192 は、この値によってスイッチが VLAN のルートになる場合に使用します。VLAN のブリッジのプライオリティが 8192 よりも低い場合、スイッチは最も低いブリッジ プライオリティより 1 小さい数値をプライオリティに設定します。
たとえば、ネットワークのすべてのスイッチが、VLAN 100 のブリッジ プライオリティにデフォルト値の 32,768 を設定していると仮定します。スイッチに spanning-tree vlan 100 root primary コマンドを指定すると、VLAN 100 のブリッジ プライオリティが 8192 に設定されるため、このスイッチは VLAN 100 のルート ブリッジになります。
(注) スパニング ツリーの各インスタンスのルート ブリッジは、バックボーン スイッチまたはディストリビューション スイッチである必要があります。アクセス スイッチをスパニング ツリーのプライマリ ルートとして設定しないでください。
レイヤ 2 ネットワークの直径(ネットワーク上の任意の 2 つのエンド ステーション間における最大ブリッジ ホップ数)を指定するには、 diameter キーワードを指定します。ネットワークの直径を指定すると、スイッチは自動的に最適な hello タイム、転送遅延時間、その直径のネットワークの最大エージング タイムをピックアップします。これによって、スパニング ツリーのコンバージェンス時間が大幅に短縮されます。
hello-time キーワードを使用して、自動的に計算される hello タイムを上書きできます。
(注) スイッチをルート ブリッジとして設定したあとで、hello タイム、転送遅延時間、および最大エージング タイムを手動で設定しないでください。
スイッチをルート スイッチとして設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# [
no ]
spanning-tree vlan
vlan_ID
root primary [
diameter
hops [
hello-time
seconds ]]
|
スイッチをルート ブリッジとして設定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
次に、スイッチを VLAN 10 のルート ブリッジとして設定し、ネットワーク直径を 4 に設定する例を示します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 10 root primary diameter 4
次に、スイッチがスパニング ツリー ルートになったときに設定が変わる例を示します。次に示すのは、スイッチが VLAN 1 のルートになる前の設定です。
Switch#show spanning-tree vlan 1
VLAN1 is executing the ieee compatible Spanning Tree protocol
Bridge Identifier has priority 32768, address 0030.94fc.0a00
Configured hello time 2, max age 20, forward delay 15
Current root has priority 32768, address 0001.6445.4400
Root port is 323 (FastEthernet6/3), cost of root path is 19
Topology change flag not set, detected flag not set
Number of topology changes 2 last change occurred 00:02:19 ago
Times: hold 1, topology change 35, notification 2
hello 2, max age 20, forward delay 15
Timers:hello 0, topology change 0, notification 0, aging 300
Port 323 (FastEthernet6/3) of VLAN1 is forwarding
Port path cost 19, Port priority 128, Port Identifier 129.67.
Designated root has priority 32768, address 0001.6445.4400
Designated bridge has priority 32768, address 0001.6445.4400
Designated port id is 129.67, designated path cost 0
Timers:message age 2, forward delay 0, hold 0
Number of transitions to forwarding state:1
Port 324 (FastEthernet6/4) of VLAN1 is blocking
Port path cost 19, Port priority 128, Port Identifier 129.68.
Designated root has priority 32768, address 0001.6445.4400
Designated bridge has priority 32768, address 0001.6445.4400
Designated port id is 129.68, designated path cost 0
Timers:message age 2, forward delay 0, hold 0
Number of transitions to forwarding state:0
スイッチをルートとして設定します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 1 root primary
Switch(config)# spanning-tree vlan 1 root primary
VLAN 1 bridge priority set to 8192
VLAN 1 bridge max aging time unchanged at 20
VLAN 1 bridge hello time unchanged at 2
VLAN 1 bridge forward delay unchanged at 15
次に示すのは、スイッチがルートになったあとの設定です。
Switch# show spanning-tree vlan 1
VLAN1 is executing the ieee compatible Spanning Tree protocol
Bridge Identifier has priority 8192, address 0030.94fc.0a00
Configured hello time 2, max age 20, forward delay 15
We are the root of the spanning tree
Topology change flag set, detected flag set
Number of topology changes 3 last change occurred 00:00:09 ago
Times: hold 1, topology change 35, notification 2
hello 2, max age 20, forward delay 15
Timers:hello 0, topology change 25, notification 0, aging 15
Port 323 (FastEthernet6/3) of VLAN1 is forwarding
Port path cost 19, Port priority 128, Port Identifier 129.67.
Designated root has priority 8192, address 0030.94fc.0a00
Designated bridge has priority 8192, address 0030.94fc.0a00
Designated port id is 129.67, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
BPDU:sent 9, received 105
Port 324 (FastEthernet6/4) of VLAN1 is listening
Port path cost 19, Port priority 128, Port Identifier 129.68.
Designated root has priority 8192, address 0030.94fc.0a00
Designated bridge has priority 8192, address 0030.94fc.0a00
Designated port id is 129.68, designated path cost 0
Timers:message age 0, forward delay 5, hold 0
Number of transitions to forwarding state:0
BPDU:sent 6, received 102
(注) ブリッジ プライオリティが 8192 に設定されたため、このスイッチがスパニング ツリーのルートになります。
セカンダリ ルート スイッチの設定
スイッチをセカンダリ ルートとして設定すると、スパニング ツリー ブリッジ プライオリティはデフォルト値(32,768)から 16,384 に変更されます。このアクションは、プライマリ ルート ブリッジが故障した場合に、そのスイッチが、指定された VLAN のルート ブリッジになる可能性が高いことを意味します(ネットワーク上の他のスイッチがデフォルトのブリッジ プライオリティ 32,768 を使用していることを前提とします)。
このコマンドを複数のスイッチに対して実行し、複数のバックアップ ルート スイッチを設定できます。プライマリ ルート スイッチを設定するときに使用したものと同じネットワーク直径および hello タイムを使用してください。
(注) スイッチをルート ブリッジとして設定したあとで、hello タイム、転送遅延時間、および最大エージング タイムを手動で設定しないでください。
スイッチをセカンダリ ルート スイッチとして設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# [
no ]
spanning-tree vlan
vlan_ID
root secondary [
diameter
hops [
hello-time
seconds ]]
|
スイッチをセカンダリ ルート スイッチとして設定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
次に、スイッチを VLAN 10 のセカンダリ ルート スイッチとして設定し、ネットワーク直径を 4 に設定する例を示します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 10 root secondary diameter 4
VLAN 10 bridge priority set to 16384
VLAN 10 bridge max aging time set to 14
VLAN 10 bridge hello time unchanged at 2
VLAN 10 bridge forward delay set to 10
次に、VLAN 1 の設定を確認する例を示します。
Switch#sh spanning-tree vlan 1
Spanning tree enabled protocol ieee
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Interface Role Sts Cost Prio.Nbr Status
---------------- ---- --- --------- -------- --------------------------------
Fa3/1 Desg FWD 19 128.129 P2p
Fa3/2 Desg FWD 19 128.130 P2p
Fa3/48 Desg FWD 19 128.176 Edge P2p
STP ポート プライオリティの設定
ループが発生した際、スパニング ツリーはフォワーディング ステートに移行するインターフェイスを選択する場合にポート プライオリティを考慮します。スパニング ツリーで最初に選択するインターフェイスに高いプライオリティ値を、最後に選択するインターフェイスに低いプライオリティ値を割り当てることができます。すべてのインターフェイスが同じプライオリティ値を使用している場合、スパニング ツリーはインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにして、残りのインターフェイスをブロックします。指定できるプライオリティの範囲は 0 ~ 240 で、16 ずつ増分して設定できます(デフォルトは 128)。
(注) Cisco IOS ソフトウェアは、インターフェイスがアクセス ポートとして設定されている場合にはポート プライオリティ値を使用し、インターフェイスがトランク ポートとして設定されている場合には VLAN ポート プライオリティ値を使用します。
インターフェイスのスパニング ツリー ポート プライオリティを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)#
interface {{
fastethernet |
gigabitethernet |
tengigabitethernet }
slot /
port } | {
port-channel
port_channel_number }
|
設定するインターフェイスを選択します。 |
ステップ 2 |
Switch(config-if)# [
no ]
spanning-tree port-priority
port_priority
|
インターフェイスのポート プライオリティを設定します。指定できる port_priority 値の範囲は 0 ~ 240 で、16 ずつ増分できます。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 3 |
Switch(config-if)# [
no ]
spanning-tree vlan
vlan_ID
port-priority
port_priority
|
インターフェイスの VLAN ポート プライオリティを設定します。指定できる port_priority 値の範囲は 0 ~ 240 で、16 ずつ増分できます。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 4 |
|
コンフィギュレーション モードを終了します。 |
ステップ 5 |
Switch#
show spanning-tree
interface {{
fastethernet |
gigabitethernet }
slot /
port } | {
port-channel
port_channel_number }
show spanning-tree
vlan
vlan_ID
|
設定を確認します。 |
次に、ファスト イーサネット インターフェイスのスパニング ツリー ポート プライオリティを設定する例を示します。
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree port-priority 100
次に、ファスト イーサネット インターフェイスをアクセス ポートとして設定した場合の、設定を確認する例を示します。
Switch# show spanning-tree interface fastethernet 3/1
Vlan Role Sts Cost Prio.Nbr Status
---------------- ---- --- --------- -------- --------------------------------
VLAN0001 Desg FWD 19 128.129 P2p
VLAN1002 Desg FWD 19 128.129 P2p
VLAN1003 Desg FWD 19 128.129 P2p
VLAN1004 Desg FWD 19 128.129 P2p
VLAN1005 Desg FWD 19 128.129 P2p
次に、インターフェイスをアクセス ポートとして設定した場合の、インターフェイスの設定の詳細を表示する例を示します。
Switch# show spanning-tree interface fastethernet 3/1 detail
Port 129 (FastEthernet3/1) of VLAN0001 is forwarding
Port path cost 19, Port priority 128, Port Identifier 128.129.
Designated root has priority 32768, address 0003.6b10.e800
Designated bridge has priority 32768, address 0003.6b10.e800
Designated port id is 128.129, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
Link type is point-to-point by default
BPDU:sent 187, received 1
Port 129 (FastEthernet3/1) of VLAN1002 is forwarding
Port path cost 19, Port priority 128, Port Identifier 128.129.
Designated root has priority 32768, address 0003.6b10.ebe9
Designated bridge has priority 32768, address 0003.6b10.ebe9
Designated port id is 128.129, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
Link type is point-to-point by default
Port 129 (FastEthernet3/1) of VLAN1003 is forwarding
Port path cost 19, Port priority 128, Port Identifier 128.129.
Designated root has priority 32768, address 0003.6b10.ebea
Designated bridge has priority 32768, address 0003.6b10.ebea
Designated port id is 128.129, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
Link type is point-to-point by default
Port 129 (FastEthernet3/1) of VLAN1004 is forwarding
Port path cost 19, Port priority 128, Port Identifier 128.129.
Designated root has priority 32768, address 0003.6b10.ebeb
Designated bridge has priority 32768, address 0003.6b10.ebeb
Designated port id is 128.129, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
Link type is point-to-point by default
Port 129 (FastEthernet3/1) of VLAN1005 is forwarding
Port path cost 19, Port priority 128, Port Identifier 128.129.
Designated root has priority 32768, address 0003.6b10.ebec
Designated bridge has priority 32768, address 0003.6b10.ebec
Designated port id is 128.129, designated path cost 0
Timers:message age 0, forward delay 0, hold 0
Number of transitions to forwarding state:1
Link type is point-to-point by default
(注) show spanning-tree port-priority コマンドは、リンクがアクティブになっているポートの情報だけを表示します。リンクがアクティブなポートがない場合は、show running-config interface コマンドを使用して設定を確認してください。
次に、ファスト イーサネット インターフェイスのスパニング ツリー VLAN ポート プライオリティを設定する例を示します。
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree vlan 200 port-priority 64
次に、インターフェイスの VLAN 200 をトランク ポートとして設定した場合の設定を確認する例を示します。
Switch# show spanning-tree vlan 200
Port 264 (FastEthernet5/8) of VLAN200 is forwarding
Port path cost 19, Port priority 64, Port Identifier 129.8.
Designated root has priority 32768, address 0010.0d40.34c7
Designated bridge has priority 32768, address 0010.0d40.34c7
Designated port id is 128.1, designated path cost 0
Timers: message age 2, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 0, received 13513
STP ポート コストの設定
スパニング ツリー ポート パス コストのデフォルト値には、インターフェイス メディア速度の値が使用されます。ループが発生した場合、スパニング ツリーはフォワーディング ステートに移行するインターフェイスを選択する際にポート コストを考慮します。スパニング ツリーで最初に選択するインターフェイスに低いコスト値を、最後に選択するインターフェイスに高いコスト値を割り当てることができます。すべてのインターフェイスが同じコスト値を使用している場合、スパニング ツリーは、インターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにして、残りのインターフェイスをブロックします。指定できるコストの範囲は、1 ~ 200,000,000 です(デフォルトは、メディアによって異なります)。
スパニング ツリーはインターフェイスがアクセス ポートとして設定されている場合にはポート コスト値を使用し、インターフェイスがトランク ポートとして設定されている場合には VLAN ポート コスト値を使用します。
インターフェイスのスパニング ツリー ポート コストを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)#
interface {{
fastethernet |
gigabitethernet |
tengigabitethernet }
slot /
port } | {
port-channel
port_channel_number }
|
設定するインターフェイスを選択します。 |
ステップ 2 |
Switch(config-if)# [
no ]
spanning-tree cost
port_cost
|
インターフェイスのポート コストを設定します。 port_cost 値は、1 ~ 200,000,000 の範囲で指定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 3 |
Switch(config-if)# [
no ]
spanning-tree vlan
vlan_ID
cost
port_cost
|
インターフェイスの VLAN ポート コストを設定します。 port_cost 値は、1 ~ 200,000,000 の範囲で指定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 4 |
|
コンフィギュレーション モードを終了します。 |
ステップ 5 |
Switch#
show spanning-tree
interface {{
fastethernet |
gigabitethernet }
slot /
port } | {
port-channel
port_channel_number }
show spanning-tree vlan
vlan_ID
|
設定を確認します。 |
次に、ファスト イーサネット インターフェイスのスパニング ツリー ポート コストを変更する例を示します。
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree cost 18
次に、インターフェイスをアクセス ポートとして設定した場合の設定を確認する例を示します。
Switch# show spanning-tree interface fastethernet 5/8
Port 264 (FastEthernet5/8) of VLAN200 is forwarding
Port path cost 18, Port priority 100, Port Identifier 129.8.
Designated root has priority 32768, address 0010.0d40.34c7
Designated bridge has priority 32768, address 0010.0d40.34c7
Designated port id is 128.1, designated path cost 0
Timers: message age 2, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 0, received 13513
次に、ファスト イーサネット インターフェイスのスパニング ツリー VLAN ポート コストを設定する例を示します。
Switch# configure terminal
Switch(config)# interface fastethernet 5/8
Switch(config-if)# spanning-tree vlan 200 cost 17
次に、インターフェイスの VLAN 200 をトランク ポートとして設定した場合の設定を確認する例を示します。
Switch# show spanning-tree vlan 200
Port 264 (FastEthernet5/8) of VLAN200 is forwarding
Port path cost 17, Port priority 64, Port Identifier 129.8.
Designated root has priority 32768, address 0010.0d40.34c7
Designated bridge has priority 32768, address 0010.0d40.34c7
Designated port id is 128.1, designated path cost 0
Timers: message age 2, forward delay 0, hold 0
Number of transitions to forwarding state: 1
BPDU: sent 0, received 13513
(注) show spanning-tree コマンドは、リンクがアクティブになっている(グリーンに点灯)ポートの情報だけを表示します。リンクがアクティブなポートがない場合は、show running-config コマンドを使用して設定を確認してください。
VLAN のブリッジ プライオリティの設定
(注) VLAN のブリッジ プライオリティを設定する場合は、注意が必要です。ブリッジ プライオリティを変更するには、通常の場合、spanning-tree vlan vlan_ID root primaryコマンドおよび spanning-tree vlan vlan_ID root secondaryコマンドの使用を推奨します。
VLAN のスパニング ツリー ブリッジ プライオリティを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# [
no ]
spanning-tree vlan
vlan_ID
priority
bridge_priority
|
VLAN のブリッジ プライオリティを設定します。 bridge_priority 値は、1 ~ 65,534 の範囲で指定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
ステップ 3 |
Switch#
show spanning-tree
vlan
vlan_ID
bridge [
brief ]
|
設定を確認します。 |
次に、VLAN 200 のブリッジ プライオリティを 33,792 に設定する例を示します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 priority 33792
次に、設定を確認する例を示します。
Switch# show spanning-tree vlan 200 bridge brief
Vlan Bridge ID Time Age Delay Protocol
---------------- -------------------- ---- ---- ----- --------
VLAN200 33792 0050.3e8d.64c8 2 20 15 ieee
hello タイムの設定
(注) hello タイムを設定する場合は、注意が必要です。hello タイムを変更するには、通常の場合 spanning-tree vlan vlan_ID root primaryコマンドおよび spanning-tree vlan vlan_ID root secondaryコマンドの使用を推奨します。
VLAN のスパニング ツリー hello タイムを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# [
no ]
spanning-tree vlan
vlan_ID
hello-time
hello_time
|
VLAN の hello タイムを設定します。 hello_time 値は、1 ~ 10 秒の範囲で指定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
ステップ 3 |
Switch#
show spanning-tree
vlan
vlan_ID
bridge [
brief ]
|
設定を確認します。 |
次に、VLAN 200 の hello タイムを 7 秒に設定する例を示します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 hello-time 7
次に、設定を確認する例を示します。
Switch# show spanning-tree vlan 200 bridge brief
Vlan Bridge ID Time Age Delay Protocol
---------------- -------------------- ---- ---- ----- --------
VLAN200 49152 0050.3e8d.64c8 7 20 15 ieee
VLAN の最大エージング タイムの設定
(注) エージング タイムを設定する場合は、注意が必要です。最大エージング タイムを変更するには、通常の場合、spanning-tree vlan vlan_ID root primaryコマンドおよび spanning-tree vlan vlan_ID root secondaryコマンドの使用を推奨します。
VLAN のスパニング ツリー最大エージング タイムを設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# [
no ]
spanning-tree vlan
vlan_ID
max-age
max_age
|
VLAN の最大エージング タイムを設定します。 max_age 値は、6 ~ 40 秒の範囲で指定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
ステップ 3 |
Switch#
show spanning-tree
vlan
vlan_ID
bridge [
brief ]
|
設定を確認します。 |
次に、VLAN 200 の最大エージング タイムを 36 秒に設定する例を示します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 max-age 36
次に、設定を確認する例を示します。
Switch# show spanning-tree vlan 200 bridge brief
Vlan Bridge ID Time Age Delay Protocol
---------------- -------------------- ---- ---- ----- --------
VLAN200 49152 0050.3e8d.64c8 2 36 15 ieee
VLAN の転送遅延時間の設定
(注) 転送遅延時間を設定する場合は、注意が必要です。転送遅延時間を変更するには、通常の場合、spanning-tree vlan vlan_ID root primary コマンドおよび spanning-tree vlan vlan_ID root secondary コマンドの使用を推奨します。
VLAN のスパニング ツリー転送遅延時間を設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# [
no ]
spanning-tree vlan
vlan_ID
forward-time
forward_time
|
VLAN の転送時間を設定します。 forward_time 値は、4 ~ 30 秒の範囲で指定します。 デフォルトの設定に戻すには、 no キーワードを使用します。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
ステップ 3 |
Switch#
show spanning-tree
vlan
vlan_ID
bridge [
brief ]
|
設定を確認します。 |
次に、VLAN 200 の転送遅延時間を 21 秒に設定する例を示します。
Switch# configure terminal
Switch(config)# spanning-tree vlan 200 forward-time 21
次に、設定を確認する例を示します。
Switch# show spanning-tree vlan 200 bridge brief
Vlan Bridge ID Time Age Delay Protocol
---------------- -------------------- ---- ---- ----- --------
VLAN200 49152 0050.3e8d.64c8 2 20 21 ieee
次に、ブリッジのスパニング ツリー情報を表示する例を示します。
Switch# show spanning-tree bridge
Vlan Bridge ID Time Age Dly Protocol
---------------- --------------------------------- ----- --- --- --------
VLAN200 49152 0050.3e8d.64c8 2 20 15 ieee
VLAN202 49152 0050.3e8d.64c9 2 20 15 ieee
VLAN203 49152 0050.3e8d.64ca 2 20 15 ieee
VLAN204 49152 0050.3e8d.64cb 2 20 15 ieee
VLAN205 49152 0050.3e8d.64cc 2 20 15 ieee
VLAN206 49152 0050.3e8d.64cd 2 20 15 ieee
STP のディセーブル化
VLAN 単位でスパニング ツリーをディセーブルにするには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)#
no spanning-tree vlan
vlan_ID
|
VLAN 単位でスパニング ツリーをディセーブルにします。 |
ステップ 2 |
|
コンフィギュレーション モードを終了します。 |
ステップ 3 |
Switch#
show spanning-tree vlan
vlan_ID
|
スパニング ツリーがディセーブルになっていることを確認します。 |
次に、VLAN 200 上でスパニング ツリーをディセーブルにする例を示します。
Switch# configure terminal
Switch(config)# no spanning-tree vlan 200
次に、設定を確認する例を示します。
Switch# show spanning-tree vlan 200
Spanning tree instance for VLAN 200 does not exist.
PVRST+ のイネーブル化
PVRST+ は、既存の PVST+ フレームワークを設定および他の機能との相互作用に使用しています。また、PVST+ 拡張機能の一部をサポートします。
PVRST+ を設定するには、次の作業を行います。
|
|
|
ステップ 1 |
Switch(config)# [
no ] spantree mode rapid-pvst
|
Rapid-PVST+ をイネーブルにします。 |
ステップ 2 |
Switch(config)# interface interface/port
|
インターフェイス コンフィギュレーション モードに切り替えます。 |
ステップ 3 |
Switch(config)#
spanning-tree link-type point-to-point
|
ポートのリンク タイプをポイントツーポイント モードに設定します。 |
ステップ 4 |
|
インターフェイス モードを終了します。 |
ステップ 5 |
|
コンフィギュレーション モードを終了します。 |
ステップ 6 |
Switch(config-if)# clear spantree detected-protocols mod/port
|
ポート上のすべてのレガシー ブリッジを検出します。 |
ステップ 7 |
Switch# show spanning-tree summary totals
|
Rapid-PVST+ 設定を確認します。 |
次に、Rapid-PVST+ を設定する例を示します。
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# spanning-tree mode rapid-pvst
Switch(config)# int fa 6/4
Switch(config-if)# spanning-tree link-type point-to-point
23:55:32:%SYS-5-CONFIG_I:Configured from console by console
Switch# clear spanning-tree detected-protocols
次に、設定を確認する例を示します。
Switch# show spanning-tree summary totals
Switch is in rapid-pvst mode
Extended system ID is disabled
Portfast Default is disabled
PortFast BPDU Guard Default is disabled
Portfast BPDU Filter Default is disabled
Loopguard Default is disabled
EtherChannel misconfig guard is enabled
Pathcost method used is short
Name Blocking Listening Learning Forwarding STP Active
---------------------- -------- --------- -------- ---------- ----------
リンク タイプの指定
高速接続が確立されるのは、ポイントツーポイント リンク上に限られます。スパニング ツリーは、ポイントツーポイント リンクをスパニング ツリー アルゴリズムを実行する 2 つのスイッチだけを接続するセグメントと見なします。スイッチは、すべての全二重リンクをポイントツーポイント リンクとして見なし、半二重リンクを共有リンクと見なすため、明示的なリンク タイプの設定を回避できます。特定のリンク タイプを設定するには、 spanning-tree linktype コマンドを使用します。
プロトコル移行の再開
Multiple Spanning-Tree Protocol(MSTP; マルチプル スパニング ツリー プロトコル)および RSTP の両方が稼動するスイッチは、組み込み型のプロトコル移行プロセスをサポートし、レガシー 802.1D スイッチとの相互運用が可能となります。このスイッチがレガシー 802.1D 設定 BPDU(プロトコルのバージョンが 0 に設定されている BPDU)を受信した場合は、そのポート上で 802.1D BPDU だけを送信します。さらに、MSTP スイッチがレガシー BPDU を受信する場合、次の事項も検出します。
• ポートがリージョンの境界にある
• 異なるリージョンに関連付けられた MST BPDU(バージョン 3)
• RST BPDU(バージョン 2)
ただし、スイッチは、802.1D BPDU を受信しなくなった場合であっても、自動的に MSTP モードには戻りません。これは、レガシー スイッチが指定スイッチでなければ、リンクから削除されたかどうかを判別できないためです。また、あるスイッチの接続先のスイッチがリージョンに加入した場合でも、このスイッチはポートに境界の役割を割り当て続けることもあります。
スイッチ全体でプロトコル移行プロセスを再開する(強制的にネイバー スイッチと再度ネゴシエートさせる)には、特権 EXEC モードで clear spanning-tree detected-protocols コマンドを使用します。特定のインターフェイス上でプロトコル移行プロセスを再開するには、 interface-id 特権 EXEC モードで clear spanning-tree detected-protocols interface コマンドを使用します。
MSTの概要
ここでは、Catalyst 4000 ファミリ スイッチにおける MST の機能について説明します。
• 「IEEE 802.1s MST」
• 「IEEE 802.1w RSTP」
• 「MST/SST 間のインターオペラビリティ」
• 「CST」
• 「MSTI」
• 「MST のコンフィギュレーション パラメータ」
• 「MST リージョン」
• 「メッセージ エージおよびホップ カウント」
• 「MST/PVST+ 間のインターオペラビリティ」
IEEE 802.1s MST
MST は、IEEE 802.1w Rapid Spanning-Tree(RST)アルゴリズムを複数のスパニング ツリーに拡張します。この拡張によって、VLAN 環境で高速コンバージェンスとロードバランシングの両方を実現できます。MST は Per VLAN Spanning-Tree Plus(PVST+)よりもコンバージェンスが速く、802.1D Spanning-Tree Protocol(STP; スパニング ツリー プロトコル)、802.1w(Rapid Spanning-Tree Protocol(RSTP))、およびシスコ PVST+ アーキテクチャに対して下位互換性があります。
MST を使用すると、トランクを介して複数のスパニング ツリーを構築できます。VLAN をグループとしてまとめ、スパニング ツリー インスタンスに対応付けることができます。各インスタンスに、他のスパニング ツリー インスタンスに依存しないトポロジを与えることができます。このアーキテクチャによって、データ トラフィックに複数の転送パスが与えられ、ロードバランシングが可能になります。あるインスタンス(転送パス)で障害が発生しても、他のインスタンスに影響を与えないので、ネットワークの耐障害性が向上します。
大規模なネットワークで、ネットワーク管理が容易になり、ネットワークのさまざまな部分にさまざまな VLAN を配置し、スパニング ツリー インスタンスを割り当てることによって、冗長パスを使用できます。スパニング ツリー インスタンスが存在できるのは、矛盾しない VLAN インスタンスが割り当てられているブリッジに限られます。1 組のブリッジを同じ MST 設定情報を使用して設定する必要があります。この結果、特定のスパニング ツリー インスタンス セットに参加させることができます。同じ MST コンフィギュレーションが与えられて相互接続されたブリッジは、 MST リージョン といいます。
MST は修正済みの RSTP、MSTP を使用します。MST には次のような特徴があります。
• MST は Internal Spanning-Tree(IST)という形式のスパニング ツリーを実行します。IST は、MST リージョンに関する内部情報によって Common Spanning-Tree(CST)情報を補います。MST リージョンは、隣接する Single Spanning-Tree(SST)および MST リージョンで、単一ブリッジとして認識されます。
• MST が稼動しているブリッジは、次のように、SST ブリッジとのインターオペラビリティを確保します。
– MST ブリッジは IST を実行し、MST リージョンに関する内部情報によって、CST 情報を補います。
– IST はリージョン内のすべての MST ブリッジを結合するので、そのブリッジ ドメイン全体が含まれる CST では、1 つのサブツリーとして認識されます。MST リージョンは、隣接する SST ブリッジおよび MST リージョンにとって、仮想ブリッジとして認識されます。
– Common and Internal Spanning Tree(CIST)は、各 MST リージョンの IST、MST リージョンと相互接続する CST、および SST ブリッジの要素の集まりです。CIST は MST リージョン内部の IST、および MST リージョン外部の CST と同一です。STP、RSTP、および MSTP は合同で、1 つのブリッジを CIST のルートとして選定します。
• MST は各 MST リージョン内で、追加のスパニング ツリーを確立して維持します。これらのスパニング ツリーを MST Instance(MSTI)といいます。IST の番号は 0、MSTI の番号は 1、2、3(以下同様)になります。MSTI は MST リージョンに対してローカルで、MST リージョンが相互接続されている場合でも、他のリージョンの MSTI とは無関係です。
MSTI は次のように、MST リージョン境界で IST と結合し、CST になります。
– MSTI のスパニング ツリー情報が MSTP レコード(M レコード)に格納されます。
M レコードは常に、MST BPDU 内でカプセル化されます。MSTP で計算されたオリジナルのスパニング ツリーは、MST リージョン内でだけアクティブとなり、M ツリーと呼ばれます。M ツリーは MST リージョン境界で IST と組み合わされ、CST を形成します。
• MST は、非 CST VLAN 用の PVST+ BPDU を生成し、PVST+ とのインターオペラビリティを維持します。
• MST は次のように、MSTP の PVST+ 拡張機能の一部をサポートします。
– UplinkFast および BackboneFast は、MST モードで使用できません。これらは RSTP に組み込まれています。
– PortFast はサポートされています。
– BPDU フィルタおよび BPDU ガードは、MST モードでサポートされています。
– ループ ガードおよびルート ガードは MST でサポートされています。MST は、BPDU が引き続き VLAN 1 で送信される点を除き、VLAN 1 でディセーブルの機能をそのままの状態で維持します。
– MST スイッチは、MAC 縮小がイネーブルの場合と同様に動作します。
– Private VLAN(PVLAN)の場合、セカンダリ VLAN をプライマリと同じインスタンスにマッピングする必要があります。
IEEE 802.1w RSTP
802.1w で規定されている RSTP は、802.1D で規定された STP に代わるものですが、STP との互換性は維持されています。RSTP は、MST 機能とともに設定します。詳細については、「MST の設定」を参照してください。
MST は RSTP が提供する構造上で動作し、物理トポロジまたは設定パラメータが変更されたときにネットワークのアクティブなトポロジを再設定する時間を短縮します。RSTP は、スパニング ツリーに接続されたアクティブ トポロジのルートとしてスイッチを 1 つ選択し、スイッチの個々のポートに、そのポートがアクティブ トポロジに含まれるかどうかに応じて、ポートの役割を割り当てます。
RSTP はスイッチ、スイッチ ポート、または LAN 障害の発生後に、短時間で接続できるようにします。新しいルート ポートとブリッジの反対側の指定ポートが、両者間の明示的ハンドシェイクによってフォワーディング ステートに移行します。RSTP を使用すると、スイッチの再初期化時にポートが直接フォワーディング ステートに移行できるように、スイッチ ポートを設定できます。
RSTP は、802.1D ブリッジに対して次のような下位互換性があります。
• RSTP はポート単位で、802.1D で設定された BPDU および Topology Change Notification(TCN; トポロジ変更通知)BPDU を選択して送信します。
• ポートの初期化時に、移行遅延タイマーが開始され、RSTP BPDU が送信されます。移行遅延タイマーがアクティブな間、ブリッジはそのポートで受信したすべての BPDU を処理します。
• ポートの移行遅延タイマーが満了したあとでブリッジが 802.1D BPDU を受信した場合、ブリッジは 802.1D ブリッジに接続されていると見なして、802.1D BPDU だけを使用するようになります。
• RSTP がポート上で 802.1D BPDU を使用していて、移行遅延タイマーの満了後に RSTP BPDU を受信した場合、RSTP によって移行遅延タイマーが再起動され、そのポート上で RSTP BPDU の使用が開始されます。
RSTP のポートの役割
RSTP では、ポートの役割は次のように定義されます。
• ルート:スパニング ツリー トポロジ用に選択された転送ポート
• 指定:すべてのスイッチド LAN セグメント用に選択された転送ポート
• 代替:現在のルート ポートによって提供されるルート ブリッジへの代替パス
• バックアップ:スパニング ツリーのリーフ近くで、指定ポートによって提供されるパスのバックアップ。バックアップ ポートが存在できるのは、2 つのポートがループバック モードで、または共有 LAN セグメントに対して複数の接続を持つブリッジで結合されている場合だけです。
• ディセーブル:スパニング ツリーの動作において役割を持たないポート
ポートの役割は次のように割り当てられます。
• ルート ポートまたは指定ポートの役割の場合、ポートはアクティブ トポロジに含まれます。
• 代替ポートまたはバックアップ ポートの役割の場合、ポートはアクティブ トポロジから除外されます。
RSTP ポート ステート
ポート ステートは、フォワーディングおよびラーニング プロセスを制御し、廃棄、ラーニング、およびフォワーディングの値を提供します。 表 16-5 に、STP ポート ステートと RSTP ポート ステートを示します。
表 16-5 STP ポート ステートおよび RSTP ポート ステートの比較
|
|
|
|
イネーブル |
ブロッキング |
廃棄 |
含まれない |
イネーブル |
リスニング |
廃棄 |
含まれない |
イネーブル |
ラーニング |
ラーニング |
含まれる |
イネーブル |
フォワーディング |
フォワーディング |
含まれる |
ディセーブル |
ディセーブル |
廃棄 |
含まれない |
RSTP は安定したトポロジで、すべてのルート ポートおよび指定ポートがフォワーディング ステートに移行し、すべての代替ポートおよびバックアップ ポートが必ず廃棄ステートになるようにします。
MST/SST 間のインターオペラビリティ
仮想ブリッジで結ばれた LAN には、SST ブリッジおよび MST ブリッジから構成される相互接続されたリージョンが含まれる場合があります。図 16-2 に、この関係を示します。
図 16-2 SST および MST リージョンが相互接続されているネットワーク
SST リージョンで稼動している STP において、MST リージョンは次のように動作する単一 SST または擬似ブリッジとして認識されます。
• すべての擬似ブリッジにおいて、BPDU のルート ID とルート パス コストの値は一致しますが、擬似ブリッジは単一の SST ブリッジと次の点が異なります。
– 擬似ブリッジの BPDU には、異なるブリッジ ID が与えられます。ルート ID とルート コストが同じなので、この相違がネイバー SST リージョンの STP 動作に影響を与えることはありません。
– 擬似ブリッジ ポートから送信された BPDU では、メッセージ有効期間が多少異なることがあります。メッセージ エージはホップごとに 1 秒ずつ増えるので、メッセージ エージの相違は秒単位で測定されます。
• 擬似ブリッジのあるポート(リージョン エッジにあるポート)から別のポートへのデータ トラフィックは、擬似ブリッジまたは MST リージョンに完全に含まれるパスをたどります。異なる VLAN に属するデータ トラフィックは、MST によって確立された MST リージョン内で異なるパスをたどる場合があります。
• システムは次のいずれかの方法でループの発生を防ぎます。
– 境界上のフォワーディング ポートを 1 つ許可し、他のすべてのポートをブロックして、該当する擬似ブリッジ ポートをブロックします。
– CST パーティションを設定して、SST リージョンのポートをブロックします。
CST
CST(802.1Q)は、すべての VLAN に対応する単一のスパニング ツリーです。PVST+ が稼動している Catalyst 4500 シリーズ スイッチでは、VLAN 1 スパニング ツリーが CST に対応します。MST が稼動している Catalyst 4500 シリーズ スイッチでは、IST(インスタンス 0)が CST に対応します。
MSTI
インスタンス 0 も含めて、65 個のインスタンスがサポートされます。各スパニング ツリー インスタンスが、0 ~ 4094 の範囲内のインスタンス ID により識別されます。インスタンス 0 は必須で、常に存在します。その他のインスタンスは、任意です。
MST のコンフィギュレーション パラメータ
MST のコンフィギュレーションは次の 3 つの部分から構成されます。
• 名前:MST リージョンを特定する 32 文字のストリング(ヌルの埋め込みあり)
• リビジョン番号:現在の MST コンフィギュレーションのリビジョンを表す、符号なし 16 ビット数
(注) MST コンフィギュレーションの一部として必要な場合は、リビジョン番号を設定する必要があります。リビジョン番号は、MST コンフィギュレーションを実行するたびに、自動的に増えるわけではありません。
• MST コンフィギュレーション テーブル:4096 バイトの配列。各バイトは、符号なし整数として解釈され、VLAN に対応します。値は、VLAN を対応付けるインスタンス番号です。VLAN 0 に対応する先頭バイト、および VLAN 4095 に対応する 4096 番めのバイトは使用しません。常に 0 に設定します。
各バイトを手動で設定する必要があります。Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)または Command-Line Interface(CLI; コマンドライン インターフェイス)を使用してコンフィギュレーションを実行します。
MST BPDU には、MST コンフィギュレーション ID およびチェックサムが入ります。MST ブリッジは、MST BPDU のコンフィギュレーション ID およびチェックサムが自身の MST リージョンのコンフィギュレーション ID およびチェックサムと一致した場合に限り、MST BPDU を受け入れます。いずれかの値が異なる場合、その MST BPDU は SST BPDU と見なされます。
MST リージョンの概要
同じ MST コンフィギュレーションが与えられて相互接続されたブリッジは、MST リージョンといいます。ネットワークで使用できる MST リージョンの数に制限はありません。
MST リージョンを形成する場合、使用できるブリッジは次のどちらかです。
• MST リージョンの唯一のメンバである MST ブリッジ
• LAN によって相互接続された MST ブリッジ。LAN の指定ブリッジには、MST ブリッジと同じ MST コンフィギュレーションを与えます。LAN 上のすべてのブリッジが MST BPDU を処理します。
MST コンフィギュレーションが異なる 2 つの MST リージョンを接続した場合、MST リージョンは次のように動作します。
• ネットワークの冗長パス間でロードバランシングを図ります。2 つの MST リージョンが冗長接続されている場合、すべてのトラフィックは MST リージョンとの単一接続を使用して、ネットワーク上を流れます。
• RSTP ハンドシェイクによって、リージョン間の高速接続を可能にします。ただし、このハンドシェイクは 2 つのブリッジ間の場合ほど高速ではありません。ループを防止するためには、リージョン内のすべてのブリッジが他のリージョンとの接続時に合意している必要があります。この状況によって遅延が生じるため、ネットワークを多数のリージョンに分割することは推奨できません。
境界ポート
境界ポートは LAN に接続するポートで、その指定ブリッジは SST ブリッジまたは異なる MST コンフィギュレーションのブリッジのどちらかです。指定ポートは、STP ブリッジを検出した場合、またはコンフィギュレーションの異なる RST/MST ブリッジから同意メッセージを受信した場合、境界上にあることを認識します。
境界では、MST ポートの役割に関係なく、ポート ステートが強制的に IST ポート ステートと同じになります。ポートに境界フラグが設定されている場合、MST ポート ロール選択メカニズムによって、境界にポートの役割が割り当てられ、IST ポートと同じステートが設定されます。境界の IST ポートは、バックアップ ポートの役割以外のすべてのポートの役割を担うことができます。
IST マスター
MST リージョンの IST マスターは最小ブリッジ ID を持ち、CST ルートに対するパス コストが最小のブリッジです。MST ブリッジが CST のルート ブリッジになっている場合は、それがその MST リージョンの IST マスターです。CST ルートが MST リージョン外にある場合は、境界上の MST ブリッジの 1 つが IST マスターとして選択されます。同じリージョンに属する境界上の他のブリッジは、ルートに接続する境界ポートを最終的にブロックします。
リージョン境界の複数のブリッジで、ルートへのパスがまったく同じ場合、わずかに小さいブリッジ プライオリティを設定することで、特定のブリッジを IST マスターにすることができます。
リージョン内でのルート パス コストおよびメッセージ エージは一定のままですが、ホップごとに IST パス コストは増加し、IST 残りホップ数は減少します。 show spanning-tree mst コマンドを入力すると、IST マスター、パス コスト、ブリッジの残りホップ数に関する情報が表示されます。
エッジ ポート
非ブリッジング デバイス(ホスト、スイッチなど)に接続するポートが、エッジ ポートです。ハブに接続するポートも、ハブまたはハブによって接続された LAN にブリッジがない場合、エッジ ポートです。エッジ ポートは、リンクがアップになると同時に転送を開始します。
MST では各ポートをホストに接続する設定が必要です。障害発生後に高速で接続を確立するには、中間ブリッジの非エッジ指定ポートをブロックする必要があります。ポートが同意メッセージを送り返すことができる別のブリッジに接続した場合、そのポートはただちに転送を開始します。それ以外の場合、ポートが再び転送を開始するまでに、転送遅延時間の 2 倍の時間がかかります。ホストおよびスイッチに接続されたポートを MST 使用時のエッジ ポートとして、明示的に設定する必要があります。
誤って設定されることがないように、ポートが BPDU を受信すると、PortFast 動作がオフになります。 show spanning-tree mst interface コマンドを使用すると、PortFast の設定および動作ステータスを表示できます。
リンク タイプ
高速接続が確立されるのは、ポイントツーポイント リンク上に限られます。ホストまたはスイッチに対して、ポートを明示的に設定する必要があります。ただし、大部分のネットワークでは、ケーブル接続がこの条件を満たしているので、 spanning-tree linktype コマンドを入力し、すべての全二重リンクをポイントツーポイント リンクとして扱うことで、明示的設定を回避できます。
メッセージ エージおよびホップ カウント
IST および MSTI は、BPDU のメッセージ有効期間および最大エージング タイマーの設定値を使用しません。IST および MST は、IP Time to Live(TTL; 存続可能時間)メカニズムにきわめて類似した別個のホップ カウント メカニズムを使用します。最大ホップ カウントを指定して、各 MST ブリッジを設定できます。インスタンスのルート ブリッジは、最大ホップ カウントと同じ残りホップ カウントを指定して、BPDU(または M レコード)を送信します。BPDU(または M レコード)を受信したブリッジは、受信した残りのホップ カウントを 1 だけ減らします。この結果、カウントが 0 になった場合、ブリッジはこの BPDU(または M レコード)を廃棄し、ポートのために保持していた情報を期限切れにします。非ルート ブリッジは、生成した BPDU(または M レコード)で、減らされたカウントを残りのホップ カウントとして伝播します。
BPDU の RST 部分に指定されているメッセージ エージおよび最大エージング タイマーの設定値は、リージョン内では常に同じです。境界上にあるリージョンの指定ポートによって、同じ値が伝達されます。
MST/PVST+ 間のインターオペラビリティ
(同一リージョン内の)MST スイッチが PVST+ スイッチと対話するように設定する場合、次の注意事項に留意してください。
• MST リージョン内のすべての VLAN に対するルートを設定します。次の例を参照してください。
Switch# show spanning-tree mst interface gigabitethernet 1/1
GigabitEthernet1/1 of MST00 is root forwarding
Edge port: no (trunk) port guard : none (default)
Link type: point-to-point (auto) bpdu filter: disable (default)
Boundary : boundary (PVST) bpdu guard : disable (default)
Bpdus sent 10, received 310
Instance Role Sts Cost Prio.Nbr Vlans mapped
-------- ---- --- --------- -------- -------------------------------
0 Root FWD 20000 128.1 1-2,4-2999,4000-4094
3 Boun FWD 20000 128.1 3,3000-3999
MST スイッチに属する境界ポートは、PVST+ をシミュレートし、すべての VLAN に PVST+ BPDU を送信します。
PVST+ スイッチ上でループ ガードをイネーブルにすると、MST スイッチの設定が変更されたときに、ポートが loop-inconsistent ステートに変化する可能性があります。loop-inconsistent ステートを修正するには、その PVST+ スイッチでループ ガードをディセーブルにし、再びイネーブルにする必要があります。
• MST スイッチの PVST+ サイド内にある VLAN の一部またはすべてに対して、ルートを配置しないでください。境界の MST スイッチが指定ポート上の VLAN のすべてまたは一部に対する PVST+ BPDU を受信すると、ルート ガードによってそのポートがブロッキング ステートになります。
PVST+ スイッチを 2 つの異なる MST リージョンに接続すると、PVST+ スイッチからのトポロジ変更が最初の MST リージョンから先へ伝達されません。この場合、トポロジ変更は VLAN がマッピングされているインスタンスで伝播されるだけです。トポロジ変更は最初の MST リージョンに対してローカルのままで、その他のリージョンの Cisco Access Manager(CAM)エントリはフラッシュされません。他の MST リージョンにもトポロジ変更が認識されるようにするには、IST に VLAN をマッピングするか、またはアクセス リンクを介して 2 つのリージョンに PVST+ スイッチを接続します。