スパニングツリー

概要
ブリッジで冗長リンクを構成するときに、注意しなければいけないこととして次が挙げられます。

ブロードキャストストーム
同一データを複数受信
MACアドレステーブルの不安定

これらは、ネットワーク内にループが存在することによって引き起こされています。これに対処するための仕組みが「スパニングツリー」です。


ルートブリッジ
スパニングツリーは
あるポートをブロックして使わないようにすることにより、ネットワーク内のループを回避します。
簡単に次のような3台のブリッジの構成を考えます。



ブリッジはそれぞれ
ブリッジIDという値を持っています。実際にはブリッジのプライオリティ値とMACアドレスを組み合わせたものですが、ここでは単純にブリッジAはブリッジIDが1、Bは2、Cは3とします。そして、ブリッジAとBの間の通信回線が100Mbps、その他が10Mbpsとします。

スパニングツリーで最初にやることは、
ルートブリッジを決めることです。ルートブリッジは中心となるブリッジです。ブリッジはお互いにBPDU(Bridge Protocol Data Unit)というデータをやり取りして、ブリッジIDを認識しあいます。そして、ブリッジIDが最小のものがルートブリッジに選ばれます。




ポートの選択
ルートブリッジが決まると、DP(Designated Port)RP(Root Port)が決められていきます。
DPは、各セグメント(注)からルートブリッジに一番近いポートとなります。そして、各ブリッジからルートブリッジに一番近いポートをRPとして選択します。
この
DP、RPはブロックされることはありません



ブリッジAとブリッジBの間のセグメントを考えると、ルートブリッジ(ブリッジA)に一番近いのは、ブリッジAのポート1です。直接つながっていますもんね!同じように、ブリッジAとブリッジCの間では、ルートブリッジに一番近いのはブリッジAのポート2となります。これも直接つながっているので。
だから、ブリッジAのポート1、2はともにDPとして選択されます。(図の赤い○)

RPがどれになるかを考えていくと、
ブリッジBではポート1とポート2のうち、ポート1の方がルートブリッジに近くなります。ブリッジCでも、ポート1の方がルートブリッジに近いですね。
というわけで、RPとしてブリッジBのポート1、ブリッジCのポート1が選択されます。(図の青い○)

次にブリッジBとブリッジCの間のセグメントですね。このセグメントからルートブリッジへの一番近道はどこか?ということを考えればいいわけです。
すると
ブリッジA−B間は100Mbps、ブリッジA−C間は10MbpsなのでブリッジA−B間を通る方が近道になります。ということから、ブリッジBのポート2がDPです。DPにもRPにもなっていない残ったブリッジCのポート2がブロックされることになります。ここをブロックすることによって、ネットワーク全体でループ構造をなくしています。

このように
各ブリッジでどのポートを転送ができるポートにするか、ブロックして転送ができないようにするかといったことが完全に決まった状態を収束(コンバージェンス)と呼びます。
コンバージェンス状態から、新たにブリッジを追加した、障害が起こってしまったなどのネットワークの構成が変化すると、また最初からスパニングツリーを始めていきます。このため、
大規模なネットワークではネットワーク構成の変更があるたびに、スパニングツリーを再計算するためパフォーマンスが悪くなってしまうことが考えられます。また、ここではブリッジの場合についてですが、レイヤ2スイッチ(スイッチングハブ)においても同様にスパニングツリーを行ってループ構造を解消しています。


セグメント
以前にセグメントはトランスポート層のPDUの呼び方です、 というように紹介しました。その意味もあるのですが、他にも違う 意味で使われることがあります。
それは
ネットワークの単位として使われることがあります。 LANセグメントといったりします。スパニングツリーでの説明のとき はこちらの意味ですね。
このネットワークの単位としてのセグメントという言葉も、
そのと きどきで何を指しているのか変わってきます。コリジョンドメイン を指しているときもあればブロードキャストドメインを指している こともあります。この見分け方は、前後の文脈から判断するしかな いです。なんか国語の問題みたいですが(笑)。 ちなみに、このスパニングツリーの例ではブリッジによって分けられているので、セグメント=コリジョンドメインです。







(C) Copyright 2000 Gene All Right Reserved