STP の機能
次の項では、スパニング ツリー機能概要について説明します。
• 「STP の概要」
• 「サポートされている STP インスタンス」
• 「BPDU」
• 「ルート スイッチの選出」
• 「ブリッジ ID、スイッチ プライオリティ、および拡張システム ID」
• 「スパニング ツリー タイマー」
• 「スパニング ツリー トポロジの形成」
• 「スパニング ツリー インターフェイスのステート」
• 「スパニング ツリー アドレスの管理」
• 「STP および IEEE 802.1Q トランク」
• 「スパニング ツリーおよび冗長接続」
• 「接続を維持するためのエージングの加速」
STP の概要
STP は、ネットワーク内のループを防ぎながら、パスの冗長性を実現するレイヤ 2 リンク管理プロトコルです。レイヤ 2 イーサネット ネットワークが正常に機能するのは、任意の 2 つのステーション間にアクティブなパスが 1 つだけ存在する場合です。スパニング ツリーの動作はエンド ステーションに対して透過的であるため、1 つの LAN セグメントに接続されているのか、複数のセグメントで構成されたスイッチド LAN に接続されているのかエンド ステーションで検出することはできません。
フォールト トレランスなインターネットワークを構築するときには、ネットワーク内のすべてのノード間にループのないパスが必要となります。スパニング ツリー アルゴリズムでは、スイッチ型レイヤ 2 ネットワーク全体にわたる最適なループフリー パスを計算します。スイッチは、Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)と呼ばれるスパニング ツリー フレームを定間隔で送受信します。スイッチはこれらのフレームを転送せず、フレームを使用してループフリー パスを構築します。
エンド ステーション間に複数のアクティブなパスがあると、ネットワーク内にループが発生する原因となります。ネットワークにループが存在すると、エンド ステーションが重複したメッセージを受信する可能性があります。また、スイッチが複数のレイヤ 2 インターフェイスでエンド ステーションの MAC(メディア アクセス制御)アドレスを学習する可能性もあります。このような状況は、ネットワークを不安定にします。
スパニング ツリーでは、ルート スイッチおよびルートからレイヤ 2 ネットワーク内のすべてのスイッチからのループフリー パスによってツリーを定義します。スパニング ツリーは、冗長データ パスを強制的にスタンバイ(ブロック)状態にします。スパニング ツリー内のネットワーク セグメントで障害が発生したときに冗長パスが存在する場合、スパニング ツリー アルゴリズムは、スパニング ツリー トポロジを再計算し、スタンバイ パスをアクティブにします。
スイッチの 2 つのインターフェイスがループに含まれているときには、スパニング ツリーのポート プライオリティとパス コストの設定によって、フォワーディング ステートになるインターフェイスとブロッキング ステートになるインターフェイスが決まります。ポート プライオリティ値は、ネットワーク トポロジ内のインターフェイスの位置を表すとともに、そのインターフェイスがトラフィックを渡すためにどの程度適しているかを表します。パス コスト値は、メディア速度を表します。
サポートされている STP インスタンス
ML シリーズ カードでは、Per-VLAN(仮想 LAN)Spanning Tree(PVST+)と最大 255 のスパニング ツリー インスタンスをサポートしています。
BPDU
スイッチド ネットワークのスパニング ツリー トポロジが、安定でアクティブになるかどうかは、次の要素によって決まります。
• 各スイッチの各 VLAN に関連付けられた一意のブリッジ ID(スイッチ プライオリティおよび MAC アドレス)
• ルート スイッチへのスパニング ツリー パス コスト
• 各レイヤ 2 インターフェイスに関連付けられたポート識別子(ポート プライオリティおよび MAC アドレス)
ネットワーク内のスイッチの電源がオンになっているときには、各スイッチはルート スイッチとして機能します。各スイッチは、そのすべてのポートからコンフィギュレーション BPDU を送信します。BPDU によって、スパニング ツリー トポロジの通信と計算が行われます。各コンフィギュレーション BPDU には、次の情報が格納されます。
• 送信スイッチがルート スイッチとして識別するスイッチの一意のブリッジ ID
• ルートへのスパニング ツリー パス コスト
• 送信スイッチのブリッジ ID
• メッセージの有効期間
• 送信インターフェイスの識別子
• Hello タイマー、転送遅延タイマー、および最大エージング プロトコル タイマーの値
スイッチは、小さいブリッジ ID、低いパス コストなど、より優位な情報が格納されたコンフィギュレーション BPDU を受信すると、そのポートの情報を保存します。この BPDU がスイッチのルート ポートで受信された場合、この指定スイッチに接続されているすべての LAN に最新のメッセージとともにこの BPDU を転送します。
スイッチは、そのポート用に現在保存されている情報より下位の情報が格納されたコンフィギュレーション BPDU を受信した場合には、その BPDU を廃棄します。スイッチがその LAN の指定スイッチであり、その 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 をサポートできるようになりました。 表7-1 に示すように、これまでスイッチ プライオリティに使用されていた 2 バイトは、4 ビットのプライオリティ値、およびブリッジ ID と等しい 12 ビットの拡張システム ID 値に再割り当てされています。以前のリリースでは、スイッチ プライオリティは 16 ビット値です。
表7-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 を一意にしていました。
スパニング ツリー タイマー
表7-2 に、スパニング ツリー全体のパフォーマンスに影響を及ぼすタイマーを示します。
表7-2 スパニング ツリー タイマー
|
|
Hello タイマー |
このタイマーが満了すると、インターフェイスは近接ノードに Hello メッセージを送信します。 |
転送遅延タイマー |
インターフェイスが転送を開始するまでの、リスニング ステートおよびラーニング ステートの継続時間を決定します。 |
最大エージング タイマー |
インターフェイスで受信したプロトコル情報をスイッチが保管する時間を決定します。 |
スパニング ツリー トポロジの形成
図7-1では、すべてのスイッチのスイッチ プライオリティがデフォルト(32768)に設定されており、スイッチ A の MAC アドレスが最も小さいため、スイッチ A がルート スイッチとして選出されます。ただし、トラフィック パターン、転送インターフェイスの数、またはリンク タイプによっては、スイッチ A が最適なルート スイッチではない場合があります。最適なスイッチがルート スイッチになるように、そのスイッチのプライオリティを上げる(数値を下げる)ことによって、最適なスイッチをルートにした新しいトポロジを形成するよう強制的にスパニング ツリーで再計算させます。
図7-1 スパニング ツリー トポロジ
スパニング ツリー トポロジをデフォルトのパラメータに基づいて計算すると、スイッチド ネットワークの送信元エンド ステーションから宛先エンド ステーションまでのパスが最適にならない可能性があります。たとえば、より高速のリンクをルート ポートよりも値の大きいインターフェイスに接続すると、ルート ポートが変更される可能性があります。目標は、最も高速のリンクをルート ポートにすることです。
スパニング ツリー インターフェイスのステート
プロトコル情報がスイッチド LAN を通過するときに、伝播遅延が発生する場合があります。その結果、さまざまな時点およびスイッチド ネットワークのさまざまな場所でトポロジの変更が発生します。インターフェイスが、スパニング ツリー トポロジに含まれていない状態からフォワーディング ステートに直接移行すると、一時的なデータ ループが形成される可能性があります。インターフェイスは、新しいトポロジ情報がスイッチド LAN 経由で伝播されるまで待機してから、フレームの転送を開始する必要があります。また、以前のトポロジを使用して転送されたフレームのライフタイムが満了できるようにする必要もあります。
スパニング ツリーを使用するスイッチの各レイヤ 2 インターフェイスは、次のいずれかの状態になります。
• ブロッキング ― インターフェイスはフレーム転送に関与しません。
• リスニング ― インターフェイスがフレーム転送に関与する必要があるとスパニング ツリーが判断したときに、ブロッキング ステートから最初に移行するステートです。
• ラーニング ― インターフェイスがフレーム転送に関与する準備をしているステートです。
• フォワーディング ― インターフェイスはフレームを転送します。
• ディセーブル ― ポートのシャットダウン、ポート上のリンクの欠落、またはポートで稼働するスパニング ツリー インスタンスがないことなどが原因で、インターフェイスはスパニング ツリーに関与していません。
インターフェイスは、次のようにステートを移行します。
1. 初期化からブロッキング
2. ブロッキングからリスニングまたはディセーブル
3. リスニングからラーニングまたはディセーブル
4. ラーニングからフォワーディングまたはディセーブル
5. フォワーディングからディセーブル
図7-2 に、インターフェイスのステートがどのように移行するかを示します。
図7-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 トランクの詳細については、「VLAN の設定」を参照してください。
スパニング ツリーおよび冗長接続
2 つのスイッチ インターフェイスをもう 1 台の装置、または 2 台の異なる装置に接続することにより、スパニング ツリーで冗長バックボーンを作成できます。図7-3 に示すように、スパニング ツリーは、一方のインターフェイスを自動的にディセーブルにしますが、もう一方のインターフェイスに障害が発生すると、ディセーブルになっているインターフェイスをイネーブルにします。一方のリンクが高速で、もう一方が低速の場合、低速のリンクが常にディセーブルになります。両方の速度が同じである場合は、ポート プライオリティとポート ID が加算され、スパニング ツリーは値の小さいリンクをディセーブルにします。
図7-3 スパニング ツリーおよび冗長接続
EtherChannel グループを使用して、スイッチ間に冗長リンクを作成することもできます。詳細については、「リンク集約の設定」を参照してください。
接続を維持するためのエージングの加速
ダイナミック アドレスのデフォルトのエージング タイムは 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 インスタンス」
• 「ポートの役割およびアクティブ トポロジ」
• 「高速コンバージェンス」
• 「ポートの役割の同期化」
• 「BPDUの形式と処理」
• 「TC」
サポートされている 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 によって保証されます。フォワーディング プロセスおよびラーニング プロセスの動作は、ポート ステートによって制御されます。 表7-3 は、IEEE 802.1D と RSTP のポート ステートを比較したものです。
表7-3 ポート ステートの比較
|
|
|
|
イネーブル |
ブロッキング |
廃棄 |
含まれていない |
イネーブル |
リスニング |
廃棄 |
含まれていない |
イネーブル |
ラーニング |
ラーニング |
含まれている |
イネーブル |
フォワーディング |
フォワーディング |
含まれている |
ディセーブル |
ディセーブル |
廃棄 |
含まれていない |
注意 STP エッジ ポートは、そのポートの外部でループ保護を必要としない場合、またはそのポートの外部に STP ネイバが存在しない場合に、STP をイネーブルにする必要のないブリッジ ポートです。RSTP の場合、適切なインターフェイスで bridge bridge-group-number spanning-disabled コマンドを使用して、エッジ ポート(通常は正面側のイーサネット ポート)で STP をディセーブルにすることが重要です。RSTP がエッジ ポートでディセーブルになっていない場合、エッジ ポートを通過するパケットのコンバージェンス タイムが過大になります。
(注) シスコの STP 実装で一貫性を保つために、表7-3 では、ポート ステートを廃棄ではなくブロッキングと表現しています。指定ポートはリスニング ステートから開始します。
高速コンバージェンス
RSTP を使用すると、スイッチ、スイッチ ポート、または LAN に障害が発生しても、接続を迅速に回復できます。RSTP は、新しいルート ポート、およびポイントツーポイント リンクによって接続されているポートに次のように高速コンバージェンスを提供します。
• ルート ポート ― RSTP は新しいルート ポートを選択すると、以前のルート ポートをブロックし、新しいルート ポートをただちにフォワーディング ステートにします。
• ポイントツーポイント リンク ― ポート間をポイントツーポイント リンクによって接続し、ローカル ポートが指定ポートになると、その指定ポートは提案合意ハンドシェイクを使用して相手側のポートと高速移行をネゴシエーションし、ループフリーのトポロジーを保証します。
図7-4 に示すように、スイッチ A はポイントツーポイント リンクによってスイッチ B に接続され、すべてのポートがブロッキング ステートになっています。スイッチ A のプライオリティは、スイッチ B のプライオリティよりも小さい数値であるとします。スイッチ A は提案メッセージ(提案フラグが設定されたコンフィギュレーション BPDU)をスイッチ B に送信し、スイッチ A 自身が指定スイッチになることを提案します。
スイッチ B は提案メッセージを受信すると、提案メッセージの受信ポートを新しいルート ポートとして選択し、すべての非エッジ ポートを強制的にブロッキング ステートにします。さらに、その新しいルート ポート経由で合意メッセージ(合意フラグが設定された BPDU)を送信します。
スイッチ A はスイッチ B から合意メッセージを受信すると、ただちに自分の指定ポートをフォワーディング ステートにします。スイッチ B はそのすべての非エッジ ポートをブロックしており、さらにスイッチ A と B はポイントツーポイント リンクで接続されているため、ネットワークにループは形成されません。
スイッチ C がスイッチ B に接続された場合も、同様の一連のハンドシェイク メッセージが交換されます。スイッチ C はスイッチ B に接続されたポートをルート ポートとして選択し、両端のポートはすぐにフォワーディング ステートに移行します。このハンドシェイク プロセスの繰り返しによってアクティブ トポロジにスイッチがもう 1 つ追加されます。ネットワークが収束するにつれて、この提案合意ハンドシェイクがルートからスパニング ツリーのリーフに進みます。
スイッチは、ポートのデュプレックス モードからリンク タイプを判断します。つまり、全二重ポートはポイントツーポイント接続とみなされ、半二重ポートは共有接続とみなされます。
図7-4 高速コンバージェンスの提案合意ハンドシェイク
ポートの役割の同期化
スイッチのポートの 1 つで提案メッセージを受信し、そのポートが新しいルート ポートとして選出されると、RSTP は他のすべてのポートを新しいルート情報と強制的に同期化させます。他のポートがすべて同期化されると、スイッチはルート ポートで受信した優位なルート情報と同期化されます。
指定ポートがフォワーディング ステートの場合、RSTP によって新しいルート情報と強制的に同期化されると、その指定ポートはブロッキング ステートになります。一般的に、RSTP がポートをルート情報と強制的に同期化させ、ポートが上記のどの条件も満たしていない場合、そのポート ステートはブロッキングに設定されます。
スイッチはすべてのポートが同期化されたことを確認すると、そのルート ポートに対応する指定スイッチに合意メッセージを送信します。ポイントツーポイント リンクによって接続されたスイッチがそれぞれのポートの役割について合意すると、RSTP はポート ステートをただちにフォワーディング ステートに移行させます。図7-5 に、このイベント シーケンスを示します。
図7-5 高速コンバージェンス時のイベント シーケンス
BPDUの形式と処理
RSTP の BPDU の形式は、プロトコル バージョンが 2 に設定されている点を除き、IEEE 802.1D の BPDU の形式と同じです。新しい Length フィールドは 0 に設定されます。これは、バージョン 1 のプロトコル情報が存在しないことを意味します。 表7-4 に、RSTP のフラグ フィールドを示します。
表7-4 RSTP の BPDU のフラグ
|
|
0 |
トポロジの変更(TC) |
1 |
提案 |
2 ~ 3: 00 01 10 11 |
ポートの役割 不明 代替ポート ルート ポート 指定ポート |
4 |
ラーニング |
5 |
フォワーディング |
6 |
合意 |
7 |
TC 確認 |
送信スイッチは、自分をその LAN の指定スイッチとして提案するために提案フラグを RSTP の BPDU に設定します。提案メッセージでは、ポートの役割は常に指定ポートに設定されます。
送信スイッチは、前の提案を受け入れる合意フラグを RSTP の BPDU に設定します。合意メッセージでは、ポートの役割は常にルート ポートに設定されます。
RSTP には、独立したTopology Change Notification(TCN; トポロジ変更通知)BPDU はありません。TC は、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、高いパス コストなど)を受信すると、その指定ポートは自分の情報でただちに応答します。
TC
ここでは、スパニング ツリー TC を処理する際の RSTP と IEEE 802.1D の違いについて説明します。
• 検出 ― IEEE 802.1D では、ブロッキング ステートとフォワーディング ステート間の移行で TC が発生しますが、RSTP で TC が生じるのは、ブロッキング ステートからフォワーディング ステートに移行する場合だけです(TC とみなされるのは、接続で増加する場合だけです)。エッジ ポートでステートが変更されても、TC は発生しません。RSTP スイッチは TC を検出すると、すべての非エッジ ポートで学習済みの情報を一斉に流します。
• 通知 ― IEEE 802.1D は TCN BPDU を使用しますが、RSTP は使用しません。ただし、IEEE 802.1D との相互運用性を保つために、RSTP スイッチは TCN BPDU の処理と生成を行います。
• 確認 ― RSTP スイッチは指定ポートで IEEE 802.1D スイッチから TCN メッセージを受信すると、TC 確認ビットを設定した IEEE 802.1D コンフィギュレーション BPDU で応答します。ただし、IEEE 802.1D スイッチに接続されたルート ポートで TC 時間タイマー(IEEE 802.1D の TC タイマーと同じ)がアクティブであり、TC 確認ビットが設定されたコンフィギュレーション BPDU を受信した場合、TC 時間タイマーがリセットされます。
この動作は、IEEE 802.1D スイッチをサポートする場合にのみ必要です。RSTP の BPDU では、TC 確認ビットは設定されません。
• 伝播 ― RSTP スイッチは、指定ポートまたはルート ポート経由で別のスイッチから TC メッセージを受信すると、そのすべての非エッジ ポート、エッジ ポート、指定ポート、およびルート ポート(TC メッセージの受信ポートを除く)に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 のデフォルト設定
表7-5 に、STP および RSTP のデフォルト設定を示します。
表7-5 STP および RSTP のデフォルト設定
|
|
イネーブル状態 |
最大 255 のスパニング ツリー インスタンスをイネーブルにできます。 |
スイッチ プライオリティ |
32768 + ブリッジ ID |
スパニング ツリー ポート プライオリティ(インターフェイス単位で設定可能 ― レイヤ 2 アクセス ポートとして設定されたインターフェイスで使用) |
128 |
スパニング ツリー ポート コスト(インターフェイス単位で設定可能) |
1000 Mbps:4 100 Mbps:19 10 Mbps:100 STS-1:37 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 コマンドを使用します。