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