スパニング ツリー プロトコルについて

高可用性のネットワークを構成しなければならない管理者は、スイッチ間の冗長リンクを設定してネットワークのダウンタイムを回避することができます。しかし、正常に展開されないと、冗長リンクにより通信を中断させるネットワーク ループが発生する可能性があります。ループを回避するため、冗長リンクを使って構成されたネットワーク上のループを回避するよう設計されたネットワーク プロトコルであるスパニング ツリー プロトコル (STP) を有効化することができます。

スパニング ツリー プロトコルは以下に対して有効化することができます:

LAN ブリッジ

ネットワーク ブリッジでスパニング ツリー プロトコルを有効にする方法の詳細については、ネットワーク ブリッジ構成を作成する を参照してください。

ブリッジ モード

ブリッジ モードで構成された Firebox でスパニング ツリー プロトコルを有効にする方法の詳細については、ブリッジ モード を参照してください。

VLAN

VLAN でスパニング ツリー プロトコルを有効にする方法の詳細については、新規の VLAN を定義する を参照してください。

VLAN に対するスパニング ツリー プロトコルのサポートには以下が含まれます:

  • Firebox 間の単一のタグ付き VLAN
  • Firebox 間の単一のタグ付きでない VLAN
  • Firebox およびサードパーティ スイッチ間の単一タグ付きでない VLAN
  • Firebox 間の複数のタグ付きまたはタグ付きでない VLAN

サポートされていない構成:

  • Firebox およびサードパーティ スイッチ間の複数のタグ付きまたはタグ付きでない VLAN
  • Firebox およびサードパーティ スイッチ間の単一のタグ付き VLAN

FireCluster ではスパニング ツリー プロトコルはサポートされていません。

Firebox を使って作業するには、ラピッド スパニング ツリー プロトコル (RSTP) を用いたスイッチに、STP に対する後方互換性がなければなりません。マルチプル スパニング ツリー プロトコル (MSTP) および独自の STP プロトコルはサポートされていません。

このトピックには、スパニング ツリー プロトコルに関する基本的な情報が記載されています。スパニング ツリー プロトコルに関する詳細な技術的情報については、IEEE 802.1D を参照してください。スパニング ツリー プロトコル用にスイッチを構成する方法の詳細については、スイッチの説明書を参照してください。

既定のスパニング ツリー プロトコル設定は、Fireware Command Line Interface (CLI) からのみ変更できます。既定のスパニング ツリー プロトコル設定の詳細については、CLI でスパニング ツリー プロトコルの設定を構成する を参照してください。

トポロジ

スパニング ツリー プロトコルは、LAN 上のスイッチおよびブリッジで実行されます。スパニング ツリー プロトコルはネットワークのレイヤー 2 で動作するため、Firebox のパフォーマンスに影響を及ぼさずにこの機能を有効にすることができます。

スパニング ツリーの実装では、ネットワーク トポロジはツリー構造になります。ロボット ブリッジ スイッチは、ツリーの最下部にあります。ネットワーク内のその他のスイッチである非ルート ブリッジ は、ツリーの枝にあります。

ルート ブリッジは冗長リンクを使用して、ネットワーク上の各位置へのアクティブなパスが 1 つしか存在しないようにします。ある位置に対し複数のパスが存在する場合は、スパニング ツリー アルゴリズムが最適なパスを算出し、冗長リンクを阻止してパケットを転送できないようにします。これにより、ネットワーク上のループが防止されます。

アクティブなリンクが使用できなくなると、ネットワーク通信は冗長リンクに自動的にフェールオーバーします。リンクのフェールオーバーの詳細については、トポロジの変更とリンクのフェールオーバー セクションを参照してください。

この図は、Firebox をルート ブリッジとするスパニング ツリーの簡単な実装を示しています。

簡単なスパニング ツリー実装のスクリーンショット

ブリッジ間の通信

相互に通信するため、ルートと非ルートブリッジは、ネットワーク上でブリッジ プロトコル データ ユニット (BPDU) を送信します。BPDU は、ブリッジ ID、パス コスト、ポート ID、およびその他の情報を指定する小型パケットです。

ブリッジ ID

ブリッジ ID (BID) は、ルート ブリッジを選択するのに使用される識別子です。これにはブリッジ優先度とブリッジの MAC アドレスが含まれています。ブリッジの優先度数が低いほど、優先度が高くなります。

ブリッジ優先度値:

  • 最低ブリッジ優先度 — 0
  • 既定ブリッジ優先度 — 32,768
  • 範囲 — 0〜32,768

パス コスト

パス コストは、ブリッジ間のリンクのリンク スピード (帯域幅) と関連づけられた値です。ポートのリンク スピードまたは双方向設定が変化すると、スパニング ツリー プロトコルはパス コストを自動的に再計算します。

このリストには、IEEE 802.1D によって指定されたパス コストが示されています。

ブリッジ間のリンク スピード 既定のパス コスト
10 Gbps 2
10 Gbps 4
100 Mbps 19
10 Mbps 100

ポート ID

ポート ID にはブリッジ優先度とインターフェイス識別子が含まれています。ポート ID が小さいほど、優先度が高くなります。

