STPの概要
STPは、ネットワーク上でパスの冗長性を確保し、不要なループの発生を防ぐ、レイヤ2リンク管理プロトコルです。レイヤ2イーサネット ネットワークの正常な動作を実現するには、どの2つのステーション間でもアクティブ パスを1つにする必要があります。ネットワーク トポロジーのループフリーのサブセットは、スパニングツリーと呼ばれます。スパニングツリーの動作はエンド ステーションに対してトランスペアレントなので、エンド ステーションが特定のLANセグメントに接続されているのか、それとも複数セグメントからなるスイッチドLANに接続されているのかを突き止めることはできません。
Catalyst 4000ファミリー スイッチは、すべてのVLAN(仮想LAN)でSTP(IEEE 802.1dブリッジ プロトコル)を使用します。デフォルトでは、(スパニングツリーを手動でディセーブルにしない限り)設定されているVLANごとに1つのスパニングツリーが動作します。スパニングツリーは、VLAN単位でイネーブルまたはディセーブルにできます。
フォールトトレラントなインターネットワークを作成する場合、ネットワーク上のすべてのノード間にループフリー パスを形成する必要があります。スパニングツリー アルゴリズムは、スイッチド レイヤ2ネットワーク上で最良のループフリー パスを算出します。スイッチは定期的にスパニングツリー フレームを送受信します。スイッチはこれらのフレームを転送せずに、フレームを使用してループフリー パスを構築します。
エンド ステーション間に複数のアクティブ パスがあると、ネットワーク内でループが発生する原因になります。ネットワークにループが存在すると、エンド ステーションが重複したメッセージを受信する可能性があります。また、スイッチが複数のレイヤ2インターフェイス上のエンド ステーションMAC(メディア アクセス制御)アドレスを学習する可能性があります。このような状況により、ネットワークが不安定になります。
スパニングツリーは、ルート スイッチおよびそのルートからレイヤ2ネットワーク上のすべてのスイッチへのループフリー パスを備えたツリーを定義します。スパニングツリーは、冗長データ パスを強制的にスタンバイ(ブロック)ステートにします。スパニングツリーのネットワーク セグメントの1つで障害が発生し、かつ冗長パスが存在する場合、スパニングツリー アルゴリズムはスパニングツリー トポロジーを再計算し、スタンバイ パスをアクティブにします。
スイッチ上の2つのポートがループの一部になっている場合、フォワーディング ステートになるポートと、ブロッキング ステートになるポートは、スパニングツリー ポート プライオリティおよびポート パス コストの設定によって決まります。スパニングツリー ポート プライオリティ値は、ネットワーク トポロジーにおけるインターフェイスの位置を表すとともに、ポートがトラフィックを伝送する場合にどの程度適した位置にあるかを表します。スパニングツリー ポート パス コスト値は、メディア速度を表します。
ブリッジIDの概要
各ネットワーク デバイス上の各VLANには、一意の64ビット ブリッジIDが設定されています。ブリッジIDはブリッジ プライオリティ値、拡張システムID、およびSTP MACアドレス割り当てで構成されています。
ブリッジ プライオリティ値
ブリッジ プライオリティ値は、特定の冗長リンクがプライオリティを指定され、スパニングツリーの特定のスパンに含まれるとみなされるかどうかを決定します。値が低いほど優先されるので、手動で優先度を設定する場合は、リンクに割り当てるブリッジ プライオリティの値を冗長リンクの場合よりも低くします。12.1(12c)EWより前のリリースでは、ブリッジ プライオリティは16ビット値です(
表 12-1
を参照)。12.1(12c)EW以降のリリースでは、ブリッジ プライオリティは拡張システムIDがイネーブルの場合は4ビット値です(
表 12-2
を参照)。「VLANのブリッジ プライオリティの設定」を参照してください。
拡張システムID
拡張システムIDは、1025~4096のVLAN IDです。Release 12.1(12c)EW以降のリリースでは、ブリッジIDの一部として12ビット拡張システムIDフィールドをサポートしています(
表 12-2
を参照)。MACアドレスを64個だけサポートするシャーシは、常に12ビットの拡張システムIDを使用します。1024個のMACアドレスをサポートするシャーシでは、拡張システムIDの使用をイネーブルにできます。STPは拡張システムIDとしてVLAN IDを使用します。「拡張システムIDのイネーブル化」を参照してください。
表 12-1 拡張システムIDがディセーブルの場合のブリッジ プライオリティ値
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32768
|
16384
|
8192
|
4096
|
2048
|
1024
|
512
|
256
|
128
|
64
|
32
|
16
|
8
|
4
|
2
|
1
|
表 12-2 拡張システムIDがイネーブルの場合のブリッジ プライオリティ値および拡張システムID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32768
|
16384
|
8192
|
4096
|
VLAN ID
|
STP MACアドレスの割り当て
Catalyst 4000ファミリー スイッチのシャーシには、64個または1024個のMACアドレスがあり、STPのようなソフトウェア機能をサポートするために使用できます。シャーシのMACアドレスの範囲を表示するには、
show module
コマンドを入力します。
12.1(12c)EW以降のリリースでは、64個または1024個のMACアドレスを持つシャーシをサポートします。64個のMACアドレスを持つシャーシの場合、STPは拡張システムIDとMACアドレスを使用して、VLANごとに一意のブリッジIDを作成します。
12.1(12c)EWより前のリリースでは、1024個のMACアドレスを持つシャーシをサポートします。これらのリリースでは、STPはVLANごとに1つのMACアドレスを使用して、VLANごとに一意のブリッジIDを作成します。
ブリッジ プロトコル データ ユニット
スイッチド ネットワークで常にアクティブなスパニングツリー トポロジーを決定するのは、次の要素です。
•
各スイッチのVLANごとに関連づけられた一意のブリッジID(ブリッジ プライオリティとMACアドレス)
•
ルート ブリッジまでのスパニングツリー パス コスト(またはブリッジ プライオリティ値)
•
各レイヤ2インターフェイスに関連づけられたポートID(ポート プライオリティとMACアドレス)
Bridge Protocol Data Units(BPDU;ブリッジ プロトコル データ ユニット)には、送信側ブリッジとそのポートについて、ブリッジおよびMACアドレス、ブリッジ プライオリティ、ポート プライオリティ、パス コストなどの情報が含まれます。システムは接続するスイッチ間でBPDUを伝送して、ルート スイッチから一方向のスパニングツリー トポロジーを計算します。各設定BPDUは、最低限次の項目から構成されます。
•
送信側のスイッチがルート スイッチとみなしているスイッチの一意のブリッジID
•
ルートまでのスパニングツリー パス コスト
•
送信側ブリッジのID
•
メッセージの年齢
•
送信側ポートの識別子
•
helloタイマー、転送遅延タイマー、およびmax-ageプロトコル タイマーの値
スイッチがBPDUフレームを送信すると、そのフレームが伝送されるLANに接続されたすべてのスイッチがBPDUを受信します。スイッチがBPDUを受信すると、スイッチはそのフレームを転送するのではなく、フレームに含まれる情報を使用してBPDUを計算し、トポロジーに変更があれば、BPDUの送信を開始します。
BPDU交換によって次の動作が行われます。
•
スイッチの1つがルート ブリッジとして選択されます。
•
パス コストに基づいて、各スイッチのルート ブリッジまでの最短距離が計算されます。
•
LANセグメントごとに指定ブリッジが選択されます。これはルート ブリッジに最も近いスイッチで、このスイッチを経由してルートにフレームが転送されます。
•
ルート ポートが選択されます。これはブリッジからルート ブリッジまでの最適パスを提供するポートです。
•
スパニングツリーに含まれるポートが選択されます。
ルート ブリッジの選定
VLANごとに、最高のブリッジ プライオリティ(最小のプライオリティ値)を持つスイッチがルート ブリッジとして選定されます。すべてのスイッチがデフォルト プライオリティ値(32,768)に設定されている場合は、VLAN内で最小のMACアドレスを持つスイッチがルート ブリッジになります。
スパニングツリー ルート ブリッジは、スイッチド ネットワークで論理的にスパニングツリー トポロジーの中心に位置します。スイッチド ネットワーク内のどの場所からのパスも、ルート ブリッジに到達するために必要とされない場合は、すべてスパニングツリー ブロッキング モードになります。
スパニングツリーはBPDUから提供される情報を使用して、スイッチド ネットワークのルート ブリッジとルート ポート、および各スイッチド セグメントのルート ポートと指定されたポートを選定します。
STPタイマー
表 12-3
で、スパニングツリー全体のパフォーマンスに影響するSTPタイマーについて説明します。
表 12-3 スパニングツリー プロトコル タイマー
|
|
|
hello_time
|
スイッチが他のスイッチにhelloメッセージをブロードキャストする間隔を指定します。
|
forward_time
|
ポートが転送を開始するまでの、リスニング ステートおよびラーニング ステートが継続する時間を決定します。
|
max_age
|
ポートで受信したプロトコル情報がスイッチに保管される時間を決定します。
|
STPトポロジーの作成
スパニングツリー アルゴリズムの目標は、最もダイレクトなリンクをルート ポートにすることです。スパニングツリー トポロジーがデフォルトのパラメータに基づいて計算されている場合、リンク速度により、スイッチド ネットワーク上の送信元から宛先エンド ステーションまでのパスが最適にならない可能性があります。たとえば、現在のルート ポートよりも数値の大きいポートに高速リンクを接続すると、ルート ポートの変更が必要になる場合があります。
図 12-1では、スイッチAがルート ブリッジとして選択されます(これは、すべてのスイッチのブリッジ プライオリティがデフォルト値[32,768]に設定され、スイッチAが最も低いMACアドレスを持つ場合に起こります)。ただし、トラフィック パターン、転送ポートの数、またはリンク タイプによっては、スイッチAが最適なルート ブリッジであるとは限りません。最適なスイッチのSTPポート プライオリティを上げて(プライオリティの数値を小さくして)、そのスイッチをルート ブリッジに設定すると、最適なスイッチをルートとして持つ新しいスパニングツリー トポロジーが強制的に再計算されます。
図 12-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 4000ファミリー プラットフォームでは、すべてのVLANは個々のMACアドレスではなく、同一のMACアドレスにマッピングします。
STPトランクとIEEE 802.1qトランク
802.1q VLANトランクによって、ネットワークのスパニングツリーの構築方法に、いくつかの制約が課せられます。802.1qトランクを使用して接続しているシスコ製スイッチのネットワークでは、トランク上で許容されるVLANごとに1つのスパニングツリー インスタンスが維持されます。他社製の802.1qスイッチでは、トランク上で許容されるすべてのVLANに対して1つのスパニングツリー インスタンスのみが維持されます。
802.1qトランクを使用してシスコ製スイッチを(802.1qをサポートする)他社製のデバイスに接続する場合、シスコ製スイッチは、トランクの802.1qネイティブVLANのスパニングツリー インスタンスを、他社製の802.1qスイッチのスパニングツリー インスタンスと統合します。ただし、各VLANのスパニングツリー情報は、他社製の802.1qスイッチのネットワークと切り離して、シスコ スイッチで維持されます。シスコのスイッチを切り離している他社製の802.1qネットワークは、スイッチ間の単一トランク リンクとして扱われます。
(注) 802.1qトランクの詳細については、「レイヤ2イーサネット インターフェイスの設定」を参照してください。
STPの設定
ここでは、VLAN上でスパニングツリーを設定する手順について説明します。
•
「STPのイネーブル化」
•
「拡張システムIDのイネーブル化」
•
「ルート ブリッジの設定」
•
「セカンダリ ルート スイッチの設定」
•
「STPポート プライオリティの設定」
•
「STPポート コストの設定」
•
「VLANのブリッジ プライオリティの設定」
•
「helloタイムの設定」
•
「VLANの転送遅延時間の設定」
•
「VLANの最大エージング タイムの設定」
•
「スパニングツリー プロトコルのディセーブル化」
(注) この章で説明するスパニングツリー コマンドは、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コマンドを入力して作成されたコンフィギュレーションを表示しても、スパニングツリーをイネーブルにするために入力したコマンドは表示されません。
次に、VLAN200でスパニングツリーがイネーブルになっていることを確認する例を示します。
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に変更されます。その結果、プライマリ ルート ブリッジが故障した場合に(ネットワーク上の他のスイッチがデフォルトのブリッジ プライオリティ32,768を使用していることが前提)、そのスイッチが指定されたVLANのルート ブリッジになる可能性が高くなります。
このコマンドを複数のスイッチに対して実行し、複数のバックアップ ルート スイッチを設定できます。プライマリ ルート スイッチを設定するときに使用したものと同じネットワーク直径および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
}
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
}
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,535の範囲で指定します。
デフォルトを復元する場合は、
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
スパニングツリー プロトコルのディセーブル化
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.