STP(Spanning Tree Protocol)とは何ですか?
簡単に言えば、STPプロトコルはネットワーク内のループ問題を解決するために作成されました。正式名称はSpanning Tree protocolで、OSIモデルの第2ネットワーク層で動作します。プロトコル規格はIEEE802.1Dです。STPは、一部のリンクをブロッキング状態に変更することで、リング型ネットワーク構造をツリー型ネットワーク構造に最適化します。
なぜSTPが必要なのか?
構造の信頼性を向上させるため、デバイス間には複数の物理リンクが設けられることがよくあります。この冗長構成は必然的にループを引き起こします。L2ネットワークでは、ループによってブロードキャストストームが発生し、ネットワーク帯域幅と処理リソースが枯渇して、最終的にネットワークが麻痺します。STPプロトコルは、リングネットワークでメッセージが継続的に転送される問題を解決します。
STPの基本概念
STPはリング構造をツリー型ネットワーク構造に変更します。理解する必要がある用語は、ルートブリッジ、ルートポート、指定ポート、パスコストの4つです。
STPネットワークには、ルートブリッジが1つしかありません。一般に、性能が高く、ネットワーク階層の上位にあるデバイスがルートブリッジとして選択されます。ルートブリッジは一意ですが不変ではなく、ネットワークトポロジーの変化に応じて変更されます。
ルートポートとは、デバイス上のすべてのSTPポートのうち、ルートブリッジまでのコストが最も低いポートを指し、ルートブリッジへのデータ転送を担当します。STPプロトコルを実行しているデバイス上には、ルートポートが1つだけ存在します。
ルートブリッジデバイスにはルートポートがないことに注意してください。指定ポートは、レベルによって定義が異なります。デバイスの場合、そのデバイスに直接接続され、設定メッセージの送信を担当する、デバイス上の直接接続ポートが指定ポートです。ネットワークの場合、このネットワークセグメントへ設定メッセージを転送するデバイス上の直接接続ポートが指定ポートです。
パスコストとはポートのコスト値を指し、ルートパスコストとはルートブリッジに到達する過程で累積されたパスコストを指します。
STPはどのように機能しますか?
ネットワークが初期化されると、すべてのデバイスは自身をルートブリッジと見なします。BPDUメッセージを交換することで、最も優先度の高いデバイスがルートブリッジとして選択されます。優先度が同じ場合は、MACアドレスが比較されます。ルートブリッジ以外の各デバイスは、設定メッセージを受信する際のコストが最も低いポートをルートポートとして決定します。コストが同じ場合は、BIDが比較されます。
デバイスは、ポート設定メッセージとルートポートのパスコストに基づいて、各物理パスの両端にあるポートのうち1つを指定ポートとして指定します。この時点で、役割が割り当てられていない残りのポートはブロックされます。この手順は、ループの形成を防ぐためのものです。
ルートブリッジ、ルートポート、指定ポートが正常に選出されると、ツリートポロジ全体が確立されます。トポロジが安定すると、ルートポートと指定ポートのみがトラフィックを転送し、それ以外の非ルートポートおよび非指定ポートはブロッキング状態になります。これらのポートはSTPプロトコルパケットのみを受信し、ユーザートラフィックは転送しません。
STPの用途
下図に示すように、レイヤー2リングネットワークでは、メッセージがネットワーク内で際限なくループするのを防ぐためにSTPが設定されており、Device 1のポートがブロックされています。






