日経NETWORK 2006.6『スパニング・ツリー 完全理解』 by Gene

日経NETWORKなどのネットワーク技術雑誌には、いままでスパニング・ツリー
についてきちんと解説している記事はなかったと思います。大規模なネットワ
ークで信頼性を確保するためには、必ずと言っていいほど必要とされるスパニ
ング・ツリー。雑誌でその解説記事が見あたらなかったのが不思議なくらい。

この記事では、スパニング・ツリーについて丁寧に解説していて、スパニング・
ツリーの理解があやふやな方にはとってもオススメです。

記事は、次のような3部構成になっています。

Part1:意義
スパニング・ツリーとはいったい何か?なんのためにどこで使うのか?

Part2:スパニング・ツリーの仕組み
スパニング・ツリーでどのようにループを防止して障害時に切り替えを行うの
か?

Part3:スパニング・ツリーの拡張

より高速な切り替えが可能なRSTPなど

まず、Part1でスパニング・ツリーの目的を解説しています。ぼくは、自分で
勉強するときも人に教えるときも「技術の背景・目的」をまず把握するように
しています。「こういう技術があってこういうことができます」っていうだけ
では、ちょっと理解が不足する傾向があるからです。

「どんなことに困っていて、それを解決するためにこういう技術が開発されま
した。その仕組みはこうなっています」

という具合に、その技術が必要とされる背景や目的をきちんと考えると、ぐっ
と理解が深まります。この記事では、まずきちんとスパニング・ツリーの目的
を理解できるように構成されているので素晴らしいと思います。スイッチとル
ータ、イーサネットフレームとIPパケットの特性の違いからスパニング・ツリ
ーが必要になる理由、そしてどの範囲でスパニング・ツリーを利用するかを明
確にしています。この辺のことは何となくさらっと流してしまいがちですが、
とても重要です。

続いて、Part2はスパニング・ツリーの仕組みについて解説されています。ス
パニング・ツリーの仕組みの最も基本となるBPDU(Bridge Protocol Data Unit)
やブリッジIDの考え方に始まって、なかなかわかりにくい「コスト」の計算方
法について丁寧に解説しています。
そして、どのようにポートの役割が決定されて、ループを防止するためにブロ
ックされるポートが決定されるかまで。
また、障害発生時の経路の切り替え(コンバージェンス)の様子もポートの状態
遷移とともに解説しています。
このPart2を読めば、基本的なスパニング・ツリーの仕組みについて十分に理
解できるでしょう。

ただ、現状のネットワーク構成ではあんまり標準のスパニング・ツリーだけを
利用することはありません。より拡張されたスパニング・ツリーを利用します。
スパニング・ツリーの拡張機能について紹介しているのがPart3です。
Part3で紹介しているスパニング・ツリーの拡張機能は、

・RSTP(Rapid STP)
・PVST(Per VLAN Spanning Tree)、MST(Multiple Spanning Tree)

です。
RSTPはスパニング・ツリーの切り替え(コンバージェンス)を高速化したもので
す。標準のスパニング・ツリーでは、切り替えに最大50秒もの時間がかかって
しまいます。50秒間もイーサネットフレームの転送ができなければ、ほとんど
のアプリケーションのセッションは切断されてしまうでしょう。より高速にコ
ンバージェンスさせるためにRSTPがあります。

RSTPは、あらかじめ障害発生時の代替ポートを決めておき、BPDUのフラグフィ
ールドを拡張して、高速なコンバージェンスを実現しています。

そして、PVSTはVLANごとにスパニング・ツリーの計算を行う拡張機能です。VLAN
ごとに個別のスパニング・ツリーを計算することで負荷分散を可能にします。
ただし、VLANひとつひとつでスパニング・ツリーを計算すると処理負荷が大き
くなります。そこで、複数のVLANをグループ化して、そのグループごとのスパ
ニング・ツリーを計算し、グループごとの負荷分散を実現するのがMSTです。

以上のような構成でスパニング・ツリーを丁寧に解説しています。この記事を
実際のネットワークでスパニング・ツリーを運用する上での十分な知識を得ら
れると思います。ぜひ保存版にしておきたいぐらいの記事です。
個別の機器の設定は、もちろん違ってきますが、このレベルの内容を理解して
いれば設定は難しくないでしょう。また、CCNAやCCNP BCMSNを受験する方にも
とても役に立つはずです。

日経NETWORKの詳細、購読申し込みはこちら↓

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA