ループを防ぐスパニング・ツリー・プロトコル

ブリッジやLANスイッチ(スイッチング・ハブ)を利用すると,複数のLANを相互に接続できます。しかし,誤ってループ状に接続するとデータが回り続けてしまいます。このループ転送を回避する技術を「スパニング・ツリー・プロトコル」と言い,多くのブリッジやLANスイッチが実装しています。

 スパ二ング・ツリー・プロトコル(STP)を使うと,ループ構成を検出したときに適当なポートでブロックして転送経路を切断し,ループ転送を防ぎます。どのポートをブロックするかは,ブリッジ問でやり取りする制御情報に基づきます。STPは,ブリッジの標準仕様であるIEEE802.1Dに含まれており,冗長化の実現技術として広く利用されています。STPはブリッジやLANスイッチを使う各種LANで利用できますが,今回はイーサネットでの利用を想定して解説します。

経路障害時には代替経路へ切り替え
 ブリッジは,それぞれネットワーク上で個別の識別番号を待っています。STPは,ネットワークに接続したブリッジのうち最も識別番号が小さいブリッジを「ルート・ブリッジ」と見なします。このルート・ブリッジと他のブリッジの間に複数の経路が存在する揚合(ループがある場合),それらのうち最短となる経路以外を適当なポートでブロックします。こうして,ルート・ブリッジを起点としたツリー状の経路だけを使ってデータを転送します(図1)

スパニング・ツリー・プロトコルを使った経路選択
図1 スパニング・ツリー・プロトコルを使った経路選択

 ブロックされたポートは,データを受信しても破棄してしまいます。しかし,経路決定に必要な制御情報は破棄しません。このため,新しいブリッジを追加したり,機器の障害やケーブルの断線が発生したときに,自動的に経路を切り替えられます。
 機器障害などが発生して1回ブロックしたポートを開ける必要が生じても,すぐにデータ転送を開始できるわけではありません。ブロックされたポートは,まず待機状態となります。その間に特別な変化がなければ,一定時間を経てからMACアドレスと機器のポート番号を対応付ける「アドレス・テーブル」の学習を開始します。さらに一定時間たったときに特別な変化がなければ,データを転送し始めます。
 このように,アドレス・テーブルを学習する時間が必要なことや,ネットワーク全体で制御情報の交換が必要なことなどから、STPでは経路の切り替えに数十秒かかってしまいます。実際の切り替え時間はネットワーク内のブリッジの台数などに依存するため、大規模なネットワ−クほど時間がかかります。STPの仕様では,ネットワーク内のブリッジ間接続を最大7段とすることが推奨されています。

端末間の通信経路は最短とはならない
 ネットワークの冗長化を実現する技術は,STP以外にも,「ダイナミック・ルーテイング」や「リンク・アグリゲーション」などがあります(表1)。

表1 ホスティングとハウジングによるシステム構築・運用の差異
主な制御プロトコル スパニング・ツリー・プロトコル(IEEE802.1D) リンク・アグリゲーション制御プロトコル(IEEE802.1ad) ダイナミック・ルーティング・プロトコル
利用するレイヤー(対応装置) レイヤー2(LANスイッチ,ブリッジ) レイヤー3(ルーター)
プロトコルの利用限定 MACフレーム上のすべてのプロトコルを利用可能 IPなどに限定
最短経路の選択 なし 経由するルーターの台数に基づいて選択
帯域の有効利用 なし 負荷分散可能 負荷分散可能
機器で障害が発生した時の対応 自動的にう回路を確保 なし 自動的にう回路を確保
経路の切り替え時間 数十秒 数十ミリ秒 数十秒
対象となる装置 LANスイッチ 高機能LANスイッチ,サーバー レイヤー3スイッチ
実現コスト 比較的低い 高い 比較的高い


 ダイナミック・ルーテイングに比べると,STPは通信する端未聞で最短経路を選択できないデメリットがあります。例えば,図1にある左のネットワークに接続した端末Aと端末Bが通信する場合を考えてみます。2台の端末は,B5→B4(またはB3)→B6の順に通信できれば最短経路です。しかし,実際にはB4とB6(またはB3とB5)を接続したポートがブロックされているため,データはB5→B4→B1→B3→B6と5段のブリッジを経由することになります。
 また,STPは,隣り合った機器同士だけで冗長化を実現するリンク・アグリゲーションよりも切り替え時間が長くなります。帯域の利用効率の点でも,他の方式に劣っていま。
 しかし,最近になって切り替え時間を短縮する仕様「IEEE802.1w」が固まるなど,STPを改善した標準化の動きもあります。

トップページへ