スパニングツリープロトコル(STP)とは
スパニングツリープロトコル(STP)は、ローカルエリアネットワーク(LAN)において、ネットワークのループ構成を回避するための
通信プロトコルです。
IEEE 802.1Dで定義・規格化されており、ネットワークの安定稼働に重要な役割を果たします。このプロトコルは、ラディア・パールマンが開発した
アルゴリズムを基盤としています。
STPの基本的な考え方
STPは、LANをグラフ構造と捉え、ネットワークの一部を意図的に無効化することで、ループのない木構造(スパニングツリー)を形成します。これにより、ネットワーク内でデータが無限に循環するループを回避し、
ブロードキャストストームなどの問題を防ぐことができます。
STPの標準規格
STPには、
IEEEとDECが制定した異なる規格が存在しますが、一般的に使用されるのは
IEEEの規格です。これらの規格には互換性がなく、異なる規格のSTPが混在すると正常に動作しないため注意が必要です。
スパニングツリープロトコルの必要性
ループ構成の危険性
ネットワークにループ構成が存在すると、ブロードキャストフレームがネットワーク内を無限に循環し、
ブロードキャストストームが発生します。これにより、ネットワーク機器の
CPUリソースや帯域幅が過剰に消費され、ネットワークの動作が不安定になります。また、
MACアドレステーブルの学習が正常に行われなくなるため、通信が正常に行われなくなるなどの問題が発生します。
STPによるループ回避
STPは、ネットワーク利用者が誤ってループを構成した場合でも、自動的にループを解消し、ネットワークの不正動作を防ぎます。さらに、STPはネットワークの
冗長化にも利用され、重要なパスが故障した場合に備えて予備のリンクを設けることができます。この場合、STPはループを回避しつつ、リンクの
冗長化を実現します。
スパニングツリープロトコルの動作
ルートブリッジの選出
STPは、BPDU(Bridge Protocol Data Unit)と呼ばれるフレームを交換し、ネットワークの根となるルートブリッジを決定します。BPDUには、ブリッジID(ブリッジの優先度と
MACアドレスで構成)とパスコスト(通信速度に基づいた値)が含まれています。
ポートの役割決定
各ブリッジは、BPDUを交換してルートブリッジまでの距離を計算し、次の3種類のポートに分類します。
ルートポート (RP):ルートブリッジに最も近いポート
指定ポート (DP):各セグメントでルートブリッジに最も近いポート
非指定ポート (NDP):上記以外のポートで、閉塞されるポート
非指定ポートを閉塞することにより、ネットワークはループのないスパニングツリーを形成します。
スパニングツリープロトコルのパラメータ
STPでは、以下のタイマーが使用されます。
Hello Time (ハロータイム):BPDU送信間隔。標準値は2秒。
Forward Delay (転送遅延タイム):ポートの状態遷移時間。標準値は15秒。
Max Age (最大エージタイム):BPDUを受信しなくなってから障害と見なすまでの時間。標準値は20秒。
また、パスコストはリンク速度に応じて初期値が設定されており、ルートブリッジまでの距離計算に使用されます。STP(802.1D)では16bit、RSTPでは32bitが使用されることが多いです。
スパニングツリープロトコルの発展形
ラピッドスパニングツリープロトコル (RSTP)
STPの欠点である収束時間の長さや、VLAN環境での動作の難しさを改善するために、RSTP(
IEEE 802.1w)が開発されました。RSTPは、STPに比べて高速な収束を実現し、ネットワークの可用性を高めます。
マルチプルスパニングツリープロトコル (MSTP)
VLAN環境に対応するため、MSTP(
IEEE 802.1s)が開発されました。MSTPは、VLANごとにスパニングツリーを構成することで、より柔軟なネットワーク設計を可能にします。なお、
IEEE 802.1sは後に
IEEE 802.1Qに統合されています。
リンクの種類
STPのトポロジーは、ハブの有無によって「シェアードリンク」と「ポイントツーポイントリンク」に分けられます。ハブを介して複数スイッチが接続されるのがシェアードリンクで、ハブを介さず直接スイッチ同士が接続されるのがポイントツーポイントリンクです。
関連項目
ブリッジ (ネットワーク機器)
スイッチングハブ
* マルチホーミング