スパニングツリーモードの基本設定
1.スパニングツリー モードの設定
スパニングツリー モードを設定します。すべてのスタック メンバーは同じバージョンのスパニングツリーを実行します。デフォルトでは、スイッチは Rapid PVST+ プロトコルを実行します。
Switch(config)#spanning-tree mode {pvst | mst | rapid-pvst }
| コマンド | 内容 |
|---|---|
| pvst | PVST+を有効にします |
| mst | MSTPを有効にします。 |
| rapid-pvst | rapid PVST+を有効にします |
2.ルートスイッチ選定の設定
特定のスイッチを特定のVLANにおけるルートスイッチにするための優先順位を設定します。
Switch(config)#spanning-tree vlan vlan-id priority priority
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区切られた一連 の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| priority | 範囲は 0 ~ 61440 で、4096 ずつ増加します。デフォルトは 32768 です。数値が低いほど、スイッチが ルートス イッチとして選択される 可能性が高くなります。有効な優先度の値は、4096、8192、12288、16384、20480、 24576、28672、32768、36864、40960、45056、49152、53248、57344、および 61440 です。その他の値はすべて拒否されます。 |
ルートスイッチの選定についてはpriorityを手動で設定する方法ではなく、自動で選定できるように設定することもできます。次のコマンドを実行すると、スイッチは自動的にブリッジプライオリティを他のすべてのスイッチよりも低く設定します。これにより、このスイッチが指定されたVLANのルートブリッジになります。
Switch(config)#spanning-tree vlan vlan-id root primary [diameter net-diameter [hello-time seconds]]
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区 切られた一連の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| diameter net-diameter | (オプション)任意の 2 つのエンド ステーション間の スイッチの最大数を指定します。範囲は2 ~7です。 |
| hello-time seconds | (オプション) ルート スイッチによる設定メッセージの生成間隔を秒単位で指定します。範囲は1 ~10です。デフォルトは2です。 |
このコマンドを実行すると、スイッチは自動的にプライオリティをプライマリルートブリッジよりも少し高い値に設定します。これにより、プライマリルートブリッジがダウンした場合、このスイッチがルートブリッジになります。
Switch(config)#spanning-tree vlan vlan-id root secondary [diameter net-diameter [hello-time seconds]]
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区 切られた一連の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| diameter net-diameter | (オプション)任意の 2 つのエンド ステーション間の スイッチの最大数を指定します。範囲は2 ~7です。 |
| hello-time seconds | (オプション) ルート スイッチによる設定メッセージの生成間隔を秒単位で指定します。範囲は1 ~10です。デフォルトは2です。 |
(オプション)スパニングツリーを無効にする
スパニング ツリーは、VLAN 1 およびスパニング ツリー制限までのすべての新しく作成された VLAN でデフォルトで有効になっています。ネットワーク トポロジにループがないことが確実な場合にのみ、スパニング ツリーを無効にしてください。
スパニングツリーを無効にします。vlan-id の 範囲は 1 ~ 4094 です。
Switch(config)#no spanning-tree vlan vlan-id
設定例

上記トポロジにおいて、Switch1をVLAN10のルートスイッチ、Switch2をVLAN20のルートスイッチとして設定します。
Switch1の設定
Switch1(config)#spanning-tree mode rapid-pvst
Switch1(config)#spanning-tree vlan 10 priority 4096
Switch1(config)#spanning-tree vlan 20 priority 8192
Switch2の設定
Switch2(config)#spanning-tree mode rapid-pvst
Switch2(config)#spanning-tree vlan 10 priority 8192
Switch2(config)#spanning-tree vlan 20 priority 4096
Switch3の設定
Switch3(config)#spanning-tree mode rapid-pvst
Switch3(config)#spanning-tree vlan 10,20 priority 16384
設定後、以下のようにポートの状態が遷移しました。

Switch3からはVLAN10のルートスイッチであるSwitch1までのパスコストが一番低いのがGi0/1なので
VLAN10についてはGi0/1がフォワーディング、Gi0/2はブロッキングポートとなります。
対して、VLAN20のルートスイッチであるSwitch2までのパスコストが一番低いのはGi0/2なので、VLAN20についてはGi0/2がフォワーディング、Gi0/1はブロッキングポートとなります。
show spanning-treeコマンドで確認することが出来ます。

