スパニングツリー


1 機能概要

スパニングツリーは、ネットワーク上の経路の冗長性を確保しつつ、ループを防止する機能です。
通常、L2スイッチは、ブロードキャストパケットを隣接するスイッチへフラッディングします。
ループ状にネットワークが構成されていた場合、スイッチは互いにフラッディングし合うため、ループが発生してしまいます。
これにより帯域幅とスイッチのCPUリソースは大幅に減少してしまいます。
スパニングツリーは、このような物理的にループ状に構成された場合でも、論理的にはツリー構造になるように各ポートの役割を決め、ブロードキャストパケットが回り続けることのない構成にします。
またリンク障害が発生した場合でも、障害を検出しツリーを再構築することで回復します。
本製品では、STP, RSTP, MSTPをサポートしています。



2 用語の定義

STP:Spanning Tree Protocol (802.1d)

スパニングツリープロトコル(STP)は、BPDU(ブリッジプロトコルデータユニット)メッセージを交換することで、ループを回避できるようにします。
本製品では、 IEEE802.1dRFC4188 をサポートしています。

RSTP:Rapid Spanning Tree Protocol (802.1w)

ラピッドスパニングツリープロトコル(RSTP)は、STPを拡張したもので、構成の変更やリンク障害があった場合に、STPよりも高速にスパニングツリーを回復できます。
本製品では、 IEEE802.1wRFC4318 をサポートしています。

MSTP:Multiple Spanning Tree Protocol (802.1s)

マルチプルスパニングツリープロトコル(MSTP)は、STPとRSTPを更に拡張したもので、VLANをインスタンスというグループにまとめ、そのグループ単位でスパニングツリーを構成します。
これにより経路の負荷を分散することができます。
本製品では、 IEEE802.1s をサポートしています。


3 機能詳細

本製品は、MSTP によるルート構成を柔軟にするため、以下の機能に対応します。


4 関連コマンド

関連コマンドについて、以下に示します。
コマンドの詳細は、コマンドリファレンスを参照願います。



5 コマンド実行例

5.1 MSTP 設定例

