この章では、Catalyst 3550 スイッチにポートベースの VLAN(仮想 LAN)の Spanning-Tree Protocol(STP; スパニングツリー プロトコル)を設定する方法について説明します。スイッチは、IEEE 802.1D 規格およびシスコ独自の拡張機能に基づく Per-VLAN Spanning-Tree plus(PVST+)プロトコルを使用するか、または IEEE 802.1w 規格に基づく Rapid Per-VLAN Spanning-Tree plus(Rapid PVST+)プロトコルを使用できます。
Multiple STP(MSTP)の詳細および複数の VLAN を同じスパニングツリー インスタンスにマッピングする方法については、 第16章 「MSTP の設定」 を参照してください。
ほかのスパニングツリー機能(PortFast、UplinkFast、ルート ガードなど)については、 第17章 「オプションのスパニングツリー機能の設定方法」 を参照してください。
スパニングツリー機能の概要
ここでは、基本的なスパニングツリー機能の操作方法について説明します。
- ・ STP の概要
- ・ スパニングツリー トポロジーと BPDU
- ・ ブリッジ ID、スイッチ プライオリティ、および拡張システム ID
- ・ スパニングツリー インターフェイスのステート
- ・ スイッチまたはポートのルート スイッチまたはルート ポートへの選出方法
- ・ スパニングツリーおよび冗長接続
- ・ スパニングツリー アドレスの管理
- ・ 接続を維持するための有効期間の短縮
- ・ スパニングツリーのモードおよびプロトコル
- ・ スパニングツリー インスタンスのサポート
- ・ スパニングツリーのインターオペラビリティと下位互換性
- ・ STP および IEEE 802.1Q トランク
- ・ VLAN ブリッジ スパニングツリー
設定の詳細については、 スパニングツリー機能の設定 を参照してください。
スパニングツリーのオプション機能については、 第17章 「オプションのスパニングツリー機能の設定方法」 を参照してください。
STP の概要
STP は、ネットワーク内のループを防ぎながらパスの冗長性を実現するレイヤ 2 リンク管理プロトコルです。レイヤ 2 イーサネット ネットワークが正常に動作するのは、任意の 2 つのステーション間にアクティブ パスが 1 つだけ存在する場合です。エンド ステーション間に複数のアクティブ パスがあると、ネットワーク内でループが発生する原因になります。ネットワークにループが存在すると、エンド ステーションが重複したメッセージを受信する可能性があります。また、スイッチが複数のレイヤ 2 インターフェイス上のエンド ステーション MAC(メディア アクセス制御)アドレスを学習する可能性もあります。このような状態ではネットワークが不安定になります。スパニングツリーの動作はエンド ステーションにとってトランスペアレントであるため、エンド ステーション側では、1 つの LAN セグメントに接続されているのか、それとも複数のセグメントからなるスイッチド LAN に接続されているのかを認識できません。
STP はスパニングツリー アルゴリズムを使用して、冗長接続ネットワークのスイッチの 1 台をスパニングツリーのルートとして選択します。このアルゴリズムでは、アクティブ トポロジーにおけるポートの役割に基づいて各ポートに役割を割り当てることによって、スイッチド レイヤ 2 ネットワークを介する最適なループフリー パスを算出します。
- ・ ルート ― スパニングツリー トポロジーで選出される転送ポート
- ・ 指定 ― スイッチド LAN セグメントごとに選出される転送ポート
- ・ 代替 ― スパニングツリーのルート ブリッジへの代替パスを提供する、ブロックされているポート
- ・ バックアップ ― ループバック設定におけるブロックされているポート
すべての ポートに指定役割またはバックアップ役割のあるスイッチがルート スイッチです。少なくとも 1 つ のポートが指定役割を有するスイッチが指定スイッチと呼ばれます。
スパニングツリーは、冗長データ パスを強制的にスタンバイ(ブロック)ステートにします。スパニングツリーの 1 つのネットワーク セグメントで障害が発生し、かつ冗長パスが存在する場合、STP アルゴリズムはスパニングツリー トポロジーを再計算し、スタンバイ パスをアクティブにします。スイッチは、定期的に Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)と呼ばれるスパニングツリー フレームを送受信します。スイッチはこのようなフレームを転送せずに使用することで、ループフリー パスを構築します。BPDU には、スイッチおよび MAC アドレス、スイッチのプライオリティ、ポートのプライオリティ、パス コストなど、送信スイッチとそのポートに関する情報が格納されています。スパニングツリーは、この情報を使用して、スイッチド ネットワークのルート スイッチおよびルート ポート、さらに、各スイッチド セグメント用のルート ポートおよび指定ポートを選択します。
スイッチの 2 つのインターフェイスがループの一部になっている場合は、スパニングツリー ポート プライオリティおよびパス コストの設定によって、フォワーディング ステートになるポートとブロッキング ステートになるポートが決まります。スパニングツリー ポート プライオリティ値は、ネットワーク トポロジー内でのインターフェイスの位置を表すとともに、インターフェイスがトラフィックを伝送するために適した位置にあるかどうかを表します。パス コスト値は、メディア速度を表します。
スパニングツリー トポロジーと BPDU
アクティブで安定したスイッチド ネットワークのスパニングツリー トポロジーは、次の要素によって決まります。
- ・ 各スイッチの各 VLAN に対応付けられた固有のブリッジ ID(スイッチ プライオリティおよび MAC アドレス)
- ・ ルート スイッチへのスパニングツリー パス コスト
- ・ 各レイヤ 2 インターフェイスに対応付けられたポート識別子(ポート プライオリティおよび MAC アドレス)
ネットワーク内のスイッチの電源がオンになっている場合、1 つ 1 つのスイッチがルート スイッチとして機能します。各スイッチは、そのすべてのポートを介してコンフィギュレーション BPDU を送信します。BPDU によってスパニングツリー トポロジーの通信と計算が行われます。各コンフィギュレーション BPDU には、次の情報が格納されています。
- ・ 送信スイッチがルート スイッチとして識別するスイッチの一意のブリッジ ID
- ・ ルートへのスパニングツリー パス コスト
- ・ 送信スイッチのブリッジ ID
- ・ メッセージ有効期間
- ・ 送信インターフェイスの識別子
- ・ hello タイマー、転送遅延タイマー、および最大エージング プロトコル タイマーの値
スイッチは、 上位 の情報(低ブリッジ ID 値、低パス コスト値など)を持つコンフィギュレーション BPDU を受信すると、そのポートの情報を保存します。スイッチは、ルート ポートでこの BPDU を受信すると、そのスイッチが指定スイッチとなっているすべての接続 LAN に、この BPDU を更新メッセージと一緒に転送します。
スイッチは、現在ポートに保存されている情報よりも 下位 の情報が含まれたコンフィギュレーション BPDU を受信すると、その BPDU を廃棄します。スイッチが下位 BPDU の受信元 LAN の指定スイッチである場合、そのスイッチはそのポート用に保存されている最新情報の BPDU をその LAN に送信します。これによって下位の情報は廃棄され、上位の情報がネットワークで伝播されます。
各 VLAN で、スイッチ プライオリティの最も高い(プライオリティ値が最小の)スイッチが、ルート スイッチとして選択されます。すべてのスイッチがデフォルトのプライオリティ(32768)で設定されている場合は、VLAN 内で MAC アドレスが最小のスイッチがルート スイッチになります。スイッチ プライオリティ値は、ブリッジ ID の最上位ビットを占めます( 表15-1スイッチ プライオリティ値および拡張システム ID を参照)。
- ・ 各スイッチに 1 つルート ポートが選択されます(ルート スイッチを除く)。このポートは、そのスイッチからルート スイッチへパケットを転送するのに最適なパス(最も低コストのパス)となります。
- ・ パス コストに基づいて、各スイッチからルート スイッチまでの最短距離が計算されます。
- ・ LAN セグメントごとに指定スイッチが選択されます。指定スイッチは、その LAN からルート スイッチにパケットを転送する際に最もコストの低いパスを選択します。指定スイッチと LAN の接続に使用されるポートを指定ポートと呼びます。
- ・ スパニングツリー インスタンスに含まれているインターフェイスが選択されます。ルート ポートと指定ポートが次のステートになります。
- ・ スイッチド ネットワークの起点にかかわらず、ルート スイッチに到達する必要のないパスはすべて、スパニングツリー ブロックキング モードになります。
ブリッジ ID、スイッチ プライオリティ、および拡張システム ID
IEEE 802.1D 規格では、各スイッチには一意のブリッジ識別子(ブリッジ ID)を割り当てる必要があります。これによってルート スイッチの選択が決定されます。各 VLAN は、PVST+ および Rapid PVST+ 搭載の異なる 論理ブリッジ とみなされるので、各スイッチは、設定されている VLAN と同数の異なるブリッジ ID を備えている必要があります。スイッチの各 VLAN には一意の 8 バイト ブリッジ ID が割り当てられています。最上位の 2 バイトはスイッチのプライオリティが使用し、残りの 6 バイトは、スイッチの MAC アドレスとなっています。
Cisco IOS Release 12.1(8)EA1 以降では、スイッチは 802.1t スパニングツリー拡張機能をサポートします。以前にスイッチのプライオリティが使用していたビットのいくつかは、現在 VLAN 識別子として使用されています。その結果、ブリッジ ID の固有性を維持しながら、スイッチ用に予約される MAC アドレスが少なくなり、サポートできる VLAN ID の範囲は大きくなっています。 表15-1 に示すように、以前にスイッチのプライオリティが使用していた 2 バイトは、4 ビット プライオリティ値と、VLAN ID に等しい 12 ビット拡張システム ID に再割り当てされています。以前のリリースでは、スイッチ プライオリティ値は 16 ビット値です。
スパニングツリーは、拡張システム ID、スイッチ プライオリティ、および割り当てられたスパニングツリー MAC アドレスを使用して、各 VLAN の一意のブリッジ ID が重複しないようにします。以前のリリースでは、スパニングツリーは VLAN ごとに 1 つの MAC アドレスを使用して各 VLAN のブリッジ ID が重複しないようにしていました。
拡張システム ID のサポートは、手動によるルート スイッチ、セカンダリ ルート スイッチ、および VLAN のスイッチ プライオリティの設定方法に影響します。たとえばスイッチ プライオリティ値を変更すると、スイッチがルート スイッチとして選出される可能性が変更されます。大きい値を設定すると可能性が減り、小さい値を設定すると可能性が増します。詳細については、 ルート スイッチの設定 、 セカンダリ ルート スイッチの設定 、および VLAN のスイッチ プライオリティの設定 を参照してください。
スパニングツリー インターフェイスのステート
プロトコル情報がスイッチド LAN を通過するときに、伝播遅延が生じることがあります。その結果、スイッチド ネットワークのさまざまな時点および場所でトポロジーの変更が発生します。インターフェイスがスパニングツリー トポロジーに含まれていない状態からフォワーディング ステートに直接移行すると、一時的にデータ ループが形成される可能性があります。インターフェイスは、新しいトポロジー情報がスイッチド LAN 経由で伝達されるまで待機し、そのあと、フレーム転送を開始する必要があります。また、古いトポロジーで転送されたフレームの存続時間を満了させることも必要です。
スパニング ツリーを使用するスイッチの各レイヤ 2 インターフェイスは、次のステートのいずれかになります。
- ・ ブロッキング ― インターフェイスは、フレーム転送に参加していない状態です。
- ・ リスニング ― インターフェイスがフレーム転送に参加すべきであるとスパニングツリーが判断した場合に、ブロッキング ステート後最初に開始する移行ステートです。
- ・ ラーニング ― インターフェイスは、フレーム転送に参加する準備をしている状態です。
- ・ フォワーディング ― インターフェイスはフレームを転送します。
- ・ ディセーブル ― インターフェイスはスパニングツリーに参加していない状態です。ポートのシャットダウン、ポート上のリンク欠落、ポートで稼働するスパニングツリー インスタンスが存在しないことなどが原因で、フレームを転送していない状態です。
- ・ 初期化からブロッキング
- ・ ブロッキングからリスニングまたはディセーブル
- ・ リスニングからラーニングまたはディセーブル
- ・ ラーニングからフォワーディングまたはディセーブル
- ・ フォワーディングからディセーブル
図15-1 に、インターフェイスがステートを移行する様子を示します。
図15-1 スパニングツリー インターフェイスのステート
スイッチの電源を投入すると、スパニングツリーはデフォルトでイネーブルになり、スイッチ、VLAN、またはネットワークのすべてのインターフェイスは、ブロッキング ステートを経てリスニングおよびラーニングという移行ステートに進みます。スパニングツリーは、各インターフェイスを、フォワーディング ステートまたはブロッキングステートで安定させます。
スパニングツリー アルゴリズムによってレイヤ 2 インターフェイスがフォワーディング ステートになる際には、次のプロセスが発生します。
- 1. インターフェイスはリスニング ステートになり、スパニングツリーはインターフェイスをブロッキング ステートに移行するよう指示するプロトコル情報を待ちます。
- 2. スパニングツリーは、転送遅延タイマーの満了を待ってインターフェイスをラーニング ステートに移行し、転送遅延タイマーをリセットします。
- 3. ラーニング ステートでは、インターフェイスは引き続きフレーム転送をブロックし、その間にスイッチは転送データベースのエンド ステーションのロケーション情報を学習します。
- 4. 転送遅延タイマーが満了すると、スパニングツリーはインターフェイスをフォワーディング ステートに移行し、ここでラーニングとフレーム転送の両方がイネーブルになります。
ブロッキング ステート
ブロッキング ステートのレイヤ 2 インターフェイスは、フレーム転送に参加しません。初期化後、スイッチの各インターフェイスに BPDU が送信されます。スイッチは最初、ほかのスイッチと BPDU を交換するまでルートとして動作します。この交換により、ネットワーク上のどのスイッチがルート(またはルート スイッチ)であるかが確定します。ネットワークにスイッチが 1 台しか存在しない場合は、BPDU 交換は行われず、転送遅延タイマーが満了し、インターフェイスはリスニング ステートに移行します。初期化後、インターフェイスは常にブロッキング ステートになります。
ブロッキング ステートのインターフェイスは、次の処理を実行します。
リスニング ステート
リスニング ステートは、レイヤ 2 インターフェイスがブロッキング ステートを経て移行する最初のステートです。このインターフェイスはフレーム転送に参加すべきであるとスパニングツリーが判断した場合、インターフェイスはこのステートになります。
リスニング ステートのインターフェイスは、次の処理を実行します。
ラーニング ステート
ラーニング ステートのレイヤ 2 インターフェイスは、フレーム転送に参加する準備をしています。インターフェイスは、リスニング ステートからラーニング ステートへ移行します。
ラーニング ステートのインターフェイスは、次の処理を実行します。
フォワーディング ステート
フォワーディング ステートのレイヤ 2 インターフェイスは、フレームを転送します。インターフェイスは、ラーニング ステートからフォワーディング ステートへ移行します。
フォワーディング ステートのインターフェイスは、次の処理を実行します。
ディセーブル ステート
ディセーブル ステートのレイヤ 2 インターフェイスは、フレーム転送やスパニングツリーに参加しません。ディセーブル ステートのインターフェイスは、動作不能です。
ディセーブルになったインターフェイスは、次の処理を実行します。
スイッチまたはポートのルート スイッチまたはルート ポートへの選出方法
ネットワーク内のすべてのスイッチが、デフォルトのスパニングツリー設定でイネーブルの場合、最小の MAC アドレスを持つスイッチがルート スイッチになります。 図15-2 では、スイッチ A がルート スイッチに選択されています。すべてのスイッチでスイッチ プライオリティがデフォルト(32768)に設定されており、スイッチ A の MAC アドレスが最小であるためです。ただし、トラフィック パターン、転送インターフェイスの数、またはリンク タイプによっては、スイッチ A が最適なルート ブリッジであるとは限りません。最適なスイッチのプライオリティを上げる(プライオリティの数値を小さくする)ことによって、そのスイッチがルート スイッチになるように設定すると、最適なスイッチをルートとして持つ新しいスパニングツリー トポロジーを形成するように、強制的に再計算させることができます。
図15-2 スパニングツリー トポロジー
スパニングツリー トポロジーをデフォルトのパラメータに基づいて計算すると、スイッチド ネットワーク上の送信元から宛先エンド ステーションまでのパスが最適にならない可能性があります。たとえば、ルート ポートよりもプライオリティの高いインターフェイスに、より高速のリンクを接続すると、ルート ポートが変更されます。重要なのは、最も高速のリンクをルート ポートにすることです。
たとえば、スイッチ B の 1 つのポートがギガビット イーサネット リンクであり、同じスイッチの別のポート(10/100 Mbps リンク)がルート ポートになっていると仮定します。ネットワーク トラフィックはギガビット イーサネット リンクに流す方が効率的です。ギガビット イーサネット インターフェイスの STP ポート プライオリティをルート ポートよりも高く(数値を小さく)すれば、ギガビット イーサネット インターフェイスが新しいルート ポートになります。
スパニングツリーおよび冗長接続
2 つのスイッチ インターフェイスを別のデバイス、または 2 台の異なるデバイスに接続することにより、スパニングツリーを使用して冗長バックボーンを作成できます。スパニングツリーは、一方のインターフェイスを自動的にディセーブルにしますが、他方のインターフェイスに障害が発生すると、ディセーブルになっていたインターフェイスをイネーブルにします( 図15-3 を参照)。一方のリンクが高速で、他方が低速の場合、常に低速の方のリンクがディセーブルになります。2 つのリンクの速度が同じ場合、ポート プライオリティとポート ID が加算され、値が小さいリンクがスパニングツリーによってディセーブルにされます。
図15-3 スパニングツリーおよび冗長接続
EtherChannel グループを使用して、スイッチ間に冗長リンクを設定することもできます。詳細については、 第31章 「EtherChannel の設定」 を参照してください。
スパニングツリー アドレスの管理
IEEE 802.1D には、さまざまなブリッジ プロトコルが使用するマルチキャスト アドレスとして、0x00180C2000000 〜 0x0180C2000010 の範囲のアドレスが 17 個規定されています。このアドレスはスタティック アドレスなので削除できません。
スパニングツリー ステートに関係なく、スイッチは 0x0180C2000000 〜 0x0180C200000F のアドレス宛のパケットを受信しますが、転送は行いません。
スパニングツリーがイネーブルになっている場合は、スイッチ CPU は、0x0180C2000000 および 0x0180C2000010 宛のパケットを受信します。スパニングツリーがディセーブルの場合、スイッチは不明のマルチキャスト アドレスとしてこのようなパケットを転送します。
接続を維持するための有効期間の短縮
ダイナミック アドレスの有効期間のデフォルト値は 5 分であり、 mac-address-table aging-time グローバル コンフィギュレーション コマンドによるデフォルト設定です。ただし、スパニングツリーの再構成により、多数のステーション ロケーションが変更される場合があります。このようなステーションには、再構成中、5 分以上にわたって到達できないことがあるので、アドレス テーブルからステーション アドレスを削除し、改めて学習できるように、アドレス有効期間が短縮されます。短縮された有効期間は、スパニングツリーの再構成時には、転送遅延パラメータの値( spanning-tree vlan vlan-id forward-time seconds グローバル コンフィギュレーション コマンド)と同じです。
1 つ 1 つの VLAN は独立したスパニングツリー インスタンスなので、スイッチは VLAN 単位で有効期間を短縮します。ある VLAN でスパニングツリーの再構成が行われると、その VLAN で学習されたダイナミック アドレスが有効期間短縮の対象になることがあります。ほかの VLAN のダイナミック アドレスは影響を受けず、スイッチで設定された有効期間がそのまま適用されます。
スパニングツリーのモードおよびプロトコル
スイッチは、次のスパニングツリー モードおよびプロトコルをサポートします。
PVST+ ― このスパニングツリー モードは、IEEE 802.1D 規格およびシスコ独自の拡張機能に基づいています。 デフォルトのスパニングツリー モードで、すべてのイーサネット、ファスト イーサネット、およびギガビット イーサネットのポートベース VLAN 上で使用されます。PVST+ はスイッチの各 VLAN でサポートされる最大限まで稼働し、各 VLAN にネットワークを介したループフリー パスを提供します。
PVST+ は、稼働する VLAN にレイヤ 2 ロード バランシングを提供します。すべてのリンクが使用され、かつ、特定のリンクがオーバーサブスクライブにならないように、ネットワーク上の VLAN を使用して、さまざまな論理トポロジーを作成できます。VLAN 上の PVST+ の各インスタンスには、ルート スイッチが 1 台ずつあります。このルート スイッチは、その VLAN に対応するスパニングツリー情報を、ネットワーク内のほかのすべてのスイッチに伝播します。このプロセスにより各スイッチがネットワークに関して共通の情報を持つようになるので、ネットワーク トポロジーが確実に維持されます。
- ・ Rapid PVST+ ― このスパニングツリー モードは、IEEE 802.1w 規格に基づく高速コンバージェンスを使用している点以外では、PVST+ と同じです。 高速コンバージェンスを提供するために、トポロジーの変更を受信すると、ポート単位でダイナミックに学習した MAC アドレス エントリを即座に削除します。対照的に、PVST+ はダイナミックに学習した MAC アドレス エントリに、短時間のエージング タイムを使用します。
Rapid PVST+ は、PVST+ と同じ設定を使用するため(明記されていないかぎり)、スイッチで必要な追加設定も最小限で済みます。Rapid PVST+ の利点は、複雑な MSTP 設定を学習したり、ネットワークの再プロビジョニングを行ったりせずに、大規模な PVST+ のインストール ベースを Rapid PVST+ に移行できることにあります。Rapid PVST+ モードでは、各 VLAN で独自のスパニングツリー インスタンスが、サポートされる最大限まで稼働しています。
- ・ MSTP ― このスパニングツリー モードは、IEEE 802.1s 規格に基づきます。複数の VLAN を同じスパニングツリー インスタンスにマッピングでき、これにより多数の VLAN をサポートするのに必要なスパニングツリー インスタンス数を軽減できます。MSTP は、RSTP の上で稼働して(IEEE 802.1w に基づき)、転送遅延を解消し、ルート ポートおよび指定ポートをフォワーディング ステートに迅速に移行することによって、スパニングツリーの高速コンバージェンスを提供します。MSTP の稼働には、RSTP が必要です。
MSTP を導入する場合、最初に導入される最も一般的なのは、レイヤ 2 スイッチド ネットワークのバックボーンおよびディストリビューション レイヤへの配置です。詳細については、 第16章 「MSTP の設定」 を参照してください。スパニングツリー インスタンスのサポート数については、次のセクションを参照してください。
スパニングツリー インスタンスのサポート
PVST+ または Rapid PVST+ モードでは、スイッチは最大 128 のスパニングツリー インスタンスをサポートします。
MSTP モードでは、スイッチは最大 65 の MST インスタンスをサポートします。特定の MST インスタンスにマッピングできる VLAN 数は無制限です。
スパニングツリーと VLAN Trunking Protocol(VTP; VLAN トランキング プロトコル)の相互動作については、 スパニングツリー設定時の注意事項 を参照してください。
スパニングツリーのインターオペラビリティと下位互換性
表15-2 に、特定のネットワークでサポートされるスパニングツリー モード間のインターオペラビリティと互換性を示します。
MSTP と PVST+ が混在するネットワークでは、Common Spanning-Tree(CST)ルートが MST バックボーン内にある必要があり、PVST+ スイッチは複数の MST リージョンに接続できません。
ネットワーク内に Rapid PVST+ が稼働しているスイッチと PVST +が稼働しているスイッチが存在する場合、Rapid PVST+ スイッチと PVST+ スイッチを別のスパニングツリー インスタンスに設定することを推奨します。Rapid PVST+ スパニングツリー インスタンスでは、ルート スイッチが Rapid-PVST+ スイッチでなければなりません。PVST+ インスタンスでは、ルート スイッチは PVST+ スイッチでなければなりません。PVST+ スイッチはネットワークのエッジに配置する必要があります。
STP および IEEE 802.1Q トランク
VLAN トランクの IEEE 802.1Q 規格では、ネットワークのスパニングツリー方式にいくつかの制約を課します。この規格では、トランク上で許可された すべて の VLAN に対してスパニングツリー インスタンスは 1 つのみです。ただし、IEEE 802.1Q トランクを使用して接続したシスコ製スイッチで構成されたネットワークでは、スイッチはトランク上で許可された VLAN ごとに 1 つのスパニングツリー インスタンスを維持します。
IEEE 802.1Q トランクを使用してシスコ製スイッチを他社製デバイスに接続すると、シスコ製スイッチは PVST+ を使用してスパニングツリーのインターオペラビリティを実現します。Rapid PVST+ がイネーブルの場合、スイッチは PVST+ の代わりにこれを使用します。このスイッチは、トランクの IEEE 802.1Q VLAN のスパニングツリー インスタンスと他社製の IEEE 802.1Q スイッチのスパニングツリー インスタンスを結合します。
ただし、すべての PVST+ または Rapid PVST+ 情報は、他社製の IEEE 802.1Q スイッチ クラウドにより分離されたシスコ製スイッチによって維持されます。シスコ製スイッチを分離する他社製の IEEE 802.1Q スイッチ クラウドは、スイッチ間の 1 つのトランク リンクとして取り扱われます。
PVST+ は 802.1Q トランクで自動的にイネーブルに設定され、ユーザによる設定は必要ありません。アクセス ポートおよび ISL(スイッチ間リンク)トランク ポートでの外部スパニングツリー動作は、PVST+ によって影響されません。
IEEE 802.1Q トランクの詳細については、 第11章 「VLAN の設定」 を参照してください。
VLAN ブリッジ スパニングツリー
Cisco VLAN ブリッジ スパニングツリーは、代替ブリッジング機能(ブリッジ グループ)で使用し、DECnet などの IP 以外のプロトコルを 2 つ以上の VLAN ブリッジ ドメインまたはルーテッド ポート間で伝送します。VLAN ブリッジ スパニングツリーにより、ブリッジ グループは個々の VLAN スパニングツリーの上部にスパニングツリーを形成できるので、VLAN 間で複数の接続がある場合に、ループが形成されないようにします。また、ブリッジングされている VLAN からの個々のスパニングツリーが単一のスパニングツリーに縮小しないようにする働きもします。
VLAN ブリッジ スパニングツリーをサポートするには、一部のスパニングツリー タイマーを増やします。代替ブリッジング機能を使用するには、スイッチに Enhanced Multilayer Software Image(EMI; 拡張マルチレイヤ ソフトウェア イメージ)をインストールする必要があります。詳細については、 第37章 「代替ブリッジングの設定」 を参照してください。
スパニングツリー機能の設定
ここでは、スパニングツリー機能を設定する手順について説明します。
- ・ スパニングツリー機能のデフォルト設定
- ・ スパニングツリー設定時の注意事項
- ・ スパニングツリー モードの変更 (必須)
- ・ スパニングツリーのディセーブル化 (任意)
- ・ ルート スイッチの設定 (任意)
- ・ セカンダリ ルート スイッチの設定 (任意)
- ・ ポート プライオリティの設定 (任意)
- ・ パス コストの設定 (任意)
- ・ VLAN のスイッチ プライオリティの設定 (任意)
- ・ スパニングツリー タイマーの設定 (任意)
スパニングツリー機能のデフォルト設定
表15-3 に、スパニングツリー機能のデフォルト設定を示します。
|
詳細については、 スパニングツリー インスタンスのサポート を参照してください。 |
|
スパニングツリー設定時の注意事項
VTP にスパニングツリー インスタンスよりも多くの VLAN が定義されている場合、PVST+ または Rapid PVST+ をイネーブルにできるのは 128 の VLAN に限られます。残りの VLAN は、スパニングツリーをディセーブルにした状態で動作します。VLAN の数が 128 を超える場合は、MSTP をイネーブルにして、複数の VLAN を 1 つのスパニングツリー インスタンスにマッピングすることを推奨します。詳細については、 第16章 「MSTP の設定」 を参照してください。
推奨するトランク ポート設定の詳細については、 他の機能との相互作用 を参照してください。
128 のスパニングツリー インスタンスがすでに使用されている場合は、VLAN のいずれかでスパニングツリーをディセーブルにしてから、実行したい VLAN 上でスパニングツリーをイネーブルにできます。特定の VLAN のスパニングツリーをディセーブルにするには、 no spanning-tree vlan vlan-id グローバル コンフィギュレーション コマンドを使用します。特定の VLAN 上のスパニングツリーをイネーブルにするには、 spanning-tree vlan vlan-id グローバル コンフィギュレーション コマンドを使用します。
スパニングツリー コマンドは、VLAN スパニングツリー インスタンスのコンフィギュレーションを決定します。スパニングツリー インスタンスは、VLAN にインターフェイスを割り当てるときに作成します。最後のインターフェイスがほかの VLAN に移動すると、STP インスタンスは削除されます。スパニングツリー インスタンスを作成する前に、スイッチおよびポートのパラメータを設定できます。このパラメータは、スパニングツリー インスタンスの作成時に適用されます。
スイッチは、PVST+、Rapid PVST+、および MSTP をサポートしますが、アクティブにできるバージョンは常に 1 つだけです(たとえば、すべての VLAN で PVST+ が稼働したり、すべての VLAN で Rapid PVST+ が稼働したり、またはすべての VLAN で MSTP が稼働したりします)。さまざまなスパニングツリー モードおよびそれらの相互運用方法については、 スパニングツリーのインターオペラビリティと下位互換性 を参照してください。
UplinkFast、BackboneFast、およびクロススタック UplinkFast の設定時の注意事項については、 オプションのスパニングツリー設定時の注意事項 を参照してください。
スパニングツリー モードの変更
スイッチは、PVST+、Rapid PVST+、MSTP の 3 つのスパニングツリー モードをサポートします。デフォルトでは、スイッチで PVST+ プロトコルが稼働しています。
スパニングツリー モードを変更するには、イネーブル EXEC モードで次の手順を実行します。デフォルトと異なるモードをイネーブルにするには、次の手順を実行する必要があります。
|
||
|
(Rapid PVST+ モードにのみ推奨)設定するインターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。有効なインターフェイスは、物理ポート、VLAN、ポート チャネルなどです。有効な VLAN ID は 1 〜 4094 です。ポートチャネルの範囲は 1 〜 64 です。 |
||
|
(Rapid PVST+ モードにのみ推奨)このポートのリンク タイプをポイントツーポイントに指定します。 このポート(ローカル ポート)をポイントツーポイント リンクを介してリモート ポートに接続して、ローカル ポートが指定ポートになる場合、スイッチはリモート ポートとネゴシエーションして、ローカル ポートをフォワーディング ステートに迅速に移行させます。 |
||
|
(Rapid PVST+ モードにのみ推奨)スイッチのいずれかのポートが IEEE 802.1D レガシー スイッチのポートと接続している場合、スイッチ全体でプロトコル移行プロセスを再起動します。 |
||
デフォルト設定に戻すには、 no spanning-tree mode グローバル コンフィギュレーション コマンドを使用します。ポートをデフォルト設定に戻すには、 no spanning-tree link-type インターフェイス コンフィギュレーション コマンドを使用します。
スパニングツリーのディセーブル化
スパニングツリーは、デフォルトで VLAN 1 および新規に作成されたすべての VLAN 上で、 スパニングツリー インスタンスのサポート に示したスパニングツリーの限度を上限としてイネーブルに設定されています。スパニングツリーをディセーブルにするのは、ネットワーク トポロジーにループがないことが確実な場合だけにしてください。
VLAN 単位でスパニングツリーをディセーブルにするには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
|
vlan-id には、VLAN ID で識別された単一の VLAN、ハイフンで区切られた一定範囲の VLAN、またはカンマで区切られた一連の VLAN を指定できます。 指定できる範囲は 1 〜 4094 です。 |
||
スパニングツリーを再度イネーブルにするには、 spanning-tree vlan vlan-id グローバル コンフィギュレーション コマンドを使用します。
ルート スイッチの設定
スイッチは、設定されたアクティブ VLAN ごとに 1 つずつ、独立したスパニングツリー インスタンスを維持します。各インスタンスには、スイッチ プライオリティとスイッチ MAC アドレスからなるブリッジ ID が対応付けられています。各 VLAN で、最小のブリッジ ID を持つスイッチが、その VLAN のルート スイッチになります。
スイッチが特定の VLAN のルートになるよう設定するには、 spanning-tree vlan vlan-id root グローバル コンフィギュレーション コマンドを使用して、スイッチ プライオリティをデフォルト値(32768)から大幅に小さい値に変更します。このコマンドを入力すると、スイッチは、各 VLAN についてルート スイッチのスイッチ プライオリティをチェックします。拡張システム ID をサポートするため、スイッチは、指定された VLAN 上の自身のプライオリティを 24576 に設定します(この値によって、このスイッチが指定された VLAN のルートになる場合)。
指定された VLAN のいずれかのルート スイッチに 24576 より小さいスイッチ プライオリティが設定されている場合は、スイッチは指定された VLAN 上の自身のプライオリティを、最小のスイッチ プライオリティより 4096 だけ小さい値に設定します( 表15-1スイッチ プライオリティ値および拡張システム ID に示すように、4096 は、4 ビット スイッチ プライオリティ値の最下位ビットの値です)。
Cisco IOS Release 12.1(8)EA1 より前のリリースでは、Catalyst 3550 スイッチ(拡張システム ID なし)で spanning-tree vlan vlan-id root グローバル コンフィギュレーション コマンドを実行すると、指定された VLAN 上の自身のスイッチ プライオリティが 8192 に設定されます(この値によって、このスイッチが指定された VLAN のルートになる場合)。指定された VLAN 上のいずれかのルートスイッチに 8192 より小さいスイッチ プライオリティが設定されている場合は、スイッチは指定された VLAN 上の自身のプライオリティを最小のスイッチ プライオリティより 1 つだけ小さい値に設定します。
次の例は、拡張システム ID のサポートがある場合とない場合の、 spanning-tree vlan vlan-id root コマンドの効果を示します。
- ・ 拡張システム ID を持つ Catalyst 3550 スイッチ(Cisco IOS Release 12.1(8)EA1 以降)では、VLAN 20 のすべてのネットワーク デバイスにデフォルトのプライオリティ 32768 が設定されている場合、スイッチに対して spanning-tree vlan 20 root primary コマンドを入力すると、スイッチ プライオリティが 24576 に設定され、これによってこのスイッチが VLAN 20 のルート スイッチになります。
- ・ 拡張システム ID のない Catalyst 3550 スイッチ(Cisco IOS Release 12.1(8)EA1 より前のソフトウェア)では、VLAN 100 のすべてのネットワーク デバイスにデフォルトのプライオリティ 32768 が設定されている場合、スイッチで spanning-tree vlan 100 root primary コマンドを入力すると、VLAN 100 のスイッチ プライオリティが 8192 に設定され、これによってこのスイッチが VLAN 100 のルート スイッチになります。
レイヤ 2 のネットワーク径(レイヤ 2 ネットワーク上の任意の 2 つのエンド ステーション間の最大スイッチ ホップ数)を指定するには、 diameter キーワードを指定します。ネットワーク径を指定すると、スイッチはその直径を持つネットワークに最適な hello タイム、転送遅延時間、および最大エージング タイムを自動的に設定します。その結果、STP のコンバージェンスに要する時間が大幅に短縮されます。 hello キーワードを使用すると、自動的に計算された hello タイムを上書きできます。
spanning-tree vlan vlan-id forward-time 、および spanning-tree vlan vlan-id max-age グローバル コンフィギュレーション コマンドを使用して、hello タイム、転送遅延時間、および最大エージング タイムを手動で設定することは推奨できません。
指定された VLAN のルートになるようにスイッチを設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
スイッチをデフォルト設定に戻すには、 no spanning-tree vlan vlan-id root グローバル コンフィギュレーション コマンドを使用します。
セカンダリ ルート スイッチの設定
拡張システム ID をサポートする Catalyst 3550 スイッチをセカンダリ ルートとして設定すると、スイッチ プライオリティはデフォルト値(32768)から 28672 に変更されます。 このスイッチは、プライマリ ルート スイッチに障害が発生した場合に、指定された VLAN のルート スイッチになる可能性が高くなります。ネットワーク上のほかのスイッチはデフォルトのスイッチ プライオリティである 32768 を使用していると想定されるので、ほかのスイッチがルート スイッチになる可能性は低くなります。拡張システム ID をサポートしない Catalyst 3550 スイッチ(Cisco IOS Release 12.1(8)EA1 より前のソフトウェア)の場合、スイッチ プライオリティは 16384 に変更されます。
このコマンドを複数のスイッチに実行して、複数のバックアップ ルート スイッチを設定できます。 spanning-tree vlan vlan-id root primary グローバル コンフィギュレーション コマンド を使用して、プライマリ ルート スイッチの設定時と同じネットワーク径および hello タイム値を設定します。
指定された VLAN のセカンダリ ルートになるようにスイッチを設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
|
spanning-tree vlan vlan-id root secondary [ diameter net-diameter [ hello-time seconds ]] |
指定された VLAN のセカンダリ ルートになるようにスイッチを設定します。
プライマリ ルート スイッチの設定時と同じネットワーク径と hello タイム値を使用します。 ルート スイッチの設定 を参照してください。 |
|
スイッチをデフォルト設定に戻すには、 no spanning-tree vlan vlan-id root グローバル コンフィギュレーション コマンドを使用します。
ポート プライオリティの設定
ループが発生すると、スパニングツリーは、ポート プライオリティを使用して、フォワーディング ステートにするインターフェイスを選択します。STP に最初に選択させたいインターフェイスには高いプライオリティ値(小さい数値)を、最後に選択させたいインターフェイスには低いプライオリティ値(大きい数値)を割り当てることができます。すべてのインターフェイスが同じプライオリティ値を使用している場合には、スパニングツリーはインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにして、残りのインターフェイスをブロックします。
インターフェイスのポート プライオリティを設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
show running-config interface イネーブル EXEC コマンドを使用して設定を確認してください。
インターフェイスをデフォルト設定に戻すには、 no spanning-tree [ vlan vlan-id ] port-priority インターフェイス コンフィギュレーション コマンドを使用します。スパニングツリーのポート プライオリティを使用してトランク ポートにロード シェアリングを設定する方法については、 STP によるロード シェアリング を参照してください。
パス コストの設定
スパニングツリー パス コストのデフォルト値は、インターフェイスのメディア速度と連動します。ループが発生すると、スパニングツリーはコストを使用して、フォワーディング ステートにするインターフェイスを選択します。STP に最初に選択させたいインターフェイスには小さいコスト値を、最後に選択させたいインターフェイスには大きいコスト値を割り当てます。すべてのインターフェイスが同じコスト値を使用している場合、スパニングツリーはインターフェイス番号が最も小さいインターフェイスをフォワーディング ステートにして、残りのインターフェイスをブロックします。
インターフェイスのコストを設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
インターフェイスをデフォルト設定に戻すには、 no spanning-tree [ vlan vlan-id ] cost インターフェイス コンフィギュレーション コマンドを使用します。スパニングツリー パス コストを使用してトランク ポートにロード シェアリングを設定する方法については、 STP によるロード シェアリング を参照してください。
VLAN のスイッチ プライオリティの設定
スイッチ プライオリティを設定して、スイッチがルート スイッチとして選択される可能性を高めることができます。
VLAN のスイッチ プライオリティを設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
スイッチをデフォルト設定に戻すには、 no spanning-tree vlan vlan-id priority グローバル コンフィギュレーション コマンドを使用します。
スパニングツリー タイマーの設定
表15-4 に、スパニングツリー全体のパフォーマンスに影響を与えるタイマーを示します。
hello タイムの設定
hello タイムを変更することによって、ルート スイッチによるコンフィギュレーション メッセージが生成される間隔を設定できます。
VLAN の hello タイムを設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
|
VLAN の hello タイムを設定します。hello タイムは、ルート スイッチによってコンフィギュレーション メッセージが生成される間隔です。このメッセージはスイッチが動作中であることを意味します。 |
||
スイッチをデフォルト設定に戻すには、 no spanning-tree vlan vlan-id hello-time グローバル コンフィギュレーション コマンドを使用します。
VLAN の転送遅延時間の設定
VLAN の転送遅延時間を設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
|
VLAN の転送時間を設定します。転送遅延は、スパニングツリーのラーニングおよびリスニング ステートからフォワーディング ステートに移行するまでに、ポートが待機する秒数です。 |
||
スイッチをデフォルト設定に戻すには、 no spanning-tree vlan vlan-id forward-time グローバル コンフィギュレーション コマンドを使用します。
VLAN の最大エージング タイムの設定
VLAN の最大エージング タイムを設定するには、イネーブル EXEC モードで次の手順を実行します。この手順は任意です。
|
VLAN の最大エージング タイムを設定します。最大エージング タイムは、再設定を行うまでに、スイッチがスパニングツリー コンフィギュレーション メッセージを受信せずに待機する秒数です。 |
||
スイッチをデフォルト設定に戻すには、 no spanning-tree vlan vlan-id max-age グローバル コンフィギュレーション コマンドを使用します。
カスケード型スタックで使用するためのスパニングツリーの設定
スイッチをカスケード型コンフィギュレーションで設定する場合、スパニングツリーは削減可能なデフォルト値を使用します。ルートスイッチがクラスタに含まれており、カスケード型スタックの 1 つのスイッチである場合には、スパニングツリーをカスタマイズしてスイッチ障害の発生後に再コンバージェンスする時間を短縮できます。 図15-4 に、GigaStack GBIC(ギガビット インターフェイス コンバータ)を使用する 3 種類のカスケード型スタックのスイッチを示します。 表15-5 に、スパニングツリーのデフォルト設定と、これらのコンフィギュレーションに適した設定値を示します。
図15-4 ギガビット イーサネット スタック
送信ホールド カウントの設定
transmit hold-count 値を変更することで、1 秒間に送信される BPDU の最大数を設定できます。
送信ホールド カウントを設定するには、イネーブル EXEC モードで次の手順を行います。この手順は任意です。
デフォルト設定に戻すには、 no spanning-tree transmit hold-count value グローバル コンフィギュレーション コマンドを使用します。
スパニングツリー ステータスの表示
スパニングツリー ステータスを表示するには、 表15-6 に示すイネーブル EXEC コマンドの 1 つまたは複数を使用します。
スパニングツリー カウンタをクリアするには、 clear spanning-tree [ interface interface-id ] イネーブル EXEC コマンドを使用します。
show spanning-tree イネーブル EXEC コマンドのキーワードについては、このリリースのコマンド リファレンスを参照してください。
