図●STPの概要
STPはイーサネットのフレームのループを回避するためのプロトコル。経路を冗長化しておき、通常使用時は片方の経路をブロックしてループを回避する。障害発生時にはブロックしていた経路を開放して通信を継続させる。
[画像のクリックで拡大表示]

 STPは、レイヤー2のイーサネットフレームのループを回避するためのプロトコル。LANスイッチの機能の1つで、IEEE 802.1D規格として標準化されており、異なるベンダーのスイッチ同士でも使える。ネットワークが物理的にループ状になっても、スイッチでSTPが有効なら、論理的にはループのないツリー構成に自動変更する。ネットワークの冗長化と障害回避に使われる。

 のように3つのスイッチを使って通信経路を冗長化しようとすると、経路がループ状になる。このままではネットワーク内で、ブロードキャスト通信のイーサネットフレームを転送し続ける「ブロードキャストストーム」が発生する。その結果、ネットワークの帯域やスイッチのリソースを消費して、ネットワークがダウンする。(図のa)。

 STPを使えばこのようなトラブルを回避できる。物理的な冗長構成を維持しながら、スイッチの特定のポートをブロック状態にし、ブロードキャストフレームがループしないようにするのだ(同b)。

 STPを有効にしたスイッチ同士は制御フレームをやり取りし、どのスイッチのどのポートをブロック状態にするのかを自動的に決める。図のbでは、スイッチAとつながっているスイッチCのポートをブロック状態にしている。

 通常時においては、パソコンからサーバーへのアクセスは、スイッチAとスイッチBを経由する。スイッチAとスイッチBの間の接続で障害が発生したら、スイッチCはブロック状態だったポートを自動的に開放し、スイッチCを経由する経路で通信できるようにするのである(同c)。

 またSTPは、突発的なブロードキャストストームを防止するためなど、障害回避の用途にも使われる。不注意でスイッチにLANケーブルの両端を接続してしまった場合などだ。STPを有効にしたスイッチはループを検知すると、自動的にポートの1カ所をブロックし、ブロードキャストストームを防ぐのである。