ブロードキャスト・フレームのループを作ってしまっているLANの例
上の図の青い中継装置はすべてスイッチです。
上の図のようにパソコンAがブロードキャスト・フレームを送信すると、図の赤い矢印ように流れてしまいます。
これだと送信したフレームが1周まわってループしてしまいます。そして、いつまでも巡回してしまいます。
もし、このようにスイッチやブリッジがループ状に繋がっている状態だと、このようなブロードキャスト・フレームが増加してネットワークを埋め尽くすブロードキャスト・ストームという現象を引き起こしてしまいます。
これを解決するためのプロトコルがSTPです。
STPは、Spanning Tree Protocolの略で、スパニング・ツリー・プロトコルと読みます。
STPは、IEEE802.1Dとして標準化されています。
IEEEとは、米国電気電子技術者協会のことです。
STPは、OSI参照モデルにおけるデータリンク層(レイヤ2)を対象とするリンク管理プロトコルです。
STPは、IEEE802.1Dに準拠したブリッジまたはスイッチで動作します。
STPでは、前述のような現象を引き起こさないようにするため、ループになっている経路を遮断し、LAN全体を以下のようにツリー状にします。
STPで改善したLANの例
今度は、ブロードキャスト・フレームのループを作ってしまっているLANの例を再検討し、上の図のように3台のスイッチと番号が付いた3つのネットワークの構成を変えてみました。
LANの構成を上の図のように改善すれば、一つのMACフレームが同じ経路を2回以上通過することはなくなります。
番号が1のスイッチをSTPではルートブリッジと言います。
なぜ、このようなLANを構成すると、スパニング・ツリーになるかと言いますと、以下の図に示したように木の根元から枝が生えているイメージになるからです。
ルートブリッジを根っ子にしたSTPの木構造の例
こういう見方もできるので、ルートブリッジとなっているスイッチを根っ子にしたLANの論理的な構成がわかりやすいです。
これで、前のようなループ構造のLANの問題を解決できます。
ちなみに、スパニング・ツリーとは、広がる木というような意味です。
確かに上の図を見るとそんな感じですよね。
上に図を描きましたので、STPに対応したLANのイメージは掴めたと思います。
STPもプロトコルなので、MACフレームの中に専用のヘッダーがあります。
このヘッダーを含むBPDU(Bridge Protocol Data Unit)フレームをスイッチ間で一定間隔をおいて送受信します。
通常2秒間隔です。
BPDUメッセージを運ぶMACフレームのフォーマットを以下の表に示しておきます。
BPDUメッセージを運ぶMACフレーム【単位:オクテット】 |
---|
終点MACアドレス【6】 |
始点MACアドレス【6】 |
MACフレームの長さ【2】 |
DSAP(42)【1】 |
SSAP(42)【1】 |
制御(42)【1】 |
BPDU【35または4】 |
パディング【8または39】 |
FCS【4】 |
トポロジー変更通知BPDUメッセージ【単位:オクテット(単位:ビット)】 |
---|
プロトコル識別子・・・0【2(16)】 |
バージョン識別子・・・0【1(8)】 |
BPDUタイプ・・・1000 0000【1(8)】 |
コンフィギュレーションBPDUメッセージ【単位:オクテット(単位:ビット)】 | ||
---|---|---|
プロトコル識別子・・・0【2(16)】 | ||
バージョン識別子・・・0【1(8)】 | ||
BPDUタイプ・・・0000 0000【1(8)】 | ||
フラグ【1(8)】 | ||
ルートブリッジ識別子【8(64)】
| ||
ルート・パス・コスト【4(32)】 | ||
ブリッジ識別子【8(64)】
| ||
ポート識別子【2(16)】
| ||
メッセージ年齢(message age)【2(16)】 | ||
最大年齢(maximum age)【2(16)】 | ||
ハロー時間(hello time)【2(16)】 | ||
転送遅延(forward delay)【2(16)】 |
STPで改善し、閉鎖ポートを示したLANの例
これでフレームがぐるぐる回ることはありません。
スイッチ同士は、互いにBPDUというプロトコルに従って、BPDUメッセージのやりとりをし、それぞれのスイッチが持つ情報を互いに交換し合います。
それぞれのスイッチは、相手から来た情報を基にブリッジ優先度と使用するポートを決めます。
ブロックする必要があるポートは、どこかと通信できないように閉鎖します。
ルートブリッジを決めるには、ブリッジ識別子を使用します。
ルートブリッジが決まれば、ルートポートや運用できる有効なポートを決定していくことができます。
これら以外のポートは、無効なポートなのでブロックします。
ブロックされるポートを決めるには、パス・コストを使用します。
ルートブリッジになれなかったスイッチでは、ルートブリッジまで最短パスでフレームを送れるポートを決めます。
このポートをルートポートと呼びます。
最短パスは、パス・コストで決めます。
パス・コストの値が小さいポートがルートポートになります。
パス・コストで判断できない場合は、ブリッジ識別子やポート優先度などを使用します。
次に、通信可能な有効なポート(ルートポートでもブロックされたポートでもないポート)を決めます。
このようなポートは、物理セグメントからルートブリッジまで最短パスでフレームを送れるポートになります。
これらの何れでもないポートは、ブロックされる対象となるポートです。
こうして、スパニング・ツリーができあがります。
STPは、通常使用するルートとは異なるルートを障害用に代替ルートとして使用します。
STPは、LANの障害を検出することもできます。
通常使用するルートの障害時には、この代替ルートに切り替えて運用を続行することになります。
自動的に新しい経路に切り替わるのに、経路の再計算が必要となるため、復旧に30秒以上かかるというのがちょっと問題です。
こうして、STPはスパニング・ツリーが倒れないように維持しようとします。
その後、スイッチ同士は、定期的に相互通信を行ってLANが正常に動作し、障害がないかどうかを確認しています。
もし、障害を検出すると、スパニング・ツリーを再構成し、ブロックされていたポートでの通信を可能にし、運用を続行します。
このように、ネットワークに冗長性(Redundancy)を加えることで信頼性を高めています。
ネットワークの場合、あえて冗長性を加える(冗長構成にする)ことで信頼性を高めますが、元々冗長性とは無駄が多い性質を言います。
従って、ネットワークの場合は、あえて無駄を増やすわけですが、ネットワークの場合は現実的に見て無駄がある方が安心できることになるので、STPの場合は、あえて普段使わない代替ルートを用意しておきます。
さて、次はポートステータスについて説明します。
STPでは、5つのポートステータスがあり、このステータスを調べればポートの状態がわかるようになっています。
これでSTPの仕組みに関する解説は終わりとします。
ところで、STPはどのようなスイッチに実装されているのでしょうか。
STPは、レイヤ2以上のスイッチで対応していますが、低価格なスイッチングハブでは対応していない機種も多くありますので、購入の際は製品仕様をよく見て検討する必要があります。
5000円くらいのスイッチングハブがありますが、こんなのではまず対応していないです。
5万円以上くらいのインテリジェントハブでも買わないと、STPには対応していません。
このくらいの価格の機種なら、ミラーリングポートも付いていますし、SNMPやVLANにも対応しています。
STPに関する解説はこれでおしまいとしたいのですが、最新の情報としてRSTP(Rapid STP)という新しいSTPの技術が登場しました。
前の方で、自動的に新しい経路に切り替わるのに、経路の再計算が必要となるため、復旧に30秒以上かかるのが以前のSTPでは問題であることを述べましたが、このRSTPを利用すれば、経路再計算が数秒に縮まります。
このRSTP(Rapid STP)は、IEEE802.1wとして標準化され、代替経路切り替えの高速化のために作られました。
ページトップへ
サイトマップ(LAN技術研究室の案内図)
ネットワーク技術用語集へ行く
LAN技術研究室のトップページへ
© 2007 Toyozi Masuda All rights reserved.