スパニングツリー
スパニングツリー
1. 機能概要
スパニングツリーは、ネットワーク上の経路の冗長性を確保しつつ、ループを防止する機能です。
通常、L2スイッチは、ブロードキャストパケットを隣接するスイッチへフラッディングします。
ループ状にネットワークが構成されていた場合、スイッチは互いにフラッディングし合うため、ループが発生してしまいます。
これにより帯域幅とスイッチのCPUリソースは大幅に減少してしまいます。
スパニングツリーは、このような物理的にループ状に構成された場合でも、論理的にはツリー構造になるように各ポートの役割を決め、ブロードキャストパケットが回り続けることのない構成にします。
またリンク障害が発生した場合でも、障害を検出しツリーを再構築することで回復します。
本製品では、STP, RSTP, MSTPをサポートしています。
-
スパニングツリー機能概要
2. 用語の定義
STP:Spanning Tree Protocol (802.1d)
スパニングツリープロトコル(STP)は、BPDU(ブリッジプロトコルデータユニット)メッセージを交換することで、ループを回避できるようにします。
本製品では、 IEEE802.1d と RFC4188 をサポートしています。
RSTP:Rapid Spanning Tree Protocol (802.1w)
ラピッドスパニングツリープロトコル(RSTP)は、STPを拡張したもので、構成の変更やリンク障害があった場合に、STPよりも高速にスパニングツリーを回復できます。
本製品では、 IEEE802.1w と RFC4318 をサポートしています。
MSTP:Multiple Spanning Tree Protocol (802.1s)
マルチプルスパニングツリープロトコル(MSTP)は、STPとRSTPを更に拡張したもので、VLANをインスタンスというグループにまとめ、そのグループ単位でスパニングツリーを構成します。
これにより経路の負荷を分散することができます。
本製品では、 IEEE802.1s をサポートしています。
3. 機能詳細
本製品は、MSTP によるルート構成を柔軟にするため、以下の機能に対応します。
-
プライオリティの設定
-
ブリッジプライオリティの設定
-
ポートプライオリティの設定
-
-
パスコストの設定
-
タイムアウトの設定
-
転送遅延時間の設定
-
最大エージング時間の設定
-
-
エッジポートの指定 (Port Fast設定)
-
BPDU ガード
-
BPDU フィルタリング
-
ルートガード
4. 関連コマンド
関連コマンドについて、以下に示します。
コマンドの詳細は、コマンドリファレンスを参照願います。
操作項目 | 操作コマンド |
---|---|
システムのスパニングツリーの設定 |
spanning-tree shutdown |
転送遅延時間の設定 |
spanning-tree forward-time |
最大エージング時間の設定 |
spanning-tree max-age |
ブリッジのプライオリティ設定 |
spanning-tree priority |
インターフェースのスパニングツリーの設定 |
spanning-tree |
インターフェースのリンクタイプの設定 |
spanning-tree link-type |
インターフェースのBPDUフィルタリングの設定 |
spanning-tree bpdu-filter |
インターフェースのBPDUガードの設定 |
spanning-tree bpdu-guard |
インターフェースのパスコストの設定 |
spanning-tree path-cost |
インターフェースのプライオリティの設定 |
spanning-tree priority |
インターフェースのエッジポートの設定 |
spanning-tree edgeport |
スパニングツリーの状態の表示 |
show spanning-tree |
スパニングツリーのBPDUの統計情報の表示 |
show spanning-tree statistics |
プロトコル互換モードのクリア |
clear spanning-tree detected protocols |
MSTモードへの移行 |
spanning-tree mst configuration |
MSTインスタンスの生成 |
instance |
MSTインスタンスに対するVLANの設定 |
instance vlan |
MSTインスタンスのプライオリティの設定 |
instance priority |
MSTリージョン名の設定 |
region |
MSTリージョンのリビジョン番号の設定 |
revision |
インターフェースに対するMSTインスタンスの設定 |
spanning-tree instance |
MSTインスタンスにおけるインターフェースのプライオリティの設定 |
spanning-tree instance priority |
MSTインスタンスにおけるインターフェースのパスコストの設定 |
spanning-tree instance path-cost |
MSTリージョン情報の表示 |
show spanning-tree mst config |
MSTP情報の表示 |
show spanning-tree mst |
MSTインスタンス情報の表示 |
show spanning-tree mst instance |
5. コマンド実行例
5.1. MSTP 設定例
本製品を使用して、下図の構成を実現します。
-
MSTインスタンスを使用してスパニングツリーを構成します。
-
負荷分散のため、MSTインスタンス(VLAN)ごとに経路が異なるように設定します。
-
PCが接続されるLANポートはエッジポートにします。
■設定手順
-
[スイッチ#A] VLAN #2 と VLAN #3 を定義します。
Yamaha(config)#vlan database Yamaha(config-vlan)#vlan 2 (1) Yamaha(config-vlan)#vlan 3 (2) Yamaha(config-vlan)#exit
1 VLAN #2 の定義 2 VLAN #3 の定義 -
[スイッチ#A] CISTのプライオリティを設定します。
Yamaha(config)#spanning-tree priority 8192 (1)
1 CISTのプライオリティを8192にする -
[スイッチ#A] MSTの設定を行います。
Yamaha(config)#spanning-tree mst configuration Yamaha(config-mst)#region Sample (1) Yamaha(config-mst)#revision 1 (2) Yamaha(config-mst)#instance 2 vlan 2 (3) Yamaha(config-mst)#instance 3 vlan 3 (4) Yamaha(config-mst)#exit
1 MSTリージョン名を「Sample」にする 2 MSTリビジョン番号を1にする 3 MSTインスタンス #2 を定義し、VLAN #2 と関連付ける 4 MSTインスタンス #3 を定義し、VLAN #3 と関連付ける -
[スイッチ#A] LANポート #1 〜 #2 をトランクポートに設定し、VLAN #2 〜 #3 に所属させます。
また、MSTインスタンス #2 〜 #3 を設定します。Yamaha(config)#interface port1.1 Yamaha(config-if)#switchport mode trunk (1) Yamaha(config-if)#switchport trunk allowed vlan add 2,3 (2) Yamaha(config-if)#spanning-tree instance 2 (3) Yamaha(config-if)#spanning-tree instance 3 (4) Yamaha(config-if)#exit (上記設定をLANポート #2に対しても行います。)
1 トランクポートに設定する 2 VLAN #2 〜 #3 に所属させる 3 MSTインスタンス #2 を設定する 4 MSTインスタンス #3 を設定する -
[スイッチ#A] LANポート #3 をアクセスポートに設定し、VLAN #2 に所属させます。
また、MSTインスタンス #2 を設定し、エッジポートにします。Yamaha(config)#interface port1.3 Yamaha(config-if)#switchport mode access (1) Yamaha(config-if)#switchport access vlan 2 (2) Yamaha(config-if)#spanning-tree instance 2 (3) Yamaha(config-if)#spanning-tree edgeport (4) Yamaha(config-if)#exit
1 アクセスポートに設定する 2 VLAN #2 に所属させる 3 MSTインスタンス #2 を設定する 4 エッジポートに設定する -
[スイッチ#A] LANポート #4 をアクセスポートに設定し、VLAN #3 に所属させます。
また、MSTインスタンス #3 を設定し、エッジポートにします。Yamaha(config)#interface port1.4 Yamaha(config-if)#switchport mode access (1) Yamaha(config-if)#switchport access vlan 3 (2) Yamaha(config-if)#spanning-tree instance 3 (3) Yamaha(config-if)#spanning-tree edgeport (4) Yamaha(config-if)#exit
1 アクセスポートに設定する 2 VLAN #3 に所属させる 3 MSTインスタンス #3 を設定する 4 エッジポートに設定する -
[スイッチ#B] VLAN #2 と VLAN #3 を定義します。
Yamaha(config)#vlan database Yamaha(config-vlan)#vlan 2 (1) Yamaha(config-vlan)#vlan 3 (2) Yamaha(config-vlan)#exit
1 VLAN #2 の定義 2 VLAN #3 の定義 -
[スイッチ#B] CISTのプライオリティを設定します。
Yamaha(config)#spanning-tree priority 16384 (1)
1 CISTのプライオリティを16384にする -
[スイッチ#B] MSTの設定を行います。
Yamaha(config)#spanning-tree mst configuration Yamaha(config-mst)#region Sample (1) Yamaha(config-mst)#revision 1 (2) Yamaha(config-mst)#instance 2 vlan 2 (3) Yamaha(config-mst)#instance 2 priority 8192 (4) Yamaha(config-mst)#instance 3 vlan 3 (5) Yamaha(config-mst)#instance 3 priority 16384 (6) Yamaha(config-mst)#exit
1 MSTリージョン名を「Sample」にする 2 MSTリビジョン番号を1にする 3 MSTインスタンス #2 を定義し、VLAN #2 と関連付ける 4 MSTインスタンス #2 のプライオリティを8192にする 5 MSTインスタンス #3 を定義し、VLAN #3 と関連付ける 6 MSTインスタンス #3 のプライオリティを16384にする -
[スイッチ#B] LANポート #1 〜 #2 をトランクポートに設定し、VLAN #2 〜 #3 に所属させます。
また、MSTインスタンス #2 〜 #3 を設定します。Yamaha(config)#interface port1.1 Yamaha(config-if)#switchport mode trunk (1) Yamaha(config-if)#switchport trunk allowed vlan add 2,3 (2) Yamaha(config-if)#spanning-tree instance 2 (3) Yamaha(config-if)#spanning-tree instance 3 (4) Yamaha(config-if)#exit (上記設定をLANポート #2に対しても行います。)
1 トランクポートに設定する 2 VLAN #2 〜 #3 に所属させる 3 MSTインスタンス #2 を設定する 4 MSTインスタンス #3 を設定する -
[スイッチ#B] LANポート #3 をアクセスポートに設定し、VLAN #2 に所属させます。
また、MSTインスタンス #2 を設定し、エッジポートにします。Yamaha(config)#interface port1.3 Yamaha(config-if)#switchport mode access (1) Yamaha(config-if)#switchport access vlan 2 (2) Yamaha(config-if)#spanning-tree instance 2 (3) Yamaha(config-if)#spanning-tree edgeport (4) Yamaha(config-if)#exit (5)
1 アクセスポートに設定する 2 VLAN #2 に所属させる 3 MSTインスタンス #2 を設定する 4 エッジポートに設定する 5 上記設定をLANポート #4に対しても行います。 -
[スイッチ#C] VLAN #2 と VLAN #3 を定義します。
Yamaha(config)#vlan database Yamaha(config-vlan)#vlan 2 (1) Yamaha(config-vlan)#vlan 3 (2) Yamaha(config-vlan)#exit
1 VLAN #2 の定義 2 VLAN #3 の定義 -
[スイッチ#C] MSTの設定を行います。
Yamaha(config)#spanning-tree mst configuration Yamaha(config-mst)#region Sample (1) Yamaha(config-mst)#revision 1 (2) Yamaha(config-mst)#instance 2 vlan 2 (3) Yamaha(config-mst)#instance 2 priority 16384 (4) Yamaha(config-mst)#instance 3 vlan 3 (5) Yamaha(config-mst)#instance 3 priority 8192 (6) Yamaha(config-mst)#exit
1 MSTリージョン名を「Sample」にする 2 MSTリビジョン番号を1にする 3 MSTインスタンス #2 を定義し、VLAN #2 と関連付ける 4 MSTインスタンス #2 のプライオリティを16384にする 5 MSTインスタンス #3 を定義し、VLAN #3 と関連付ける 6 MSTインスタンス #3 のプライオリティを8192にする -
[スイッチ#C] LANポート #1 〜 #2 をトランクポートに設定し、VLAN #2 〜 #3 に所属させます。
また、MSTインスタンス #2 〜 #3 を設定します。Yamaha(config)#interface port1.1 Yamaha(config-if)#switchport mode trunk (1) Yamaha(config-if)#switchport trunk allowed vlan add 2,3 (2) Yamaha(config-if)#spanning-tree instance 2 (3) Yamaha(config-if)#spanning-tree instance 3 (4) Yamaha(config-if)#exit (上記設定をLANポート #2に対しても行います。)
1 トランクポートに設定する 2 VLAN #2 〜 #3 に所属させる 3 MSTインスタンス #2 を設定する 4 MSTインスタンス #3 を設定する -
[スイッチ#C] LANポート #3 をアクセスポートに設定し、VLAN #3 に所属させます。
また、MSTインスタンス #3 を設定し、エッジポートにします。Yamaha(config)#interface port1.3 Yamaha(config-if)#switchport mode access (1) Yamaha(config-if)#switchport access vlan 3 (2) Yamaha(config-if)#spanning-tree instance 3 (3) Yamaha(config-if)#spanning-tree edgeport (4) Yamaha(config-if)#exit (5)
1 アクセスポートに設定する 2 VLAN #3 に所属させる 3 MSTインスタンス #3 を設定する 4 エッジポートに設定する 5 上記設定をLANポート #4に対しても行います。 -
LANケーブルを接続します。
-
[スイッチ#A] CISTの構成を確認します。
Yamaha>show spanning-tree |include Root Id % Default: CIST Root Id 200100a0deaeb920 (1) % Default: CIST Reg Root Id 200100a0deaeb920 Yamaha>show spanning-tree |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Designated - State Forwarding % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Designated - State Forwarding % port1.3: Port Number 907 - Ifindex 5003 - Port Id 0x838b - Role Designated - State Forwarding % port1.4: Port Number 908 - Ifindex 5004 - Port Id 0x838c - Role Designated - State Forwarding % port1.5: Port Number 909 - Ifindex 5005 - Port Id 0x838d - Role Disabled - State Discarding % port1.6: Port Number 910 - Ifindex 5006 - Port Id 0x838e - Role Disabled - State Discarding % port1.7: Port Number 911 - Ifindex 5007 - Port Id 0x838f - Role Disabled - State Discarding % port1.8: Port Number 912 - Ifindex 5008 - Port Id 0x8390 - Role Disabled - State Discarding % port1.9: Port Number 913 - Ifindex 5009 - Port Id 0x8391 - Role Disabled - State Discarding % port1.10: Port Number 914 - Ifindex 5010 - Port Id 0x8392 - Role Disabled - State Discarding
1 プライオリティが高いスイッチ #A がCISTのルートブリッジになる -
[スイッチ#B] CISTの構成を確認します。
Yamaha>show spanning-tree |include Root Id % Default: CIST Root Id 200100a0deaeb920 (1) % Default: CIST Reg Root Id 200100a0deaeb920 Yamaha>show spanning-tree |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Rootport - State Forwarding % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Designated - State Forwarding % port1.3: Port Number 907 - Ifindex 5003 - Port Id 0x838b - Role Designated - State Forwarding % port1.4: Port Number 908 - Ifindex 5004 - Port Id 0x838c - Role Designated - State Forwarding % port1.5: Port Number 909 - Ifindex 5005 - Port Id 0x838d - Role Disabled - State Discarding % port1.6: Port Number 910 - Ifindex 5006 - Port Id 0x838e - Role Disabled - State Discarding % port1.7: Port Number 911 - Ifindex 5007 - Port Id 0x838f - Role Disabled - State Discarding % port1.8: Port Number 912 - Ifindex 5008 - Port Id 0x8390 - Role Disabled - State Discarding % port1.9: Port Number 913 - Ifindex 5009 - Port Id 0x8391 - Role Disabled - State Discarding % port1.10: Port Number 914 - Ifindex 5010 - Port Id 0x8392 - Role Disabled - State Discarding
1 プライオリティが高いスイッチ #A がCISTのルートブリッジになる -
[スイッチ#C] CISTの構成を確認します。
Yamaha>show spanning-tree |include Root Id % Default: CIST Root Id 200100a0deaeb920 (1) % Default: CIST Reg Root Id 200100a0deaeb920 Yamaha>show spanning-tree |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Alternate - State Discarding (2) % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Rootport - State Forwarding % port1.3: Port Number 907 - Ifindex 5003 - Port Id 0x838b - Role Designated - State Forwarding % port1.4: Port Number 908 - Ifindex 5004 - Port Id 0x838c - Role Designated - State Forwarding % port1.5: Port Number 909 - Ifindex 5005 - Port Id 0x838d - Role Disabled - State Discarding % port1.6: Port Number 910 - Ifindex 5006 - Port Id 0x838e - Role Disabled - State Discarding % port1.7: Port Number 911 - Ifindex 5007 - Port Id 0x838f - Role Disabled - State Discarding % port1.8: Port Number 912 - Ifindex 5008 - Port Id 0x8390 - Role Disabled - State Discarding % port1.9: Port Number 913 - Ifindex 5009 - Port Id 0x8391 - Role Disabled - State Discarding % port1.10: Port Number 914 - Ifindex 5010 - Port Id 0x8392 - Role Disabled - State Discarding
1 プライオリティが高いスイッチ #A がCISTのルートブリッジになる 2 プライオリティが低いスイッチ #C のLAN #1 ポートがCISTの代替ポートになる -
[スイッチ#A] MSTインスタンス #2 の構成を確認します。
Yamaha>show spanning-tree mst instance 2 |include Root Id % Default: MSTI Root Id 200200a0deaeb879 (1) Yamaha>show spanning-tree mst instance 2 |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Rootport - State Forwarding % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Alternate - State Discarding (2) % port1.3: Port Number 907 - Ifindex 5003 - Port Id 0x838b - Role Designated - State Forwarding
1 プライオリティが高いスイッチ #B がMSTインスタンス #2 のルートブリッジになる 2 プライオリティが低いスイッチ #A のLAN #2 ポートがMSTインスタンス #2 の代替ポートになる -
[スイッチ#B] MSTインスタンス #2 の構成を確認します。
Yamaha>show spanning-tree mst instance 2 |include Root Id % Default: MSTI Root Id 200200a0deaeb879 (1) Yamaha>show spanning-tree mst instance 2 |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Designated - State Forwarding % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Designated - State Forwarding % port1.3: Port Number 907 - Ifindex 5003 - Port Id 0x838b - Role Designated - State Forwarding % port1.4: Port Number 908 - Ifindex 5004 - Port Id 0x838c - Role Designated - State Forwarding
1 プライオリティが高いスイッチ #B がMSTインスタンス #2 のルートブリッジになる -
[スイッチ#C] MSTインスタンス #2 の構成を確認します。
Yamaha>show spanning-tree mst instance 2 |include Root Id % Default: MSTI Root Id 200200a0deaeb879 (1) Yamaha>show spanning-tree mst instance 2 |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Rootport - State Forwarding % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Designated - State Forwarding
1 プライオリティが高いスイッチ #B がMSTインスタンス #2 のルートブリッジになる -
[スイッチ#A] MSTインスタンス #3 の構成を確認します。
Yamaha>show spanning-tree mst instance 3 |include Root Id % Default: MSTI Root Id 200300a0deaeb83d (1) Yamaha>show spanning-tree mst instance 3 |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Alternate - State Discarding (2) % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Rootport - State Forwarding % port1.4: Port Number 908 - Ifindex 5004 - Port Id 0x838c - Role Designated - State Forwarding
1 プライオリティが高いスイッチ #C がMSTインスタンス #3 のルートブリッジになる 2 プライオリティが低いスイッチ #A のLAN #1 ポートがMSTインスタンス #3 の代替ポートになる -
[スイッチ#B] MSTインスタンス #3 の構成を確認します。
Yamaha>show spanning-tree mst instance 3 |include Root Id % Default: MSTI Root Id 200300a0deaeb83d (1) Yamaha>show spanning-tree mst instance 3 |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Designated - State Forwarding % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Rootport - State Forwarding
1 プライオリティが高いスイッチ #C がMSTインスタンス #3 のルートブリッジになる -
[スイッチ#C] MSTインスタンス #3 の構成を確認します。
Yamaha>show spanning-tree mst instance 3 |include Root Id % Default: MSTI Root Id 200300a0deaeb83d (1) Yamaha>show spanning-tree mst instance 3 |include Role % port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Designated - State Forwarding % port1.2: Port Number 906 - Ifindex 5002 - Port Id 0x838a - Role Designated - State Forwarding % port1.3: Port Number 907 - Ifindex 5003 - Port Id 0x838b - Role Designated - State Forwarding % port1.4: Port Number 908 - Ifindex 5004 - Port Id 0x838c - Role Designated - State Forwarding
1 プライオリティが高いスイッチ #C がMSTインスタンス #3 のルートブリッジになる
6. 注意事項
-
本製品の STP 、 RSTP は、 MSTPの下位互換 により対応します。
7. 関連文書
-
STP
-
IEEE802.1d
-
RFC4188
-
-
RSTP
-
IEEE802.1w
-
RFC4318
-
-
MSTP
-
IEEE802.1s
-