STP – スパニング ツリー プロトコルの説明

⚡ スマートサマリー

スパニングツリープロトコル(STP)は、レイヤ2のリンク管理規格であるIEEE 802.1Dであり、ルートブリッジを選出し、バックアップポートをブロッキング状態にすることで、冗長リンクを持つネットワークにおけるスイッチングループの発生を防ぎます。

  • 🔁 目的: STPは、冗長で潜在的にループを含む物理ネットワークから、ループのない論理トポロジーを構築します。ping リンク。
  • 🌉 ルートブリッジ: スイッチはBPDUを交換して1つのルートブリッジを選出する。ルートブリッジは、他のすべてのスイッチが最短経路を測定する際の基準点となる。
  • 🧱 港湾州: 各ポートは、ブロッキング、リスニング、ラーニング、フォワーディングの各状態を経て、シャットダウンされたポートの場合は無効状態になります。
  • RSTP: 高速スパニングツリープロトコル(802.1w)は数秒で収束するのに対し、従来のSTPは最大50秒かかる場合がある。
  • 📊 バリアント: 規格には、STP、RSTP、MSTP(802.1s)などが含まれます。 Cisco VLANごとのツリーを作成するためのPVST+およびPVRST+。
  • 🤖 AI支援: 機械学習ツールは、手動によるログレビューよりも速く、トポロジー変化を伴う嵐やループ状態を検出します。

スパニングツリープロトコル(STP)について解説

STPとは何ですか?

スパニングツリープロトコル(STP)は、冗長リンクをサポートしつつネットワーク内のスイッチングループを防止するように設計されたリンク管理プロトコルです。 層2 ブリッジやスイッチ上で動作するプロトコルであり、スイッチのインターフェースで有効にする必要がある。IEEEはこれをIEEE 802.1Dとして標準化した。

なぜSTPが必要なのでしょうか?

冗長リンクは耐障害性を向上させますが、ループ防止メカニズムがない場合、危険なスイッチングループが発生する可能性もあります。スパニングツリープロトコルが重要となる状況は以下のとおりです。

  • 冗長性を導入することで、ネットワークの信頼性(耐障害性)が大幅に向上する。
  • スイッチは、宛先がまだ不明な場合、すべてのポートからトラフィックを大量に送信します。
  • ブロードキャストおよびマルチキャストトラフィックは、到着したポート以外のすべてのポートから転送されます。
  • STPは、ループを含む物理トポロジーから、ループのない論理トポロジーを作成します。

STPはどのように機能しますか? 例

スパニングツリーは、冗長なリンクを検索するアルゴリズムを使用します。 LAN そして最適な経路を選択します。各リンクを転送状態またはブロック状態のいずれかに設定します。

この処理後、冗長な代替手段を持たないリンクは転送状態のままになります。最適なパスとして選択されなかった冗長リンクはブロッキング状態に設定されます。スパニングツリーは同じ宛先に対して複数のリンクを使用しないため、負荷分散は行われません。

STPの種類

スパニングツリープロトコルには、以下のような種類があります。

スタンダード 詳細説明 略語
IEEE 802.1D ループ防止機能、変更後のツリーの自動再構成機能、低速な収束処理(最大50秒) STP
IEEE 802.1w — ラピッドスパニングツリープロトコル 収束速度が向上した改良型STP。STPとの下位互換性あり。 RSTP
IEEE 802.1Q — 仮想LAN すべてのVLANに対して共通のスパニングツリーを定義します。 CST
Cisco 独自仕様 — VLANごとのスパニングツリー VLANごとに1つのSTPインスタンス。PVST+はPVSTの改良版です。 PVST+
Cisco 独自仕様 — VLANごとの高速スパニングツリー VLANごとの迅速な収束 PVRST+ / R-PVST+
IEEE 802.1s - 多重スパニングツリープロトコル 複数のVLANが単一のSTPインスタンスにマッピングされる MSTP

スパニングツリーの基準

どのインターフェースが転送状態になるかは、以下の3つの基準で決定されます。

  • ルートブリッジ上のすべてのインターフェースが転送状態に設定されます。
  • ルートブリッジではないブリッジの場合、ルートブリッジに最も近いポート(パスコストが最も低いポート)が転送状態になります。
  • 区間内のルートブリッジまでの経路コストが最も低いブリッジは、指定ブリッジと呼ばれます。

