STP 機能
次の項では、スパニング ツリー機能の動作について説明します。
• 「STP の概要」
• 「サポートされている STP インスタンス」
• 「ブリッジ プロトコル データ ユニット」
• 「ルート スイッチの選出」
• 「ブリッジ ID、スイッチ プライオリティ、および拡張システム ID」
• 「スパニング ツリー タイマー」
• 「スパニング ツリー トポロジの形成」
• 「スパニング ツリー インターフェイスの状態」
• 「スパニング ツリー アドレスの管理」
• 「STP および IEEE 802.1Q トランク」
• 「スパニング ツリーと冗長接続」
• 「接続を維持するためのエージングの加速」
STP の概要
STP は、ネットワーク内のループを防ぎながら、パスの冗長性を実現するレイヤ 2 リンク管理プロトコルです。レイヤ 2 イーサネット ネットワークが正常に機能するのは、任意の 2 つのステーション間にアクティブ パスが 1 つだけ存在する場合です。スパニング ツリーの動作は端末に対して透過的であるため、1 つの LAN セグメントに接続されているのか、複数のセグメントで構成されたスイッチ型 LAN に接続されているのか端末で検出することはできません。
フォールト トレランスなインターネットワークを構築するときには、ネットワーク内のすべてのノード間にループのないパスが必要となります。スパニング ツリー アルゴリズムでは、スイッチ型レイヤ 2 ネットワーク全体にわたる最適なループフリー パスを計算します。スイッチは、ブリッジ プロトコル データ ユニット(BPDU)と呼ばれるスパニング ツリー フレームを定期的に送受信します。 スイッチはこれらのフレームを転送するわけではありませんが、フレームを使用してループのないパスを構築します。
端末間に複数のアクティブ パスがあると、ネットワーク内にループが発生する原因となります。ネットワークにループが存在すると、端末が重複したメッセージを受信する可能性があります。また、スイッチが複数のレイヤ 2 インターフェイス上の端末 MAC アドレスを学習する可能性もあります。このような状況は、ネットワークを不安定にします。
スパニング ツリーでは、ルート スイッチおよびルートからレイヤ 2 ネットワーク内のすべてのスイッチへのループフリー パスによってツリーを定義します。スパニング ツリーは、冗長データ パスを強制的に待機(ブロック)状態にします。スパニング ツリー内のネットワーク セグメントで障害が発生したときに冗長パスが存在する場合、スパニング ツリー アルゴリズムは、スパニング ツリー トポロジを再計算し、待機パスをアクティブにします。
スイッチの 2 つのインターフェイスがループに含まれているときには、スパニング ツリーのポート プライオリティとパス コストの設定によって、転送状態になるインターフェイスとブロッキング状態になるインターフェイスが決まります。ポート プライオリティ値は、ネットワーク トポロジ内のインターフェイスの位置を表すとともに、そのインターフェイスがトラフィックを渡すためにどの程度適しているかを表します。パス コスト値は、メディア速度を表します。
サポートされている STP インスタンス
ML シリーズ カードでは、Per-VLAN Spanning Tree(PVST+)と最大 255 のスパニング ツリー インスタンスをサポートしています。
ブリッジ プロトコル データ ユニット
交換回線ネットワークのスパニング ツリー トポロジが、安定でアクティブになるかどうかは、次の要素によって決まります。
• 各スイッチの各 VLAN に関連付けられた一意のブリッジ ID(スイッチ プライオリティおよび MAC アドレス)
• ルート スイッチへのスパニング ツリー パス コスト
• 各レイヤ 2 インターフェイスに関連付けられたポート識別子(ポート プライオリティおよび MAC アドレス)
ネットワーク内のスイッチの電源がオンになっているときには、各スイッチはルート スイッチとして機能します。各スイッチは、そのすべてのポートを介してコンフィギュレーション BPDU を送信します。BPDU によって、スパニング ツリー トポロジの通信と計算が行われます。各コンフィギュレーション BPDU には、次の情報が格納されます。
• 送信スイッチがルート スイッチとして識別するスイッチの一意のブリッジ ID
• ルートへのスパニング ツリー パス コスト
• 送信スイッチのブリッジ ID
• メッセージの有効期間
• 送信インターフェイスの識別子
• hello タイマー、転送遅延タイマー、および最大エージング プロトコル タイマーの値
スイッチは、低位のブリッジ ID、低いパス コストなど、より優良な情報が格納されたコンフィギュレーション BPDU を受信すると、そのポートの情報を保存します。この BPDU がスイッチのルート ポートで受信された場合、このスイッチに接続されているすべての LAN (指定スイッチにつながる)に最新のメッセージとともにこの BPDU を転送します。
スイッチがそのポート用に現在保存されている情報より劣った情報が格納されたコンフィギュレーション BPDU を受信した場合には、その BPDU を廃棄します。スイッチが指定スイッチであり、その LAN を通して劣った BPDU を受信した場合、スイッチはそのポート用に保存している最新情報を BPDU に入れて、その LAN に送信します。このようにして、劣った情報は廃棄されるので、優良な情報がネットワークに伝播します。
BPDU を交換することによって、次の処理が実行されます。
• ネットワーク内の 1 台のスイッチがルート スイッチとして選出されます。
• 各スイッチに対して 1 つのルート ポートが選択されます(ルート スイッチを除く)。このポートは、スイッチがルート スイッチにパケットを転送する際に最適パス(最も低コストのパス)を提供します。
• パス コストに基づいて、各スイッチからルート スイッチまでの最短距離が計算されます。
• 各 LAN セグメントの指定スイッチが選択されます。指定スイッチは、その LAN からルート スイッチにパケットを転送する際に最も低コストのパスを選択します。指定スイッチと LAN との接続に使用されるポートを指定ポートと呼びます。
• スパニング ツリー インスタンスに含まれているインターフェイスが選択されます。ルート ポートと指定ポートが転送状態になります。
• スパニング ツリーに含まれていないすべてのインターフェイスはブロックされます。
ルート スイッチの選出
スパニング ツリーに関与するレイヤ 2 ネットワーク内のすべてのスイッチは、BPDU データ メッセージの交換を通じてネットワーク内の他のスイッチの情報を収集します。このメッセージの交換によって、次の処理が実行されます。
• 各スパニング ツリー インスタンスに対して一意のルート スイッチが選出されます。
• すべてのスイッチ型 LAN セグメントの指定スイッチが選出されます。
• 冗長リンクに接続されるレイヤ 2 インターフェイスをブロッキングすることにより、交換回線ネットワーク内のループを除去します。
各 VLAN では、スイッチ プライオリティが最も高い(プライオリティ値が最も小さい)スイッチが、ルート スイッチとして選出されます。すべてのスイッチがデフォルト プライオリティ(32768)で設定されている場合は、VLAN 内で MAC アドレスが最も小さいスイッチがルート スイッチになります。スイッチ プライオリティ値は、ブリッジ ID の最上位ビット部分が割り当てられます。
スイッチ プライオリティ値を変更すると、スイッチがルート スイッチとして選出される可能性を変えることができます。設定する値が大きくなるほどルート スイッチとして選出される可能性は低くなり、値が小さくなるほど可能性は高まります。
ルート スイッチは、交換回線ネットワークのスパニング ツリー トポロジの論理的な中心部分です。交換回線ネットワーク内の任意の場所からルート スイッチに到達する必要のないパスはすべて、スパニング ツリー ブロッキング モードになります。
BPDU には、スイッチと MAC アドレス、スイッチ プライオリティ、ポート プライオリティ、パス コストなど、送信スイッチとそのポートに関する情報が格納されています。スパニング ツリーはこの情報を使用して、交換回線ネットワークのルート スイッチとルート ポート、および各交換回線セグメントのルート ポートと指定ポートを選出します。
ブリッジ ID、スイッチ プライオリティ、および拡張システム ID
IEEE 802.1D 規格では、各スイッチには一意のブリッジ識別子(ブリッジ ID)が割り当てられている必要があります。このブリッジ ID によって、ルート スイッチが選択されます。各 VLAN は PVST+ を備えた別の論理ブリッジとみなされるため、 各スイッチには設定されている VLAN と同数の異なるブリッジ ID が必要となります。スイッチの各 VLAN には、一意の 8 バイト ブリッジ ID が割り当てられています。最上位の 2 バイトはスイッチ プライオリティに使用され、残りの 6 バイトはスイッチの MAC アドレスから取得されます。
ML シリーズ カードでは、IEEE 802.1T スパニング ツリー拡張機能をサポートしています。以前にスイッチ プライオリティに使用されていたビットの一部は、現在ブリッジ ID として使用されています。その結果、スイッチ用に予約される MAC アドレスが減り、ブリッジ ID の一意性を維持しながら、広範囲の VLAN ID をサポートできるようになりました。 表 6-1 に示すように、これまでスイッチ プライオリティに使用されていた 2 バイトは、4 ビット プライオリティ値、およびブリッジ ID と等しい 12 ビット拡張システム ID 値に再割り当てされています。以前のリリースでは、スイッチ プライオリティは 16 ビット値です。
表 6-1 スイッチ プライオリティ値と拡張システム ID
|
拡張システム ID (ブリッジ ID に等しく設定)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32768 |
16384 |
8192 |
4096 |
2048 |
1024 |
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
スパニング ツリーは、拡張システム ID、スイッチ プライオリティ、および割り当てられたスパニング ツリー MAC アドレスを使用して、各 VLAN のブリッジ ID を一意にします。 以前のリリースでは、スパニング ツリーは VLAN ごとに 1 つの MAC アドレスを使用して、各 VLAN のブリッジ ID を一意にしていました。
スパニング ツリー タイマー
表 6-2 に、スパニング ツリー全体のパフォーマンスに影響を及ぼすタイマーを示します。
表 6-2 スパニング ツリー タイマー
|
|
hello タイマー |
このタイマーが満了すると、インターフェイスは隣接ノードに hello メッセージを送信します。 |
転送遅延タイマー |
インターフェイスが転送を開始するまでの、リスニング状態およびラーニング状態の継続時間を決定します。 |
最大エージング タイマー |
インターフェイスで受信したプロトコル情報をスイッチが保管する時間を決定します。 |
スパニング ツリー トポロジの形成
図 6-1 では、すべてのスイッチのスイッチ プライオリティがデフォルト(32768)に設定されており、スイッチ A の MAC アドレスが最も小さいため、スイッチ A がルート スイッチとして選出されます。ただし、トラフィック パターン、転送インターフェイスの数、またはリンク タイプによっては、スイッチ A が最適なルート スイッチではない場合があります。最適なスイッチがルート スイッチになるように、そのスイッチのプライオリティを上げる(数値を下げる)ことによって、最適なスイッチをルートにした新しいトポロジを形成するよう強制的に再計算させます。
図 6-1 スパニング ツリー トポロジ
スパニング ツリー トポロジをデフォルトのパラメータに基づいて計算すると、交換回線ネットワークの送信元端末から宛先端末までのパスが最適にならない可能性があります。たとえば、より高速のリンクをルート ポートよりもプライオリティの高いインターフェイスに接続すると、ルート ポートが変更される可能性があります。目標は、最も高速のリンクをルート ポートにすることです。
スパニング ツリー インターフェイスの状態
プロトコル情報がスイッチ型 LAN を通過するときに、伝播遅延が発生する場合があります。その結果、交換回線ネットワークのさまざまな時点および場所でトポロジの変更が発生します。インターフェイスが、スパニング ツリー トポロジに含まれていない状態から転送状態に直接移行すると、一時的なデータ ループが形成される可能性があります。インターフェイスは、新しいトポロジ情報がスイッチ型 LAN 経由で伝播されるまで待機してから、フレームの転送を開始する必要があります。また、以前のトポロジを使用して転送されたフレームの存続時間が満了するのを待つ必要もあります。
スパニング ツリーを使用するスイッチの各レイヤ 2 インターフェイスは、次のいずれかの状態になります。
• ブロッキング―インターフェイスはフレーム転送に関与しません。
• リスニング―インターフェイスがフレーム転送に関与する必要があるとスパニング ツリーが判断したときに、ブロッキング状態から最初に移行する状態です。
• ラーニング―インターフェイスがフレーム転送に関与する準備をしている状態です。
• 転送―インターフェイスはフレームを転送します。
• ディセーブル―ポートのシャットダウン、ポート上のリンクの欠落、またはポートで稼動するスパニング ツリー インスタンスがないことなどが原因で、インターフェイスはスパニング ツリーに関与していません。
インターフェイスは、次のように状態を移行します。
1. 初期化からブロッキング
2. ブロッキングからリスニングまたはディセーブル
3. リスニングからラーニングまたはディセーブル
4. ラーニングから転送またはディセーブル
5. 転送からディセーブル
図 6-2 図 6-2 に、インターフェイスの状態がどのように移行するかを示します。
図 6-2 スパニング ツリー インターフェイスの状態
スイッチの電源をオンにすると、STP はデフォルトでイネーブルになり、スイッチ、VLAN、またはネットワーク内のすべてのインターフェイスは、ブロッキング状態を経てリスニングおよびラーニングという移行状態になります。スパニング ツリーは、各インターフェイスを転送状態またはブロッキング状態で安定させます。
スパニング ツリー アルゴリズムによって、レイヤ 2 インターフェイスが転送状態になると、次のプロセスが発生します。
1. インターフェイスをブロッキング状態に移行するためのプロトコル情報をスパニング ツリーが待っている間、インターフェイスはリスニング状態になります。
2. スパニング ツリーは転送遅延タイマーの満了を待ち、インターフェイスをラーニング状態に移行して転送遅延タイマーをリセットします。
3. ラーニング状態では、スイッチが転送データベースの端末位置情報を学習する間、インターフェイスは引き続きフレーム転送をブロックします。
4. 転送遅延タイマーが満了すると、スパニング ツリーはインターフェイスを転送状態に移行します。この時点で、ラーニングとフレーム転送の両方がイネーブルになります。
ブロッキング状態
ブロッキング状態のレイヤ 2 インターフェイスは、フレーム転送には関与しません。初期化後、スイッチの各インターフェイスに BPDU が送信されます。スイッチは他のスイッチと BPDU を交換するまで、最初はルートとして機能します。この交換により、ネットワーク内のどのスイッチがルートまたはルート スイッチであるかが確定します。ネットワークにスイッチが 1 つしかない場合、交換は行われずに転送遅延タイマーが満了し、インターフェイスはリスニング状態に移行します。スイッチの初期化後、インターフェイスは常にブロッキング状態になります。
ブロッキング状態のインターフェイスは、次の処理を実行します。
• ポートで受信したフレームを廃棄します。
• 転送用に別のインターフェイスからスイッチングされたフレームを廃棄します。
• アドレスを学習しません。
• BPDU を受信します。
リスニング状態
リスニング状態は、レイヤ 2 インターフェイスがブロッキング状態から最初に移行する状態です。インターフェイスがフレーム転送に関与する必要があるとスパニング ツリーが判断したときに、インターフェイスはこの状態になります。
リスニング状態のインターフェイスは、次の処理を実行します。
• ポートで受信したフレームを廃棄します。
• 転送用に別のインターフェイスからスイッチングされたフレームを廃棄します。
• アドレスを学習しません。
• BPDU を受信します。
ラーニング状態
ラーニング状態のレイヤ 2 インターフェイスは、フレーム転送に関与するよう準備しています。インターフェイスは、リスニング状態からラーニング状態になります。
ラーニング状態のインターフェイスは、次の処理を実行します。
• ポートで受信したフレームを廃棄します。
• 転送用に別のインターフェイスからスイッチングされたフレームを廃棄します。
• アドレスを学習します。
• BPDU を受信します。
転送状態
転送状態のレイヤ 2 インターフェイスはフレームを転送します。インターフェイスは、ラーニング状態から転送状態になります。
転送状態のインターフェイスは、次の処理を実行します。
• ポートで受信したフレームを受け入れて転送します。
• 別のポートからスイッチングされたフレームを転送します。
• アドレスを学習します。
• BPDU を受信します。
ディセーブル状態
ディセーブル状態のレイヤ 2 インターフェイスは、フレーム転送またはスパニング ツリーに関与しません。ディセーブル状態のインターフェイスは動作していません。
ディセーブルになったインターフェイスは、次の処理を実行します。
• 転送用に別のインターフェイスからスイッチングされたフレームを転送します。
• アドレスを学習します。
• BPDU を受信しません。
スパニング ツリー アドレスの管理
IEEE 802.1D には、さまざまなブリッジ プロトコルが使用するマルチキャスト アドレスとして、0x00180C2000000 ~ 0x0180C2000010 の範囲の 17 個のアドレスが指定されています。これらのアドレスは、削除できないスタティック アドレスです。
ML シリーズ カードは、プロトコル トンネリング機能によってトンネリングされているときには、サポートされている BPDU (0x0180C2000000 および 01000CCCCCCD)をスイッチングします。
STP および IEEE 802.1Q トランク
IEEE 802.1Q トランクを介してシスコ スイッチを他社製のデバイスに接続する場合、シスコ スイッチでは PVST+ を使用してスパニング ツリーの相互運用性を実現します。ユーザがブリッジ グループにプロトコルを割り当てると、PVST+ は IEEE 802.1Q トランクで自動的にイネーブルになります。アクセス ポートおよびスイッチ間リンク(ISL)トランク ポートの外部スパニング ツリーの動作は、PVST+ の影響を受けません。
IEEE 802.1Q トランクの詳細については、 第7章「VLAN の設定」 を参照してください。
スパニング ツリーと冗長接続
2 つのスイッチ インターフェイスをもう 1 台のデバイス、または 2 台の異なるデバイスに接続することにより、スパニング ツリーで冗長バックボーンを作成できます。図 6-3 に示すように、スパニング ツリーは、一方のインターフェイスを自動的にディセーブルにしますが、もう一方のインターフェイスに障害が発生すると、ディセーブルになっているインターフェイスをイネーブルにします。一方のリンクが高速で、もう一方が低速の場合、低速のリンクが常にディセーブルになります。両方の速度が同じである場合は、ポート プライオリティとポート ID が加算され、スパニング ツリーは値の小さいリンクをディセーブルにします。
図 6-3 スパニング ツリーおよび冗長接続
EtherChannel グループを使用して、スイッチ間に冗長リンクを作成することもできます。詳細については、 第9章「リンク集約の設定」 を参照してください。
接続を維持するためのエージングの加速
ダイナミック アドレスのデフォルトのエージング タイムは 5 分です。この値は、 bridge bridge-group-number aging-time グローバル設定コマンドのデフォルト設定です。ただし、スパニング ツリーの再構成により、多数のステーションの位置が変更される可能性があります。再構成時には、 5 分以上の間、これらのステーションに到達できない場合があるため、ステーション アドレスがアドレス テーブルから削除されて再度学習されるように、アドレス エージング タイムが加速されます。
各 VLAN は個別のスパニング ツリー インスタンスであるため、スイッチは VLAN 単位でエージングを加速します。ある VLAN でスパニング ツリーの再構成が行われると、その VLAN で学習されたダイナミック アドレスがエージング短縮の対象になる場合があります。他の VLAN のダイナミック アドレスは影響を受けず、スイッチに設定されたエージング間隔がそのまま適用されます。
RSTP
RSTP は、スパニング ツリーの高速コンバージェンスを実現します。RSTP を使用すると、1 つのインスタンス(転送パス)で障害が発生しても、他のインスタンス (転送パス)に影響を及ぼすことがないため、ネットワークのフォールト トレランスが向上します。RSTP の最も一般的な初期配備は、レイヤ 2 交換回線ネットワークのバックボーン レイヤおよびディストリビューション レイヤへの配備です。このように配備することによって、サービスプロバイダー環境で必要とされる高可用性 ネットワークが実現できます。
RSTP は、(元の) IEEE 802.1D スパニング ツリーに基づく機器との下位互換性を維持しながら、スパニング ツリーの動作を向上させます。
RSTP はポイントツーポイントの配線を利用して、スパニング ツリーの高速コンバージェンスを実現します。スパニング ツリーの再構成は、2 秒未満で行われます (IEEE 802.1D スパニング ツリーのデフォルト設定では 50 秒)。これは、音声やビデオなど、遅延の影響が大きいトラフィックを伝送するネットワークには不可欠です。
次の項では、RSTP の機能について説明します。
• 「サポートされている RSTP インスタンス」
• 「ポートの役割およびアクティブ トポロジ」
• 「高速コンバージェンス」
• 「ポートの役割の同期化」
• 「ブリッジ プロトコル データ ユニットのフォーマットおよび処理」
• 「トポロジの変更」
サポートされている RSTP インスタンス
ML シリーズでは、Per-VLAN Rapid Spanning Tree(PVRST)と最大 255 の高速スパニング ツリー インスタンスをサポートしています。
ポートの役割およびアクティブ トポロジ
RSTP は、ポートの役割を割り当ててアクティブ トポロジを決定することにより、スパニング ツリーの高速コンバージェンスを実現します。「ルート スイッチの選出」で説明したように、RSTP は IEEE 802.1D STP を構築し、最高のスイッチ プライオリティを持つ(プライオリティ値が最も小さい)スイッチをルート スイッチとして選択します。さらに、RSTP は次の役割のいずれかを各ポートに割り当てます。
• ルート ポート―スイッチがルート スイッチにパケットを転送する際に最適パス(最も低コストのパス)を提供します。
• 指定ポート―指定スイッチに接続します。これにより、その LAN からルート スイッチにパケットを転送するときのパス コストが最も低くなります。指定スイッチと LAN との接続に使用されるポートを指定ポートと呼びます。
• 代替ポート―現在のルート ポートによって提供されたパスに替わるルート スイッチへの代替パスを提供します。
• バックアップ ポート―指定ポートによって提供されたスパニング ツリーのリーフに向かうパスのバックアップとして機能します。バックアップ ポートが存在できるのは、2 つのポートがポイントツーポイント リンクによってループバックで接続されている場合、または 1 台のスイッチに共有 LAN セグメントへの接続が 2 つ以上ある場合のみです。
• ディセーブル ポート―スパニング ツリーの動作における役割はありません。
ルート ポートまたは指定ポートの役割を持つポートは、アクティブ トポロジに含まれます。代替ポートまたはバックアップ ポートの役割を持つポートは、アクティブ トポロジから除外されます。
ネットワーク全体にわたってポートの役割が一貫している安定したトポロジでは、すべてのルート ポートと指定ポートは即座に転送状態に移行し、すべての代替ポートとバックアップ ポートは常に廃棄状態(IEEE 802.1D のブロッキングに相当)になることが RSTP によって保証されます。転送プロセスおよびラーニング プロセスの動作は、ポートの状態によって制御されます。 表 6-3 は、IEEE 802.1D と RSTP のポートの状態を比較したものです。
表 6-3 ポートの状態の比較
|
|
|
|
Enabled |
ブロッキング |
廃棄 |
含まれていない |
Enabled |
リスニング |
廃棄 |
含まれていない |
Enabled |
ラーニング |
ラーニング |
含まれている |
Enabled |
転送 |
転送 |
含まれている |
Disabled |
ディセーブル |
廃棄 |
含まれていない |
注意 STP エッジ ポートは、そのポートの外部でループ保護を必要としない場合、またはそのポートの外部に STP ネイバーが存在しない場合に、STP がイネーブルである必要のないブリッジ ポートです。RSTP の場合、適切なインターフェイスで bridge bridge-group-number spanning-disabled コマンドを使用して、エッジ ポート(通常はフロントサイドのイーサネット ポート)で STP をディセーブルにすることが重要です。RSTP がエッジ ポートでディセーブルになっていない場合、エッジ ポートを巡回するパケットのコンバージェンス タイムが過大になります。
(注) シスコの STP 実装で一貫性を保つために、表 6-3 では、ポートの状態を廃棄ではなくブロッキングと表現しています。指定ポートはリスニング状態から開始します。
高速コンバージェンス
RSTP を使用すると、スイッチ、スイッチ ポート、または LAN に障害が発生しても、接続を迅速に回復することができます。RSTP は、新しいルート ポート、およびポイントツーポイント リンクによって接続されているポートに次のように高速コンバージェンスを提供します。
• ルート ポート―RSTP は新しいルート ポートを選択すると、以前のルート ポートをブロックし、新しいルート ポートを直ちに転送状態にします。
• ポイントツーポイント リンク--ポート間をポイントツーポイント リンクによって接続し、ローカル ポートが指定ポートになると、その指定ポートは提案合意ハンドシェイクを使用して相手側のポートと高速移行をネゴシエーションし、 ループフリーのトポロジを保証します。
図 6-4 に示すように、スイッチ A はポイントツーポイント リンクによってスイッチ B に接続され、すべてのポートがブロッキング状態になっています。スイッチ A のプライオリティは、スイッチ B のプライオリティよりも小さい数値であるとします。スイッチ A は提案メッセージ(提案フラグが設定されたコンフィギュレーション BPDU)をスイッチ B に送信し、スイッチ A 自身が指定スイッチになることを提案します。
スイッチ B は提案メッセージを受信すると、提案メッセージの受信ポートを新しいルート ポートとして選択し、すべての非エッジ ポートを強制的にブロッキング状態にします。さらに、その新しいルート ポート経由で合意メッセージ(合意フラグが設定された BPDU)を送信します。
スイッチ A はスイッチ B から合意メッセージを受信すると、直ちに自分の指定ポートを転送状態にします。スイッチ B はそのすべての非エッジ ポートをブロックしており、さらにスイッチ A と B はポイントツーポイント リンクで接続されているため、ネットワークにループは形成されません。
スイッチ C がスイッチ B に接続された場合も、同様の一連のハンドシェイク メッセージが交換されます。スイッチ C はスイッチ B に接続されたポートをルート ポートとして選択し、両端のポートは即座に転送状態に移行します。このハンドシェイク プロセスの繰り返しによってアクティブ トポロジにスイッチが追加されます。ネットワークがコンバージするにつれて、この提案合意ハンドシェイクがルートからスパニング ツリーのリーフに進みます。
スイッチは、ポートの二重モードからリンク タイプを判断します。つまり、全二重ポートはポイントツーポイント接続とみなされ、半二重ポートは共有接続とみなされます。
図 6-4 高速コンバージェンスの提案合意ハンドシェイク
ポートの役割の同期化
スイッチのポートの 1 つで提案メッセージを受信し、そのポートが新しいルート ポートとして選択されると、RSTP は他のすべてのポートを新しいルート情報と強制的に同期化させます。他のポートがすべて同期化されている場合には、スイッチはルート ポートで受信した優良なルート情報と同期化されます。
指定ポートが転送状態の場合、RSTP によって新しいルート情報と強制的に同期化されると、その指定ポートはブロッキング状態になります。一般に、RSTP がポートをルート情報と強制的に同期させ、ポートが上記のどの条件も満たしていない場合、そのポートの状態はブロッキングに設定されます。
スイッチはすべてのポートが同期されたことを確認すると、そのルート ポートに対応する指定スイッチに合意メッセージを送信します。ポイントツーポイント リンクによって接続されたスイッチがそれぞれのポートの役割について合意すると、RSTP はポートの状態を即座に転送状態に移行させます。図 6-5 に、このイベント シーケンスを示します。
図 6-5 高速コンバージェンス時のイベント シーケンス
ブリッジ プロトコル データ ユニットのフォーマットおよび処理
RSTP BPDU のフォーマットは、プロトコル バージョンが 2 に設定されている点を除き、IEEE 802.1D BPDU のフォーマットと同じです。新しい Length フィールドは 0 に設定されます。これは、バージョン 1 のプロトコル情報が存在しないことを意味します。 表 6-4 に、RSTP のフラグ フィールドを示します。
表 6-4 RSTP BPDU のフラグ
|
|
0 |
トポロジの変更(TC) |
1 |
提案 |
2-3: 00 01 10 11 |
ポートの役割 不明 代替ポート ルート ポート 指定ポート |
4 |
ラーニング |
5 |
転送 |
6 |
合意 |
7 |
トポロジ変更の確認 |
送信スイッチは、自分をその LAN 上の指定スイッチとして提案する提案フラグを RSTP BPDU に設定します。提案メッセージでは、ポートの役割は常に指定ポートに設定されます。
送信スイッチは、前の提案を受け入れる合意フラグを RSTP BPDU に設定します。合意メッセージでは、ポートの役割は常にルート ポートに設定されます。
RSTP には、個別のトポロジ変更通知(TCN) BPDU はありません。トポロジの変更は、トポロジ変更(TC)フラグによって示されます。ただし、IEEE 802.1D スイッチとの相互運用性を保つために、RSTP スイッチは TCN BPDU の処理と生成を行います。
ラーニング フラグと転送フラグは、送信ポートの状態に応じて設定されます。
優良な BPDU 情報の処理
ポート用に現在保存されているルート情報よりも優良なルート情報(小さいブリッジ ID、低いパス コストなど)をポートが受信すると、RSTP は再構成を開始します。そのポートが新しいルート ポートとして提案され選択されると、RSTP は他のすべてのポートを強制的に同期化します。
受信した BPDU が提案フラグの設定された RSTP BPDU である場合、スイッチは他のすべてのポートを同期化してから合意メッセージを送信します。BPDU が IEEE 802.1D BPDU の場合は、スイッチは提案フラグを設定せずに、ポートの転送遅延タイマーを開始します。新しいルート ポートは、転送状態に移行するために 2 倍の転送遅延時間を必要とします。
ポートで優良な情報が受信されたために、そのポートがバックアップ ポートまたは代替ポートになる場合、RSTP はポートをブロッキング状態に設定しますが、合意メッセージは送信しません。指定ポートは、転送遅延タイマーが満了するまで、提案フラグの設定された BPDU の送信を続けます。タイマーが満了すると、ポートは転送状態に移行します。
劣った BPDU 情報の処理
指定ポートが、指定ポートの役割を持つポート用に現在保存されている情報より劣った BPDU(高ブリッジ ID、高パス コストなど)を受信すると、その指定ポートは自分の情報で直ちに応答します。
トポロジの変更
この項では、スパニング ツリー トポロジの変更を処理する際の RSTP と IEEE 802.1D の違いについて説明します。
• 検出―IEEE 802.1D では、ブロッキング状態から転送状態、および転送状態からブロッキング状態への移行でトポロジの変更が発生しますが、RSTP でトポロジの変更が生じるのは、ブロッキング状態から転送状態に移行する場合のみです。(トポロジの変更とみなされるのは、接続性が向上する場合だけです。) エッジ ポートで状態が変更されても、トポロジの変更は発生しません。RSTP スイッチはトポロジの変更を検出すると、すべての非エッジ ポートで学習済みの情報を一斉に流します。
• 通知―IEEE 802.1D は TCN BPDU を使用しますが、RSTP は使用しません。ただし、IEEE 802.1D の相互運用性を保つために、RSTP スイッチは TCN BPDU の処理と生成を行います。
• 確認―RSTP スイッチは指定ポートで IEEE 802.1D スイッチから TCN メッセージを受信すると、トポロジ変更確認ビットを設定した IEEE 802.1D コンフィギュレーション BPDU で応答します。ただし、IEEE 802.1D スイッチに接続されたルート ポートで TC 時間タイマー(IEEE 802.1D のトポロジ変更タイマーと同じ)がアクティブであり、トポロジ変更確認ビットが設定されたコンフィギュレーション BPDU を受信した場合、TC 時間タイマーはリセットされます。
この動作は、IEEE 802.1D スイッチをサポートする場合にのみ必要です。RSTP BPDU では、トポロジ変更確認ビットが設定されることはありません。
• 伝播―RSTP スイッチは、指定ポートまたはルート ポート経由で別のスイッチから TC メッセージを受信すると、そのすべての非エッジ ポート、エッジ ポート、指定ポート、およびルート ポート(受信ポートを除く)にトポロジ変更を伝播します。スイッチは、これらのすべてのポートの TC 時間タイマーを開始し、これらのポート上で学習した情報を一斉に流します。
• プロトコルの移行―IEEE 802.1D スイッチとの下位互換性を保つために、RSTP は IEEE 802.1D コンフィギュレーション BPDU と TCN BPDU をポート単位で選択的に送信します。
ポートが初期化されると、タイマーが開始され(RSTP BPDU を送信する最短時間を指定)、RSTP BPDU が送信されます。このタイマーがアクティブな間、スイッチはそのポートで受信したすべての BPDU を処理し、プロトコル タイプは無視します。
ポートの移行遅延タイマーの満了後に、スイッチが IEEE 802.1D BPDU を受信した場合、IEEE 802.1D スイッチに接続されているとみなし、IEEE 802.1D BPDU のみの使用を開始します。ただし、RSTP スイッチがポートで IEEE 802.1D BPDU を使用している場合に、タイマー満了後に RSTP BPDU を受信すると、スイッチはタイマーを再起動し、そのポートで RSTP BPDU の使用を開始します。
STP および RSTP 機能の設定
この項では、スパニング ツリー機能の設定方法について説明します。
• 「STP および RSTP のデフォルト設定」
• 「STP および RSTP のディセーブル化」
• 「ルート スイッチの設定」
• 「ポート プライオリティの設定」
• 「パス コストの設定」
• 「ブリッジ グループのスイッチ プライオリティの設定」
• 「hello タイムの設定」
• 「ブリッジ グループの転送遅延時間の設定」
• 「ブリッジ グループの最大エージング タイムの設定」
STP および RSTP のデフォルト設定
表 6-5 に、STP および RSTP のデフォルト設定を示します。
表 6-5 STP および RSTP のデフォルト設定
|
|
イネーブル状態 |
最大 255 のスパニング ツリー インスタンスをイネーブルにできます。 |
スイッチ プライオリティ |
32768 + ブリッジ ID |
スパニング ツリー ポート プライオリティ(インターフェイス単位で設定可能―レイヤ 2 アクセス ポートとして設定されたインターフェイスで使用) |
128 |
スパニング ツリー ポート コスト(インターフェイス単位で設定可能) |
1000 Mbps:4 100 Mbps:19 10 Mbps:100 STS-1:34 STS-3c:14 STS-6c:9 STS-9c:7 STS-12c:6 STS-24c: 3 |
hello タイム |
2 秒 |
転送遅延時間 |
15 秒 |
最大エージング タイム |
20 秒 |
STP および RSTP のディセーブル化
VLAN 1 および新たに作成されたすべての VLAN 上で、スパニング ツリーに指定された 255 の制限を上限として、STP はデフォルトでイネーブルになっています。ネットワーク トポロジにループが存在しないことが確実である場合にのみ、STP をディセーブルにします。
注意 STP エッジ ポートは、そのポートの外部でループ保護を必要としない場合、またはそのポートの外部に STP ネイバーが存在しない場合に、STP がイネーブルである必要のないブリッジ ポートです。RSTP の場合、適切なインターフェイスでコマンド bridge bridge-group-number spanning-disabled を使用して、エッジ ポート(通常はフロントサイドのイーサネット ポート)で STP をディセーブルにすることが重要です。RSTP がエッジ ポートでディセーブルになっていない場合、エッジ ポートを巡回するパケットのコンバージェンス タイムが過大になります。
注意 STP がディセーブルであり、トポロジにループが存在していると、過度のトラフィックが発生し、パケットの重複が無限に繰り返されるため、ネットワークのパフォーマンスが大幅に低下します。
VLAN 単位で STP または RSTP をディセーブルにするには、特権 EXEC モードで開始し、次の手順を実行します。
|
|
|
ステップ 1 |
Router#
configure terminal
|
グローバル設定モードを開始します。 |
ステップ 2 |
Router(config)# interface interface-id
|
インターフェイス設定モードを開始します。 |
ステップ 3 |
Router(config-if)#
bridge-group
bridge-group-number
spanning disabled
|
インターフェイス単位で STP または RSTP をディセーブルにします。 |
ステップ 4 |
|
特権 EXEC モードに戻ります。 |
STP を再度イネーブルにするには、 no bridge-group bridge-group-number spanning disabled インターフェイスレベル設定コマンドを使用します。
ルート スイッチの設定
スイッチは、設定された各アクティブ VLAN の個別のスパニング ツリー インスタンスを保持します。スイッチ プライオリティとスイッチ MAC アドレスで構成されるブリッジ ID は、各インスタンスに関連付けられています。各 VLAN では、最小のブリッジ ID を持つスイッチがその VLAN のルート スイッチになります。
(注) ネットワークが拡張システム ID をサポートするスイッチとサポートしていないスイッチの両方で構成されている場合、拡張システム ID をサポートするスイッチがルート スイッチになる可能性はほとんどありません。ブリッジ ID が以前のソフトウェアを実行している接続スイッチのプライオリティよりも大きくなるたびに、拡張システム ID はスイッチ プライオリティ値を増加します。
ポート プライオリティの設定
ループが発生した場合、スパニング ツリーはポート プライオリティを使用して、転送状態にするインターフェイスを選択します。最初に選択させたいインターフェイスには、高いプライオリティ値(小さい数値)を割り当て、最後に選択させたいインターフェイスには、低いプライオリティ値(大きい数値)を割り当てることができます。すべてのインターフェイスに同じプライオリティ値が割り当てられている場合、スパニング ツリーはインターフェイス番号が最も小さいインターフェイスを転送状態にし、他のインターフェイスをブロックします。
インターフェイスのポート プライオリティを設定するには、特権 EXEC モードで開始し、次の手順を実行します。
|
|
|
ステップ 1 |
Router#
configure terminal
|
グローバル設定モードを開始します。 |
ステップ 2 |
Router(config)#
interface
interface-id
|
インターフェイス設定モードを開始し、設定するインターフェイスを指定します。 有効なインターフェイスとして、物理インターフェイスとポートチャネル論理インターフェイス( port-channel port-channel-number )があります。 |
ステップ 3 |
Router(config-if)# bridge-group
bridge-group-number priority- value
|
アクセス ポートであるインターフェイスのポート プライオリティを設定します。 priority- value に指定できる範囲は、0 ~ 255 です。デフォルトは 128 で 16 ずつ増加します。数字が小さいほど、プライオリティは高くなります。 |
ステップ 4 |
|
特権 EXEC モードに戻ります。 |
インターフェイスをデフォルト設定に戻すには、 no bridge-group id bridge-group-number priority- value コマンドを使用します。
パス コストの設定
スパニング ツリーのパス コストのデフォルト値は、インターフェイスのメディア速度から取得されます。ループが発生した場合、スパニング ツリーは コストを使用して、転送状態にするインターフェイスを選択します。最初に選択させたいインターフェイスには、低いコスト値を割り当て、最後に選択させたいインターフェイスには高いコスト値を割り当てることができます。すべてのインターフェイスに同じコスト値が割り当てられている場合、スパニング ツリーはインターフェイス番号が最も小さいインターフェイスを転送状態にし、他のインターフェイスをブロックします。
インターフェイスのコストを設定するには、特権 EXEC モードで開始し、次の手順を実行します。
|
|
|
ステップ 1 |
Router#
configure terminal
|
グローバル設定モードを開始します。 |
ステップ 2 |
Router(config)#
interface
interface-id
|
インターフェイス設定モードを開始し、設定するインターフェイスを指定します。 有効なインターフェイスとして、物理インターフェイスとポートチャネル論理インターフェイス( port-channel port-channel-number )があります。 |
ステップ 3 |
Router(config-if)#
bridge-group
bridge-group-number
path-cost
cost
|
アクセス ポートであるインターフェイスのコストを設定します。 ループが発生した場合、スパニング ツリーはパス コストを使用して、転送状態にするインターフェイスを選択します。パス コストが小さいほど、高速な伝送になります。 cost に指定できる範囲は、0 ~ 65535 です。デフォルト値は、インターフェイスのメディア速度から取得されます。 |
ステップ 4 |
|
特権 EXEC モードに戻ります。 |
(注) show spanning-tree interface interface-id 特権 EXEC コマンドは、リンクアップ動作状態になっているポートの情報だけを表示します。それ以外の場合は、show running-config 特権 EXEC コマンドを使用して設定を確認できます。
インターフェイスをデフォルト設定に戻すには、 no bridge-group bridge-group-number path-cost cost コマンドを使用します。
ブリッジ グループのスイッチ プライオリティの設定
スイッチ プライオリティを設定し、スイッチがルート スイッチとして選択される可能性を高めることができます。
ブリッジ グループのスイッチ プライオリティを設定するには、特権 EXEC モードで開始し、次の手順を実行します。
|
|
|
ステップ 1 |
Router#
configure terminal
|
グローバル設定モードを開始します。 |
ステップ 2 |
Router(config)#
bridge
bridge-group-number
priority
priority
|
ブリッジ グループのスイッチ プライオリティを設定します。 priority に指定できる範囲は、0 ~ 61440 で 4096 ずつ増加します。デフォルトは 32768 です。数値が小さいほど、ルート スイッチとして選択される可能性が高まります。 指定した値は、4096 の倍数のうち、小さい方の数値に丸められます。実際の数値は、ブリッジ グループ番号にこの数値を加算して算出されます。 |
ステップ 3 |
|
特権 EXEC モードに戻ります。 |
スイッチをデフォルト設定に戻すには、 no bridge bridge-group-number priority priority コマンドを使用します。
hello タイムの設定
hello タイムを変更することによって、ルート スイッチで設定メッセージが生成される間隔を設定できます。
ブリッジ グループの hello タイムを設定するには、特権 EXEC モードで開始し、次の手順を実行します。
|
|
|
ステップ 1 |
Router#
configure terminal
|
グローバル設定モードを開始します。 |
ステップ 2 |
Router(config)#
bridge
bridge-group-number
hello-time
seconds
|
ブリッジ グループの hello タイムを設定します。hello タイムは、ルート スイッチによって設定メッセージが生成される間隔です。このメッセージは、スイッチが動作中であることを意味します。 seconds に指定できる範囲は、1 ~ 10 です。デフォルトは 2 です。 |
ステップ 3 |
|
特権 EXEC モードに戻ります。 |
スイッチをデフォルト設定に戻すには、 no bridge bridge-group-number hello-time seconds コマンドを使用します。
ブリッジ グループの転送遅延時間の設定
ブリッジ グループの転送遅延時間を設定するには、特権 EXEC モードで開始し、次の手順を実行します。
|
|
|
ステップ 1 |
Router#
configure terminal
|
グローバル設定モードを開始します。 |
ステップ 2 |
Router(config)#
bridge
bridge-group-number
forward-time
seconds
|
VLAN の転送時間を設定します。転送遅延は、ポートが、スパニング ツリーのラーニングおよびリスニング状態から転送状態に移行するまでに待機する秒数です。 seconds に指定できる範囲は、4 ~ 200 です。デフォルトは 15 です。 |
ステップ 3 |
|
特権 EXEC モードに戻ります。 |
スイッチをデフォルト設定に戻すには、 no bridge bridge-group-number forward-time seconds コマンドを使用します。
ブリッジ グループの最大エージング タイムの設定
ブリッジ グループの最大エージング タイムを設定するには、特権 EXEC モードで開始し、次の手順を実行します。
|
|
|
ステップ 1 |
Router#
configure terminal
|
グローバル設定モードを開始します。 |
ステップ 2 |
Router(config)#
bridge
bridge-group-number
max-age
seconds
|
ブリッジ グループの最大エージング タイムを設定します。最大エージング タイムは、スイッチがスパニング ツリー設定メッセージを受信しない場合に、再構成を試みるまでに待機する秒数です。 seconds に指定できる範囲は、6 ~ 200 です。デフォルトは 20 です。 |
ステップ 3 |
|
特権 EXEC モードに戻ります。 |
スイッチをデフォルト設定に戻すには、 no bridge bridge-group-number max-age seconds コマンドを使用します。