# スパニングツリー

## 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 設定例

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

- MSTP構成図

- MSTインスタンスを使用してスパニングツリーを構成します。

- 負荷分散のため、MSTインスタンス(VLAN)ごとに経路が異なるように設定します。

- PCが接続されるLANポートはエッジポートにします。

■設定手順

1. [スイッチ#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 の定義

2. [スイッチ#A] CISTのプライオリティを設定します。

       Yamaha(config)#spanning-tree priority 8192 (1)

   1 | CISTのプライオリティを8192にする

3. [スイッチ#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 と関連付ける

4. [スイッチ#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 を設定する

5. [スイッチ#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 | エッジポートに設定する

6. [スイッチ#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 | エッジポートに設定する

7. [スイッチ#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 の定義

8. [スイッチ#B] CISTのプライオリティを設定します。

       Yamaha(config)#spanning-tree priority 16384 (1)

   1 | CISTのプライオリティを16384にする

9. [スイッチ#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にする

10. [スイッチ#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 を設定する

11. [スイッチ#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に対しても行います。

12. [スイッチ#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 の定義

13. [スイッチ#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にする

14. [スイッチ#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 を設定する

15. [スイッチ#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に対しても行います。

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

17. [スイッチ#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のルートブリッジになる

18. [スイッチ#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のルートブリッジになる

19. [スイッチ#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の代替ポートになる

20. [スイッチ#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 の代替ポートになる

21. [スイッチ#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 のルートブリッジになる

22. [スイッチ#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 のルートブリッジになる

23. [スイッチ#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 の代替ポートになる

24. [スイッチ#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 のルートブリッジになる

25. [スイッチ#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の下位互換 により対応します。

- MSTインスタンスに関連付けられるVLANの数はシステム全体で最大256個までです。

## 7. 関連文書

- Layer 2機能 : VLAN

- STP

  - IEEE802.1d

  - RFC4188

- RSTP

  - IEEE802.1w

  - RFC4318

- MSTP

  - IEEE802.1s

Search result
No more search results.
There are no topics that match your search query.