この章では、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つのネットワーク セグメントで障害が発生し、かつ冗長パスが存在する場合、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グループを使用して、スイッチ間に冗長リンクを設定することもできます。詳細については、 第30章 「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;拡張マルチレイヤ ソフトウェア イメージ)をインストールする必要があります。詳細については、 第36章 「代替ブリッジングの設定」 を参照してください。
スパニングツリー機能の設定
ここでは、スパニングツリー機能を設定する手順について説明します。
- スパニングツリー機能のデフォルト設定
- スパニングツリー設定時の注意事項
- スパニングツリー モードの変更 (必須)
- スパニングツリーのディセーブル化 (任意)
- ルート スイッチの設定 (任意)
- セカンダリ ルート スイッチの設定 (任意)
- ポート プライオリティの設定 (任意)
- パス コストの設定 (任意)
- 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モードで次の手順を実行します。この手順は任意です。
インターフェイスをデフォルト設定に戻すには、 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コマンドのキーワードについては、このリリースのコマンド リファレンスを参照してください。