ポート優先度の設定
ループが発生した場合、スパニング ツリーは、転送状態にするインターフェイスを選択するときにポート プライオリティを使用します。最初に選択するインターフェイスには高いプライオリティ値 (低い数値) を割り当て、最後に選択するインターフェイスには低いプライオリティ値 (高い数値) を割り当てることができます。すべてのインターフェイスのプライオリティ値が同じ場合、スパニング ツリーはインターフェイス番号が最も低いインターフェイスを転送状態にし、他のインターフェイスをブロックします。
ポート優先度の設定
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードに入ります。
Switch(config)#interface interface-id
特定のIFで流れるすべてのVLANのポート優先度を設定します。
Switch(config-if)#spanning-tree port-priority priority
特定のVLAN のポート優先度を設定します。
Switch(config-if)#spanning-tree vlan vlan-id port-priority priority
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区切られた一連 の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| priority | 0 ~ 240 で、16 ずつ増加します。デフォルトは 128 です。有効な値は、0、16、32、48、64、80、96、112、 128、144、160、176、192、208、224、および 240 です。その他の値はすべて拒否されます。数値が小さいほ ど、優先度が高くなります。 |
パスコストの設定
パスコストはデフォルトで自動計算されますが、STPの動作を細かく制御するためにパスコストを手動で設定することができます。
ループが発生した場合、スパニング ツリーはパス コストを使用して、転送状態にするインターフェイスを選択します。パス コストが低いほど、伝送速度が速くなります。
パスコストの設定
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。
Switch(config)#interface interface-id
特定のIFで流れるすべてのVLANのパスコストを設定します。
Switch(config-if)#spanning-tree cost cost
特定のVLANのパスコストを設定します。
Switch(config-if)#spanning-tree vlan vlan-id cost cost
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区切られた一連 の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| cost | 範囲は 1 ~ 200000000 です。デフォルト値はインターフェイスのメディア速度から導出されます。 |
パスコストの詳細についてはこちら
スパニングツリータイマーの設定
これらのタイマーは、スパニングツリー全体のパフォーマンスに影響します。
| タイマー | 内容 |
|---|---|
| Hello timer | スイッチが他のスイッチに hello メッセージをブロードキャストする頻度を制御します。 |
| Forward-delay timer | インターフェイスが転送を開始する前に、各リスニング状態と学習状態がどのくらい続くかを制御し ます。 |
| Maximum-age timer | スイッチがインターフェースで受信したプロトコル情報を保存する時間を制御します。 |
| Transmit hold count | 1 秒間一時停止する前に送信できる BPDU の数を制御します。 |
ハロータイムの設定
VLAN の hello タイムを設定します。hello タイムは、ルート スイッチによって生成され送信される設定メッセージ間の時間間隔です。これらのメッセージは、 スイッチが動作していることを意味します。
Switch(config)#spanning-tree vlan vlan-id hello-time seconds
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区切られた一連 の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| seconds | 範囲は 1 ~ 10 です。デフォルトは 2 です。 |
VLAN の転送遅延時間の設定
VLAN の転送時間を設定します。転送遅延は、スパニングツリーの学習状態およびリスニング状態から転送状態に変更されるまでにインターフェイスが待機する秒数です。
Switch(config)#spanning-tree vlan vlan-id forward-time seconds
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区切られた一連 の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| seconds | 範囲は 4 ~ 30 です。デフォルトは 15 です。 |
VLAN の最大エージング時間の設定
VLAN の最大エージング タイムを設定します。最大エージング タイムとは、スイッチがスパニング ツリー設定メッセージを受信せずに再設定を試行するまでの待機 秒数です 。
Switch(config)#spanning-tree vlan vlan-id max-age seconds
| コマンド | 内容 |
|---|---|
| vlan-id | VLAN ID 番号で識別される単一の VLAN、ハイフンで区切られた VLAN の範囲、またはカンマで区切られた一連 の VLAN を指定できます。範囲は 1 ~ 4094 です。 |
| seconds | 範囲は 6 ~ 40 です。デフォルトは 20 です。 |
送信保留カウントの設定
1 秒間一時停止する前に送信できる BPDU の数を設定します。
Switch(config)#spanning-tree transmit hold-count value
| コマンド | 内容 |
|---|---|
| value | 範囲は 1 ~ 20 です。デフォルトは 6 です。 |