本製品を使用して、下図の構成を実現します。


  1. [スイッチ#A] VLAN #2 と VLAN #3 を定義します。
    Yamaha(config)#vlan database
    Yamaha(config-vlan)#vlan 2                              ... (VLAN #2 の定義)
    Yamaha(config-vlan)#vlan 3                              ... (VLAN #3 の定義)
    Yamaha(config-vlan)#exit
    
  2. [スイッチ#A] CISTのプライオリティを設定します。
    Yamaha(config)#spanning-tree priority 8192              ... (CISTのプライオリティを8192にする)
    
  3. [スイッチ#A] MSTの設定を行います。
    Yamaha(config)#spanning-tree mst configuration
    Yamaha(config-mst)#region Sample                        ... (MSTリージョン名を「Sample」にする)
    Yamaha(config-mst)#revision 1                           ... (MSTリビジョン番号を1にする)
    Yamaha(config-mst)#instance 2 vlan 2                    ... (MSTインスタンス #2 を定義し、VLAN #2 と関連付ける)
    Yamaha(config-mst)#instance 3 vlan 3                    ... (MSTインスタンス #3 を定義し、VLAN #3 と関連付ける)
    Yamaha(config-mst)#exit
    
  4. [スイッチ#A] LANポート #1 〜 #2 をトランクポートに設定し、VLAN #2 〜 #3 に所属させます。
    また、MSTインスタンス #2 〜 #3 を設定します。
    Yamaha(config)#interface port1.1
    Yamaha(config-if)#switchport mode trunk                 ... (トランクポートに設定する)
    Yamaha(config-if)#switchport trunk allowed vlan add 2,3 ... (VLAN #2 〜 #3 に所属させる)
    Yamaha(config-if)#spanning-tree instance 2              ... (MSTインスタンス #2 を設定する)
    Yamaha(config-if)#spanning-tree instance 3              ... (MSTインスタンス #3 を設定する)
    Yamaha(config-if)#exit
    (上記設定をLANポート #2に対しても行います。)
    
  5. [スイッチ#A] LANポート #3 をアクセスポートに設定し、VLAN #2 に所属させます。
    また、MSTインスタンス #2 を設定し、エッジポートにします。
    Yamaha(config)#interface port1.3
    Yamaha(config-if)#switchport mode access                ... (アクセスポートに設定する)
    Yamaha(config-if)#switchport access vlan 2              ... (VLAN #2 に所属させる)
    Yamaha(config-if)#spanning-tree instance 2              ... (MSTインスタンス #2 を設定する)
    Yamaha(config-if)#spanning-tree edgeport                ... (エッジポートに設定する)
    Yamaha(config-if)#exit
    
  6. [スイッチ#A] LANポート #4 をアクセスポートに設定し、VLAN #3 に所属させます。
    また、MSTインスタンス #3 を設定し、エッジポートにします。
    Yamaha(config)#interface port1.4
    Yamaha(config-if)#switchport mode access                ... (アクセスポートに設定する)
    Yamaha(config-if)#switchport access vlan 3              ... (VLAN #3 に所属させる)
    Yamaha(config-if)#spanning-tree instance 3              ... (MSTインスタンス #3 を設定する)
    Yamaha(config-if)#spanning-tree edgeport                ... (エッジポートに設定する)
    Yamaha(config-if)#exit
    


  7. [スイッチ#B] VLAN #2 と VLAN #3 を定義します。
    Yamaha(config)#vlan database
    Yamaha(config-vlan)#vlan 2                              ... (VLAN #2 の定義)
    Yamaha(config-vlan)#vlan 3                              ... (VLAN #3 の定義)
    Yamaha(config-vlan)#exit
    
  8. [スイッチ#B] CISTのプライオリティを設定します。
    Yamaha(config)#spanning-tree priority 16384             ... (CISTのプライオリティを16384にする)
    
  9. [スイッチ#B] MSTの設定を行います。
    Yamaha(config)#spanning-tree mst configuration
    Yamaha(config-mst)#region Sample                        ... (MSTリージョン名を「Sample」にする)
    Yamaha(config-mst)#revision 1                           ... (MSTリビジョン番号を1にする)
    Yamaha(config-mst)#instance 2 vlan 2                    ... (MSTインスタンス #2 を定義し、VLAN #2 と関連付ける)
    Yamaha(config-mst)#instance 2 priority 8192             ... (MSTインスタンス #2 のプライオリティを8192にする)
    Yamaha(config-mst)#instance 3 vlan 3                    ... (MSTインスタンス #3 を定義し、VLAN #3 と関連付ける)
    Yamaha(config-mst)#instance 3 priority 16384            ... (MSTインスタンス #3 のプライオリティを16384にする)
    Yamaha(config-mst)#exit
    
  10. [スイッチ#B] LANポート #1 〜 #2 をトランクポートに設定し、VLAN #2 〜 #3 に所属させます。
    また、MSTインスタンス #2 〜 #3 を設定します。
    Yamaha(config)#interface port1.1
    Yamaha(config-if)#switchport mode trunk                 ... (トランクポートに設定する)
    Yamaha(config-if)#switchport trunk allowed vlan add 2,3 ... (VLAN #2 〜 #3 に所属させる)
    Yamaha(config-if)#spanning-tree instance 2              ... (MSTインスタンス #2 を設定する)
    Yamaha(config-if)#spanning-tree instance 3              ... (MSTインスタンス #3 を設定する)
    Yamaha(config-if)#exit
    (上記設定をLANポート #2に対しても行います。)
    
  11. [スイッチ#B] LANポート #3 をアクセスポートに設定し、VLAN #2 に所属させます。
    また、MSTインスタンス #2 を設定し、エッジポートにします。
    Yamaha(config)#interface port1.3
    Yamaha(config-if)#switchport mode access                ... (アクセスポートに設定する)
    Yamaha(config-if)#switchport access vlan 2              ... (VLAN #2 に所属させる)
    Yamaha(config-if)#spanning-tree instance 2              ... (MSTインスタンス #2 を設定する)
    Yamaha(config-if)#spanning-tree edgeport                ... (エッジポートに設定する)
    Yamaha(config-if)#exit
    (上記設定をLANポート #4に対しても行います。)
    


  12. [スイッチ#C] VLAN #2 と VLAN #3 を定義します。
    Yamaha(config)#vlan database
    Yamaha(config-vlan)#vlan 2                              ... (VLAN #2 の定義)
    Yamaha(config-vlan)#vlan 3                              ... (VLAN #3 の定義)
    Yamaha(config-vlan)#exit
    
  13. [スイッチ#C] MSTの設定を行います。
    Yamaha(config)#spanning-tree mst configuration
    Yamaha(config-mst)#region Sample                        ... (MSTリージョン名を「Sample」にする)
    Yamaha(config-mst)#revision 1                           ... (MSTリビジョン番号を1にする)
    Yamaha(config-mst)#instance 2 vlan 2                    ... (MSTインスタンス #2 を定義し、VLAN #2 と関連付ける)
    Yamaha(config-mst)#instance 2 priority 16384            ... (MSTインスタンス #2 のプライオリティを16384にする)
    Yamaha(config-mst)#instance 3 vlan 3                    ... (MSTインスタンス #3 を定義し、VLAN #3 と関連付ける)
    Yamaha(config-mst)#instance 3 priority 8192             ... (MSTインスタンス #3 のプライオリティを8192にする)
    Yamaha(config-mst)#exit
    
  14. [スイッチ#C] LANポート #1 〜 #2 をトランクポートに設定し、VLAN #2 〜 #3 に所属させます。
    また、MSTインスタンス #2 〜 #3 を設定します。
    Yamaha(config)#interface port1.1
    Yamaha(config-if)#switchport mode trunk                 ... (トランクポートに設定する)
    Yamaha(config-if)#switchport trunk allowed vlan add 2,3 ... (VLAN #2 〜 #3 に所属させる)
    Yamaha(config-if)#spanning-tree instance 2              ... (MSTインスタンス #2 を設定する)
    Yamaha(config-if)#spanning-tree instance 3              ... (MSTインスタンス #3 を設定する)
    Yamaha(config-if)#exit
    (上記設定をLANポート #2に対しても行います。)
    
  15. [スイッチ#C] LANポート #3 をアクセスポートに設定し、VLAN #3 に所属させます。
    また、MSTインスタンス #3 を設定し、エッジポートにします。
    Yamaha(config)#interface port1.3
    Yamaha(config-if)#switchport mode access                ... (アクセスポートに設定する)
    Yamaha(config-if)#switchport access vlan 3              ... (VLAN #3 に所属させる)
    Yamaha(config-if)#spanning-tree instance 3              ... (MSTインスタンス #3 を設定する)
    Yamaha(config-if)#spanning-tree edgeport                ... (エッジポートに設定する)
    Yamaha(config-if)#exit
    (上記設定をLANポート #4に対しても行います。)
    


  16. LANケーブルを接続します。

  17. [スイッチ#A] CISTの構成を確認します。
    Yamaha>show spanning-tree | include Root Id
    % Default: CIST Root Id 200100a0deaeb920      ... (プライオリティが高いスイッチ #A がCISTのルートブリッジになる)
    % 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
    
  18. [スイッチ#B] CISTの構成を確認します。
    Yamaha>show spanning-tree | include Root Id
    % Default: CIST Root Id 200100a0deaeb920      ... (プライオリティが高いスイッチ #A がCISTのルートブリッジになる)
    % 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
    
  19. [スイッチ#C] CISTの構成を確認します。
    Yamaha>show spanning-tree | include Root Id
    % Default: CIST Root Id 200100a0deaeb920      ... (プライオリティが高いスイッチ #A がCISTのルートブリッジになる)
    % 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 ... (プライオリティが低いスイッチ #C のLAN #1 ポートがCISTの代替ポートになる)
    %   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
    


  20. [スイッチ#A] MSTインスタンス #2 の構成を確認します。
    Yamaha>show spanning-tree mst instance 2 | include Root Id
    % Default: MSTI Root Id 200200a0deaeb879      ... (プライオリティが高いスイッチ #B がMSTインスタンス #2 のルートブリッジになる)
    
    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 ... (プライオリティが低いスイッチ #A のLAN #2 ポートがMSTインスタンス #2 の代替ポートになる)
    %   port1.3: Port Number 907 - Ifindex 5003 - Port Id 0x838b - Role Designated - State Forwarding
    
  21. [スイッチ#B] MSTインスタンス #2 の構成を確認します。
    Yamaha>show spanning-tree mst instance 2 | include Root Id
    % Default: MSTI Root Id 200200a0deaeb879      ... (プライオリティが高いスイッチ #B がMSTインスタンス #2 のルートブリッジになる)
    
    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
    
  22. [スイッチ#C] MSTインスタンス #2 の構成を確認します。
    Yamaha>show spanning-tree mst instance 2 | include Root Id
    % Default: MSTI Root Id 200200a0deaeb879      ... (プライオリティが高いスイッチ #B がMSTインスタンス #2 のルートブリッジになる)
    
    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
    


  23. [スイッチ#A] MSTインスタンス #3 の構成を確認します。
    Yamaha>show spanning-tree mst instance 3 | include Root Id
    % Default: MSTI Root Id 200300a0deaeb83d      ... (プライオリティが高いスイッチ #C がMSTインスタンス #3 のルートブリッジになる)
    
    Yamaha>show spanning-tree mst instance 3 | include Role
    %   port1.1: Port Number 905 - Ifindex 5001 - Port Id 0x8389 - Role Alternate - State Discarding ... (プライオリティが低いスイッチ #A のLAN #1 ポートがMSTインスタンス #3 の代替ポートになる)
    %   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
    
  24. [スイッチ#B] MSTインスタンス #3 の構成を確認します。
    Yamaha>show spanning-tree mst instance 3 | include Root Id
    % Default: MSTI Root Id 200300a0deaeb83d      ... (プライオリティが高いスイッチ #C がMSTインスタンス #3 のルートブリッジになる)
    
    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
    
  25. [スイッチ#C] MSTインスタンス #3 の構成を確認します。
    Yamaha>show spanning-tree mst instance 3 | include Root Id
    % Default: MSTI Root Id 200300a0deaeb83d      ... (プライオリティが高いスイッチ #C がMSTインスタンス #3 のルートブリッジになる)
    
    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
    



6 注意事項


7 関連文書

トップへ戻る