STP / Spanning Tree Protocol
■ STP。Spanning Tree Protocol。
レイヤ2ネットワークでのネットワークループを論理的に遮断し、
ブロードキャストストーム等の発生を防ぐプロトコル。
IEEE 802.1dに規定されている。
STPが動作する網では、
各ブリッジが相互にBPDU(Bridge PDU)メッセージを交換することで、
常にネットワークをモニタしている。
具体的には、2つの端末間を結ぶ複数の通信経路(ループ)を検出した場合、
1つのインターフェースのみを生かして他の経路はすべて止めてしまう。
この結果、あるMACブリッジを根元とするツリー状のネットワークを形成する。
スパニングツリープロトコルでは、
スパニングツリーアルゴリズムが使用されている。
VLANごとに個別のスパニングツリーを形成することができる。
スイッチは複数のスパニングツリーを保持できる。
ブリッジはスパニングツリーを1つしか保持できない。
■ ブロードキャストストーム。Broadcast Storm。
LANスイッチを使用してネットワークを拡張する際、
冗長のため物理的にループする構成をとることがある。
このようなネットワークでブロードキャストフレームが出た場合、
永遠に転送(無限ループ)されて、
網内にいつまでも残ってしまう(ブロードキャストストーム)。
このように、多量のブロードキャストが同時に発生して、
ネットワークの全帯域を使い、
システムのタイムアウトを引き起こしている状態を
ブロードキャストストームと言う。
当然だが、ネットワークの状態としては好ましくない。
■ スパニングツリーの構成手順。
(1) ネットワーク上で最も基本になるブリッジ(ルートブリッジ)を選択する。
選択にはブリッジIDを使用する。
(2) 各スイッチのポートの中で、
ルートブリッジに最も近いポートをルートポートと決めて、
転送状態にする。
選択には、パスコストの合計値を使用する。
(3) 各セグメントの中で、
ルートブリッジに最も近いポートを代表ポートと決めて、
転送状態にする。
選択には、パスコストの合計値を使用する。
(4) 上記以外のポートは使用しないようにブロックする。
(5) ルートブリッジを頂点とする
論理的なツリートポロジ(スパニングツリー)が生成される。
■ ルートブリッジの決定
まずネットワーク全体のルートブリッジを決める必要がある。
ルートブリッジは、各スイッチが持つブリッジIDによって決定する。
ここでブリッジIDとは、プライオリティ値+MACアドレスのことである。
(1) 最初に、プライオリティ値が一番小さいものを、
ルートブリッジとして選出する。
(2) プライオリティ値が同値の場合には、
MACアドレス値が最も小さいものを、ルートブリッジとして決定する。
ルートブリッジに選出されたブリッジは、2秒間隔でBPDUを送り、
ループのないトポロジを維持する役割を持つ。
■ ルートポートの決定
非ルートブリッジは、
自分自身のルートポート(RP:Root Port)を決める必要がある。
(1) ルートブリッジに直接接続されているポートがあれば、
そのポートがルートポートになる。
(2) 直接接続されているポートがない場合は、
パスコストの合計が一番小さいポートを選ぶ
(各パスのコスト値は、リンク帯域幅に依存する)。
(3) パスコストが同値の場合は、ポート番号値が最小のポートになる。
ルートポートは、フォワーディング状態(転送状態)にする。
■ 代表ポートの決定
各セグメントごとに、
代表ポート(DP:Designed Port)を決める必要がある。
(1) ルートブリッジに直接接続されているポートがあれば、
そのポートが代表ポートになる。
このため、ルートブリッジでは全てのポートがDPになる。
(2) ルートブリッジに直接接続されているポートがなければ、
パスコストの合計が一番小さいポートを代表ポートに決める
(各パスのコスト値は、リンク帯域幅に依存する)。
代表ポートは、フォワーディング状態(転送状態)にする。
■ ポートのフォワーディングとブロッキング。
(1) ルートポート(RP)と代表ポート(DP)は、
すべてフォワーディング状態(転送状態)にする。
(2) ルートポート(RP)以外、代表ポート(DP)以外のポートは、
すべてブロッキング状態にする。NDPと呼ぶ。
ルートブリッジに選出されたブリッジは、2秒間隔でBPDUを送り、
ループのないトポロジを維持する役割を持つ。
他のブリッジは、20秒間経過しても新規BPDUが受信されない場合は、
STPの再計算が必要だと判断する。
■ コンバージェンス。収束。
ネットワークの物理トポロジが変化した場合に、
スパニングツリーが再構成されること。
例えば、フォワーディングしているリンクに障害が発生した場合、
自動的に冗長リンクに切り替わる。
すべてのデバイスが同じ情報を共有するまで、
データの転送は再開されないため、
コンバージェンスに掛かる時間は短ければ短いほど良い。
通常、コンバージェンスに至るまでの時間は、50秒かかる。
数十台〜数百台の大規模ネットワークの場合は、
きちんとした設計しないと、STPが収束できず、
結果として網がダウンすることがある。
■ STPにおけるポート状態。
コンバージェンスに際し、
STPが稼動するブリッジやスイッチ上のポートは、
下記の4種類の状態の間を遷移する。
ブロッキング BPDUに耳を澄ませている状態。
↓20秒
リスニング ルートブリッジへの別のパスを学習している状態。
↓15秒
ラーニング MACアドレステーブルの学習をしている状態。
↓15秒
フォワーディング データの送受信ができる状態。
■ STPの再計算。
■ スパニングツリー高速再構成(高速STP) IEEE802.1w
従来のスパニングツリープロトコルは、
迂回路の切替に1分以上かかっていた。
1分では多くのアプリケーションが通信異常と判断する。
高速STPでは、あらかじめ迂回路を識別しておくことで、
経路切替時間の短縮化を図る。
切替時間は2〜3秒と大幅に小さくなる。
以上。
2004/03/24 pm