スパニング ツリー プロトコルのために構成されたスイッチは、ネットワークで次の 3 種類のBPDU を送信します:

  • トポロジ変更通知 (TCN) — トポロジの変化を告知するために非ルート ブリッジからルート ブリッジに送信されます。
  • トポロジ変更確認 (TCA) — トポロジの変化を報告したルート ブリッジから非ルート ブリッジに対し送信されます。非ルート スイッチが TCA を受信すると、それは TCN をブロードキャストしなくなります。
  • 構成 — ルート ブリッジから、hello 値により指定された間隔で、すべてのネットワークに対し送信されます。Firebox の場合、既定の間隔は 2 秒です。hello 値は Fireware CLI から変更できます。

ルート ブリッジとポートの選択

スパニング ツリー プロトコルを有効にすると、トポロジ収束 選択プロセスが自動的に行われます。ネットワーク内のブリッジは、以下を行うため、お互いに BPDU を送信します:

ステップ 1 — 単一のルート ブリッジを選択します

ネットワークの単一のブリッジがルート ブリッジとして選択されます。

ルート ブリッジを選択するため、ブリッジ ID (ブリッジ優先度と MAC アドレスが含まれているもの) が調べられます。ブリッジ優先度の値が最も小さいブリッジがルート ブリッジとして選択されます。すべてのブリッジに同じブリッジ優先度がある場合は、より低い MAC アドレス値のブリッジがルート ブリッジになります。ルート ブリッジは、自身の身分をルート ブリッジとして名乗るため非ルート ブリッジに BPDUを送信します。

ネットワーク上の特定のスイッチが常にルート ブリッジになるようにブリッジ ID 設定を構成することができます。たとえば、ルート ブリッジをネットワーク上のユーザー コンピュータに直接接続されていない一元化されたスイッチにしたい場合などがあります。

Fireware CLI では、次の手順に従って Firebox をルートブリッジとして指定することができます:

  • bridgeprio 値を、他のすべてのブリッジよりも低い数に変更します。
  • 特定のスイッチをバックアップ ルート ブリッジとして指定するには、次に高い bridgeprio 値をそのスイッチに指定します。

ステップ 2 — ルート ポートを選択する

ルート ポートは、ルート ブリッジに最も近い非ルート ブリッジ上のポートです。

それぞれの非ルート ブリッジは、パス コストに基づいて 1 つのルート ポートを選択します。ルート ブリッジへのパス コストが最も低いポートがルート ポートになります。たとえば、10 Mbps のリンクには 100 のパス コストがあります。10 Gbps のリンクには 2 のパス コストがあります。10 Gbps のリンクと関連づけられたポートはパス コストが最も小さいため、それはルート ポートになります。

すべてのポートのパス コストが同じ場合は、ブリッジ ID が最も低いポートがルート ポートになります。すべてのポートのパス コストとブリッジ ID が同じ場合は、ポート優先度が最も低いポートがルート ポートになります。

パス コストとポートの選択の詳細については IEEE 802.1D を参照するか、スイッチの説明書を参照してください。

ステップ 3 — 指定ポートを選択する

指定ポートはルートおよび非ルート ブリッジに存在します:

  • ルート ブリッジのすべてのポートは指定ポートです。
  • 非ルート ブリッジ上では、指定ポートはツリー上の次の非ルート ブリッジへのアップリンクです。

非指定ポートは、パケットを転送することが許可されていないポートです。非指定ポートと指定ポートの間の冗長リンクは非アクティブで、これによりネットワーク ループが防止されます。

この図ではルート ポート、指定ポート、および非指定ポートを簡単なスパニング ツリー実装で示してあります。

トポロジ変更とリンクのフェールオーバー

トポロジの変更後に何が起きるかを理解するには、ポートの状態を理解する必要があります。スパニング ツリー モデルでは、有効化されたスイッチ ポートは以下の 4 つのいずれかの状態である可能性があります:

  • ブロック — BPDU のみを受信します
  • リスニング — BPDU を処理し、アクティブ トポロジを構築します
  • 学習 — MAC テーブルを構築します
  • 転送 — データを送受信します

いずれかの 1 つのポートが使用不可能であることをブリッジが検出し、冗長ポートが存在する場合は、そのブリッジはその冗長ポートの状態を自動的にブロックから転送に変更します。

たとえば、ルート ポートが非ルート ブリッジでフェールオーバーすると、そのブリッジの冗長ポートの状態がブロックから転送に変わります。冗長ポートの状態が転送へと変更されると、そのポートは新たなルート ポートとなります。

ブリッジはルート ブリッジに BPDU を送信し、トポロジの変更をアナウンスします。ルート ブリッジは非ルート ブリッジに BPDU を送信し、変更を確認します。次に、ルート ブリッジはネットワーク上のすべてのブリッジに BPDU を送信し、変更をアナウンスします。ネットワーク上にループが存在する場合は、前のセクションに記載されるようにトポロジの収束が発生します。

アクティブ リンクから冗長リンクへのフェールオーバーは自動的に起きますが、瞬時ではありません。転送ポートが使用不可能になってから、ポートの状態がブロックから転送に変わるまでには遅延があります。また、ネットワーク上のブリッジが MAC アドレス テーブルを更新するのにも時間を要します

既定の設定

Firebox 構成でスパニング ツリー プロトコルを有効にすると、優先度やその他の設定に既定値が使用されます。既定のスパニング ツリー プロトコル設定を変更する方法の詳細については、CLI でスパニング ツリー プロトコルの設定を構成する を参照してください。

関連情報:

ネットワーク ブリッジ構成を作成する

ブリッジ モード

新しい VLAN を定義する