スパニングリリーとは
スパニングツリー(以下STP)とはネットワーク内でループを防止するためのプロトコルです。
では、下のようなネットワークを考えましょう。
このネットワークでループとはブリッジA→ブリッジB→ブリッジD→ブリッジC→ブリッジA→ブリッジB→ブリッジD→ブリッジC・・・という風に同ネットワーク内で繰り返すことをいいます。
スパニングツリーを考える上で必要なものはプライオリティとMACアドレスです。
プライオリティは16ビットの値で、デフォルトを32768として基本的に4096の倍数で表されます。
MACアドレスは製造時にそれぞれ決められる値です。
このプライオリティとMACアドレスを足し合わせた値を考えます。
ここで足し合わせた値が一番小さくなるのはブリッジBです。
この最も小さい値のブリッジをルートブリッジといいます。
次にそれぞれのブリッジでルートブリッジまでのコストが小さいポートを探します。
まず、それぞれのブリッジ間のコストを考えます。基準帯域幅を100Mbpsとすると。1Mbps=100コスト、10Mbps=10コストとなります。
ブリッジA~ブリッジBのコストは10、ブリッジB~ブリッジDのコストは10、ブリッジD~ブリッジCのコストは100、ブリッジC~ブリッジAまでのコストは10。
ルートブリッジがBなのでブリッジA、ブリッジC、ブリッジDのブリッジBまでのコストを考えます。
ブリッジAからブリッジBまでのコストは上の経路をたどると10Mbps+1Mbps+10Mbps=120コスト
下の経路をたどると10Mbps=10コスト
よって、下の経路のポートである①が選ばれます。
この最もコストの小さい経路をルートポートといいます。
ブリッジCについても同様に右の経路は1Mbps+10Mbps=110コスト
下の経路は10Mbps+10Mbps=20コスト
よってルートポートは⑦となります。
ブリッジDは下の経路は10Mbps=10コスト
右は1Mbps+10Mbps+10Mbps=120コスト
よって、ルートポートは④となります。
次にルートブリッジに近いポートを考えます。
このポートを指定(代表)ポートといいます。
ブリッジA-ブリッジB間は②、ブリッジB-ブリッジD間は③、ブリッジA-ブリッジC間は⑧、ブリッジC-ブリッジD間は⑤となります。
ここまで出てきたポートは①、②、③、④、⑤、⑦、⑧です。
そして残った⑥がブロッキングポートといわれ通信しないポートとなります。
よって、上のような回路となりPC AからPC Bに通信するための回路にPC A→ブリッジA→ブリッジB→ブリッジD→PC Bの経路を通ることとなります。
STPの経路変更
STPではスイッチ間で定期的に送受信するBPDUで経路を変更しています。
BPDUで障害が起こったと通知されると障害が起こった経路以外で上のような計算を行い最適経路を決定します。
この動作には数十秒かかります。
まとめ
今回はSTP(スパニングツリー)について解説しました。
まず、ルートブリッジをプライオリティ、MACアドレスから求めます。
次にコストの小さいルートポートを見つけ、その次にルートブリッジに近いポートを見つけます。
そして、残ったポートがブロッキングポートとなります。
STPはループを防ぐために作られたものですが経路変更に時間がかかり、片方の経路のみしか使えないのはネットワークを運営する上でとても非効率です。
そのため、効率よくするために複数のVLANに割り当てるMSTP、高速計算をするRSTPによりこの問題を解決することができます。
コメント