ネスペ教科書 p.33
L2スイッチを複数接続して経路を冗長化すると、経路がループ構成になります。
こうなると、フレームがループを無限に流れ続け、通信ができなくなります。
そこで、IEEE 802.1Dで規定されているデータリンク層のプロトコルであるSTP(スパニングツリープロトコル)を有効にします。
STPは、ループ構成になった経路の一部をフレームが流れないようにブロックすることで、フレームのループを防ぎます。
ネスペR3 p.36
レイヤ2の冗長化技術としてはSTP(およびRSTP)よりはスタックとリンクアグリゲーションの技術のほうが優れています。
実際の現場でも、STPやRSTPは利用されません。
スパニングツリープロトコル(spanning tree protocol、STP)は、LAN内でループ構成を回避するためのデータリンク層の通信プロトコルである。
IEEE 802.1Dで定義、および規格化されている。概要
本プロトコルはDECで働いていたラディア・パールマンによって発明されたアルゴリズムを基礎としている。
LANを点と線によって構成されるグラフとみなし、LAN接続の一部をあえて利用禁止とすることでスパニング木を構成する。
すると、木構造はループ(閉路)を持たないことから、LAN内部でのループが回避されたことになる。STPの標準にはIEEEとDECが制定した2つの異なる規格が存在するが、コンピュータネットワークにおいて一般的に利用されるのはIEEEのものである。
これらの間に互換性はなく、両方のSTPを同時に運用した場合は正常に動作しない。スパニングツリープロトコルの動作
本プロトコルは、BPDU(bridge protocol data unit)と呼ばれるフレームのやり取りによって、木構造の根となるブリッジ(ルートブリッジ)を定める。
その上でさらにBPDUを交換することでルートブリッジまでの仮想的な距離をしらべ、その情報をもとに不要な経路を遮断する。BPDUはブリッジID(ブリッジの優先度とMACアドレスで構成)とパスコスト(通信速度などを基に設定)から成り立つ。
- 各ブリッジはBPDUを交換し、その内部に含まれるブリッジIDの比較により、ルートブリッジを決定する。
- さらにBPDUを交換し、ルートブリッジまでのパスコスト(仮想的な距離。リンク速度に応じて決められた値を合計して求める)を計算する。
- 各ブリッジにおいて、最もルートブリッジに近いポートをルートポート(Root Port、RP)とする。ただし、ルートブリッジにいたるルートが複数存在する場合は、リンク速度から求められるコストの和を比較することで、最短ルートを選ぶ。
- 各セグメントにおいて、最もルートブリッジに近いポートを指定ポート(Designated Port、DP)とする。
- その他のポートは非指定ポート(Non Designated Port、NDP)とする。
- 非指定ポートを閉塞することでスパニング木を形成する。
スパニングツリーの動作上の欠点として、収束までの時間が長いことや、VLANを構成する環境での動作が難しいことが挙げられる。
収束までの時間短縮を図った規格として、IEEE 802.1wにラピッドスパニングツリープロトコル(Rapid Spanning Tree Protocol、RSTP)が、またVLAN環境での動作を考慮した規格として、IEEE 802.1sにマルチプルスパニングツリープロトコル(Multiple Spanning Tree Protocol、MSTP)が、それぞれ規定されている。
なお、IEEE 802.1s は後に IEEE 802.1Q に統合されている。RSTPによって、通常のSTPが(ネットワークの大きさにもよるが)40〜50秒かかる収束時間を、数秒に抑えることができる。
近年は LinkAggregation という技術により、L2 の経路冗長と同時に負荷分散も可能になりましたので、実装されることは少なくなってきています。