スパニングツリーの機能説明
スパニングツリーは、レイヤー2におけるループを防止するための機能です。ループを防止しながらネットワークを冗長化できます。
スパニングツリーの機能概要
各種スパニングツリー(xSTP)とリングプロテクション(ERPS)は、装置内では併用できません。
各種スパニングツリー(xSTP)とMMRP-Plus は、装置内では併用できません。
各種スパニングツリー(xSTP)とVLAN変換機能は、同一インターフェース上では併用できません。
ループ検知機能と各種スパニングツリー(xSTP)を同一インターフェース(ポート、ポートチャネル)上で併用する場合は、事前に対象インターフェースへloop-detection action notify-onlyコマンドを設定してください。
PVST+は未サポートです。また、RPVST+を使用してPVST+と相互接続することは未サポートです。
スパニングツリーの計算
スパニングツリーを有効化すると、装置に設定したブリッジ優先度などを使用して、ルートブリッジやポートの役割が自動的に決定されます。
装置全体のスパニングツリーを有効化するには、spanning-tree global stateコマンドを使用します。インターフェースごとにスパニングツリーを有効化するには、spanning-tree stateコマンドを使用します。RPVST+を使用する際、指定したVLANのスパニングツリーを有効化するには、spanning-tree vlanコマンドを使用します。
他のレイヤー2、およびレイヤー3機能(スタック機能を含む)によって、CPUが過負荷となった場合、RPVST+パケットの処理が遅れることがあります。これにより、トラフィックの損失やネットワークトポロジーの変更が発生する場合があります。
スパニングツリーでは、以下の4種類のスパニングツリープロトコルに対応しています。
- MSTP(マルチプルスパニングツリープロトコル)
VLANごとにグループ分けし、グループごとにスパニングツリーを計算するプロトコルです。
- RSTP(ラピッドスパニングツリープロトコル)
対向のポート同士で直接ポートの役割を決定するプロトコルです。IEEE 802.1wで標準化されています。STPよりもスパニングツリーを短時間で計算できます。
補 足RSTPは、ポイントツーポイントリンクのみで利用できます。シェアードリンクの場合は、STPが利用されます。
- STP(スパニングツリープロトコル)
IEEE 802.1Dで標準化されているプロトコルです。
- RPVST+(VLAN単位のラピッドスパニングツリープロトコル)
RSTPと同じ方式で、VLANごとにスパニングツリーを提供するプロトコルです。
スパニングツリープロトコルは、spanning-tree modeコマンドで設定します。
ブリッジ優先度が最も小さいブリッジが、ルートブリッジに選択されます。
ルートブリッジの選択
ブリッジ優先度は、spanning-tree priorityコマンドで設定します。RPVST+を使用する際、指定したVLANのブリッジ優先度を設定するには、spanning-tree vlan priorityコマンドを使用します。
ルートブリッジの選択後、パスコスト、ポート優先度、ポート番号を基に、ポートごとに適切な役割が自動的に決定されます。
ポートの役割には、以下の5種類が定義されています。
ポートの役割は、スパニングツリープロトコルによって異なります。
- ルートポート
通信可能なポートです。ブリッジごとに1ポート存在し、ルートブリッジに最も近いポートです。
補 足ルートブリッジには、ルートポートは存在しません。
- 指定ポート
通信可能なポートです。リンクごとに1ポート存在し、ルートブリッジに最も近いポートです。
- 非指定ポート
データフレームがブロックされ、通信できないポートです。BPDUは送受信できます。
- 代替ポート
ルートポートの代替ポートです。データフレームがブロックされ、通信できないポートです。BPDUは送受信できます。
- バックアップポート
指定ポートの代替ポートです。データフレームがブロックされ、通信できないポートです。BPDUは送受信できます。
ポートの役割
パスコスト、ポート優先度、およびポート番号は、いずれも小さい値のポートが優先的に利用されます。たとえばパスコストの場合は、インターフェースの速度が速いほど小さくなります。
パスコストは、spanning-tree costコマンドで設定します。RPVST+を使用する際、指定したVLANのパスコストを設定するには、spanning-tree vlan costコマンドを使用します。
ポート優先度は、spanning-tree port-priorityコマンドで設定します。RPVST+を使用する際、指定したVLANのポート優先度を設定するには、spanning-tree vlan port-priorityコマンドを使用します。
スパニングツリーの状態遷移
STPでは、4つの状態が定義されています。
STPの状態遷移
また、RSTPでは、ブロッキング状態とリスニング状態の代わりに、破棄状態が定義されています。
RSTPの状態遷移
スパニングツリーでは、BPDU(Bridge Protocol Data Unit)と呼ばれる制御フレームが利用されます。一定時間、BPDUを受信できないと、障害が発生したと認識されます。
BPDUに関して、以下の項目を設定できます。()内は使用するコマンドです。
- BPDUのマルチキャスト宛先MACアドレス(spanning-tree nni-bpdu-addressコマンド)
- BPDUのハードウェア転送の有効化(forward-bpdu global enableコマンド)
BPDUのハードウェア転送は、NP5000の1.08.01以降、NP4000の1.03.01以降、NP2100の1.09.02以降、NP2000の1.09.01以降、NP2500の1.10.01以降でサポートしています。
スパニングツリープロトコルが有効の場合は、BPDUのハードウェア転送を有効にできません。
BPDUのハードウェア転送を使用する場合は、spanning-tree modeコマンドはデフォルト設定のままで使用してください。また、BPDUのソフトウェア転送も無効(デフォルト設定)のままで使用してください。
- BPDUのソフトウェア転送の有効化(spanning-tree forward-bpduコマンド)
装置としてソフトウェア転送可能なBPDUの最大レートは64Kbpsです。
トポロジー変更通知(TCN)は、ブリッジからルートブリッジに送信されるBPDUです。トポロジーの変更が発生すると、トポロジー変更通知(TCN)がフラッディングされます。フィルタリング機能を有効化すると、インターフェースで受信したトポロジー変更通知(TCN)を、他のインターフェースへ伝達しなくなります。
トポロジー変更通知(TCN)のフィルタリング機能を有効化するには、spanning-tree tcnfilterコマンドを使用します。
スパニングツリータイマー
スパニングツリーでは、以下のタイマーが用意されています。
- ハロータイム
装置がBPDUを定期的に送信する間隔です。2秒に設定した場合は、2秒に1回BPDUが送信されます。
- フォワードタイム
リスニング状態からラーニング状態へ移行する際、およびラーニング状態からフォワーディング状態に移行する際に待機する時間です。
- 最大エージタイム
障害が発生したと判断されるまでの時間です。BPDUが受信できないまま最大エージタイムが経過すると、障害が発生したと判断され、スパニングツリーの再計算が行われます。
- 転送保留カウント
送信するBPDUの上限の数(バーストサイズ)を設定できます。
ハロータイム、フォワードタイム、最大エージタイムは、spanning-tree (timers)コマンドで設定します。転送保留カウントは、spanning-tree tx-hold-countコマンドで設定します。RPVST+を使用する際、指定したVLANのハロータイム、フォワードタイム、最大エージタイムを設定するには、spanning-tree vlan (timers)コマンドを使用します。
ポートのリンクタイプの設定
ポートの対向に、装置が直接接続されているか、ハブなどを使用して複数の装置が接続されているかを設定します。
リンクタイプには、以下の2種類があります。
- ポイントツーポイントリンク
対向に装置が直接接続されているリンクです。
- シェアードリンク
ハブなどを使用して、対向に複数の装置が接続されているリンクです。
ポートのリンクタイプ
ポートのリンクタイプは、spanning-tree link-typeコマンドで設定します。
Port Fastモードの設定
Port Fastモードをエッジポートに設定すると、パソコンなどBPDUを送信しない機器を接続した場合に、リンクアップ後の転送遅延時間を待つことなく、すぐにフォワーディング状態に遷移させることができます。
Port Fastモードは、spanning-tree portfastコマンドで設定します。
ルートガードの設定
ルートブリッジのルートガードを有効化すると、優先度が高いBPDUを受信しても、ルートポートの再計算を行いません。
ルートガードは、spanning-tree guard rootコマンドで有効化します。
MSTPの設定
MSTP(Multiple Spanning Tree Protocol)を使用すると、グループごとにスパニングツリーの再計算を行うため、影響のないグループは再計算されず、再計算に関する処理負荷を抑えることができます。
MSTPの概要
MSTPのグループには、以下の3種類があります。
- MSTPインスタンス
MSTPにおける最小のスパニングツリーを構成するグループです。MSTPインスタンスにVLANを割り当てることで、複数のVLANを1つのグループとして扱うことができます。MSTPインスタンスのルートブリッジをインスタンスルートと呼びます。
- MSTPリージョン
同じ設定を共有するMSTPインスタンスのグループです。MSTPインスタンスを1つのブリッジとみなして、スパニングツリーを構成します。MSTPリージョンのルートブリッジをCISTリージョナルルートと呼びます。
- CIST(Common and Internal Spanning Tree)
MSTPリージョン外の装置も含めた全装置のグループです。MSTPリージョンを1つのブリッジとみなして、スパニングツリーを構成します。CISTのルートブリッジをCISTルートと呼びます。
1つの装置が、インスタンスルート、CISTリージョナルルート、およびCISTルートを兼ねる場合もあります。
各装置に設定された以下の情報が一致した装置が、同一のMSTPリージョンに属すると判定されます。MSTPリージョンを区別するための設定は、spanning-tree mst configurationコマンドを使用して、MSTPコンフィグレーションモードに遷移して行います。()内は使用するコマンドです。
- リージョン名(nameコマンド)
- リビジョン番号(revisionコマンド)
- MSTPインスタンスとVLANの関連付け情報(instanceコマンド)
MSTPリージョンの区別
MSTPでは、MSTPインスタンスを1つのブリッジとみなし、MSTPインスタンスに設定されたブリッジ優先度やポート優先度などを使用して、CISTリージョナルルートやポートの役割が決定されます。
MSTPインスタンスごとに設定できる情報は以下のとおりです。()内は使用するコマンドです。
- ブリッジ優先度(spanning-tree mst priorityコマンド)
- パスコストおよびポート優先度(spanning-tree mstコマンド)