ループを回避!冗長性を確保するも課題ありプロトコル:スパニングツリープロトコル(STP)
「通信経路がループしちゃってデータ転送が止まらなくなったらどうしよう」
こんにちは!松井真也です。有線LANの標準規格「イーサネット」について、シリーズ記事を書いております。
今回のテーマは、スイッチの冗長化の一つであるスパニングツリープロトコル(STP)です(シールド付きツイストペアじゃないですよ!)。このSTPは、ネットワークを冗長化させて信頼性を確保しつつ、ループによる障害を回避するためのプロトコルです。ただ、現在は他の技術に置き換わりました。でも、歴史的には重要な技術に位置づけられるのでぜひ知っておくことにしましょう。
では、いってみよう!
スパニングツリープロトコル(STP)とは?
このスパニングツリープロトコル(STP)は、ネットワーク内のループを避けることにより、ブロードキャストストーム(データの無限ループ!)を防ぎます。加えて、冗長化を実現することでネットワークの信頼性を確保します。
また、IEEE802.1Dによって標準化されています。ちなみに、IEEE802.1XはEAPによるWI-FI認証について、IEEE802.1QはタグVLANやMSTP(後述)について規定しております。覚えることがたくさんありますね…。
「会話」してネットワーク状態を確認
STPの動作原理は比較的シンプルです。ネットワーク内のスイッチは互いにBPDU(Bridge Protocol Data Unit)と呼ばれるフレームを交換し、ネットワークの状態を確認しています。スイッチ同士が定期的に会話してループを回避するんです。親しみが持てますなw。
では、会話の内容(BPDU)には何が書かれているのでしょうか?
スイッチ自身の識別情報、ルートブリッジ(これを起点にツリーを形成)の情報、パスコスト(ルートブリッジに到達するためのコスト)などが含まれています。
BPDUを利用して、一つのスイッチがルートブリッジとして選ばれ、ネットワークの全体構造がツリー状に整理されます。
う~ん、もう少しその過程を詳しく見てみましょう。
これが最適な経路の作り方
各スイッチはBPDUに基づいて最適な経路を計算します。この計算では、ルートブリッジまでのパスコストが最小となる経路が選ばれます。
スイッチはこの経路を通信OKな状態にし、他の冗長な経路はブロッキング状態にします。
こうして、ネットワーク全体が一つのループから解放されたツリー構造に整理されます。
では、ネットワーク内で障害が発生したらどうなるでしょうか。そこは冗長化の威力が発揮されます。BPDUで新たな最適経路を計算し、ネットワークを迅速に回復させる役割も果たします。
スイッチ間の会話、恐るべし。
STPは課題あり
このように、STPはループ回避と信頼性確保に効果的なプロトコルです。
が、問題は多いようです。特に大規模ネットワークでは、設計や運用が複雑になる傾向があります。
また、STPを使用すると、ネットワークのトポロジー変更時に最大50秒の収束時間が必要になり、この間はデータ転送が停止してしまいます。これは特に、PCをスイッチに新しく接続したときに問題になります。1分近く待つのはちょっと長いですね。
STPの限界を克服するために、RSTP(Rapid Spanning Tree Protocol)が開発されました。この話の続きは次回に回しましょう。
はい、本日はここまで!今回は、スイッチによるネットワーク経路の冗長化方法STPについてご紹介しました。技術的には面白いところがたくさんあるのですが、私の能力ではあまり詳しくお話できないこと、お許しください。
次回は、STPの続きです。では!
この記事が気に入ったらサポートをしてみませんか?