STPプロトコルの段階

スパニングツリーポートは、トラフィックを転送する前にいくつかの状態を経由します。下の図を参照してください。

STPポートの状態は、ブロッキングからリスニングとラーニングを経てフォワーディングへと遷移する。

ブロッキング状態

ブロッキングポートとは、フレーム転送に一切関与しない非指定ポートのことです。そのタイマーは20秒(max-age値)です。STPを有効にすると、インターフェースは必ずブロッキング状態になります。

リスニング状態

リスニング状態は、ポートがブロッキング状態から移行する最初の遷移状態です。この状態で、ポートはフレーム転送に参加するかどうかを判断します。リスニング状態は以下の機能を実行します。

  • ポートで受信したフレームを破棄します
  • MACアドレスを学習しない
  • BPDUを受信します

学習状態

学習状態は、ポートがフレーム転送に参加できるように準備します。ポートはリスニング状態から学習状態に移行し、以下の機能を実行します。

  • ポートで受信したフレームを破棄します
  • BPDUを受信します
  • 学ぶ MACアドレス

転送状態

転送状態にあるポートはフレームを転送します。学習状態から転送状態に移行し、以下の機能を実行します。

  • ポートで受信したフレームを受信して​​転送します
  • MACアドレスを学習する
  • BPDUを受信します

無効状態

無効化されたポートは、管理上シャットダウンされているため、スパニングツリーには参加しません。そのタイミングに制限はありません。無効化されたインターフェースは、以下の機能を実行します。

  • ポートで受信したフレームを破棄します
  • MACアドレスを学習しない
  • BPDUを受信しない

スパニングツリープロトコルで使用される重要な用語

STPで使用される重要な用語をいくつか紹介します。

ブリッジ

ブリッジはSTPの重要な構成要素であり、2つ以上のLANセグメントを接続する役割を担います。

ルートブリッジ(RB)

ルートブリッジはすべてのセグメント間の接続点を提供し、LAN内のすべてのブリッジはルートブリッジへの経路を持っています。STPはルートブリッジを自動的に選択しますが、ネットワーク管理者は必要に応じて変更できます。

ノンルートブリッジ (NRB)

非ルートブリッジとは、ルートブリッジ以外のすべてのブリッジのことです。

ルートポート (RP)

ルートポートとは、ルートブリッジにつながるポートのことです。

指定港(DP)

各LANセグメントには、それぞれ指定ポートが1つあります。各ブリッジは、指定ポートでフレームを受信し、ルートポートを経由してルートブリッジに転送します。

ポートID

ポートIDはルートポートを決定するのに役立ちます。これは、設定可能な1バイトの優先度値と、各ブリッジ固有のポート番号で構成されます。

経路コスト(PC)

パスコストは、転送速度の観点から最適なトポロジーを決定するのに役立ちます。帯域幅の低いリンクはコストが高くなります。STPはパスコストを使用して、ルートブリッジへの最短経路を選択します。

非指定港

非指定ポートとは、ブロックされているスイッチポートのことで、ブロックポートまたは代替ポートとも呼ばれます。非指定ポートはフレームを次のスイッチに転送できず、MACアドレステーブルにも登録されません。

RSTP

ラピッドスパニングツリープロトコル(RSTP)は、イーサネットネットワークにおいてループのないトポロジーを保証するネットワークプロトコルであり、従来のSTPよりもはるかに高速に収束します。

ブリッジ プロトコル データ ユニット (BPDU)

スパニングツリープロトコルでは、ネットワーク機器がメッセージを交換することで、ループのない論理トポロジーを構築する必要があります。これらのメッセージはBPDU(ブリッジプロトコルデータユニット)と呼ばれます。各ネットワーク機器は、トポロジー情報を共有するためにBPDUを送信します。

BPDUはスイッチが以下のことを行うのに役立ちます。

  • スパニングツリーのルートとして機能するスイッチを1つ選択します。
  • 各スイッチからルートスイッチまでの最短経路を計算し、各LANセグメントごとに1つのスイッチをルートに最も近いスイッチとして指定します。
  • 各スイッチで、ルートスイッチでない場合は、ルートポートとして1つのポートを選択してください。
  • スパニングツリーの一部であるポートを指定ポートとして識別します。
  • 指定されていないポートをブロックする。

構成 BPDU

構成 BPDU には、ルート デバイスのブリッジ ID、 transmitティングブリッジ、および識別子 transmitティングポート。

トポロジ変更通知 (TCN) BPDU

TCN BPDUは、スイッチがリンクのアップまたはダウンなど、ネットワークトポロジーの変化を検出した際に、ルートブリッジに向けて送信されます。ルートブリッジは、各スイッチに対し、MACアドレステーブルのエージング時間を短縮して、古いエントリを迅速に削除するように指示します。

STPとRSTPの違い

以下の表は、STPとRSTPの主な違いをまとめたものです。

STP RSTP
STPでは、ブリッジはルートブリッジからルートポートでBPDUを受信した場合にのみBPDUを送信します。 RSTPは、各スイッチがハロー間隔ごとにBPDUを送信することを可能にする。
STPは、ルートポートと指定ポートという2つのポート役割を定義します。 RSTPは、代替ポートとバックアップポートという2つの役割を追加します。

STPポート状態参照表

次の表は、各STPポートの状態、BPDUを処理するかどうか、およびMACアドレスを学習するかどうかをまとめたものです。

州/地域 詳細説明 BPDUの処理 MACを学ぶ
その中に ポートの初期化。 いいえ いいえ
身体障がい者 標準的なSTP運用に参加しない行政上の州。 いいえ いいえ
ブロッキング このポートはイーサネットフレームを転送しません。 はい(BPDUのみを受信および処理します) いいえ
耳を傾ける この状態ではループのないトポロジーが計算され、ポートにその役割が割り当てられます。 はい(BPDUの送受信を行います) いいえ
教室を超える ネットワークへの過負荷を防ぐために、フレーム転送を遅延させる追加の状態。 はい はい(MACアドレステーブルを作成します)
輸送 正常に動作しており、イーサネットフレームを転送しています。 はい はい

よくあるご質問

各スイッチは、優先度値(デフォルトは32768)とMACアドレスで構成されるブリッジIDを通知します。ブリッジIDが最も小さいスイッチがルートブリッジとなり、優先度が同じ場合はMACアドレスが最も小さいスイッチがルートブリッジとなります。

従来の802.1Dでは、3つのタイマーが使用されます。2秒のハロータイム、リスニングおよびラーニング状態のための15秒のフォワードディレイ、そして最大経過時間20秒です。完全な収束には30秒から50秒かかる場合があります。

BPDU Guard は、BPDU を受信して​​はならないアクセス (エッジ) ポートを保護します。そのようなポートが BPDU を受信した場合、スイッチは直ちにポートを err-disabled 状態に移行し、停止します。ping トポロジーを不安定化させる不正なスイッチや偶発的なループ。

PortFastを使用すると、アクセスポートはリスニング状態とラーニング状態をスキップして、直接転送状態に移行できます。この機能は、PCやサーバーなどのエンドデバイスに接続されたポートでのみ使用し、スイッチ間のリンクでは絶対に使用しないでください。

STP がない場合、冗長リンク間の スイッチ ブリッジングループが発生します。フレームが際限なく循環し、ブロードキャストストーム、フレームの重複、MACアドレステーブルの不安定性を引き起こし、LAN全体がすぐに過負荷状態になりクラッシュする可能性があります。

はい。最新のスイッチは、RSTPまたはMSTPをデフォルトで実行します。これは、これらの技術が数秒で収束するためです。大規模なデータセンターでは、TRILL、SPB、EVPN-VXLANなどのレイヤ3ルーティングやファブリック技術がますます導入されていますが、STPは依然としてレイヤ2におけるループを防ぐ役割を果たしています。

機械学習ツールは、通常のBPDUとトポロジー変化のアクティビティをベースラインとして記録し、突然のTCNフラッドやフラップなどの異常をフラグ付けします。ping ルートブリッジ。これにより根本原因分析が迅速化されますが、エンジニアが修正内容を確認し適用する作業は引き続き行われます。

GitHubコパイロット ドラフト Cisco IOS、Ansible、または Python ブリッジ優先度の設定やPortFastの有効化といったタスクを実行するためのコードスニペットを、短いコメントから生成します。生成されたコマンドは、本番環境のスイッチに適用する前に必ず確認してください。