| ライター翻訳版 - September 1, 2005 |
| Document ID: 5234 |
| ダウンロード: PDF |
目次
概要
前提条件
要件
使用するコンポーネント
表記法
背景理論
ネットワーク ダイアグラム
コンセプト
このテクノロジーの説明
STP 操作
タスク
手順説明
確認
トラブルシューティング
トラブルシューティングのためのコマンド
コマンドの概要
NetPro ディスカッション フォーラム - 特集対話
関連情報
概要
Spanning-Tree Protocol(STP; スパニングツリー プロトコル)は、ブリッジおよびスイッチで動作するレイヤ 2(L2)プロトコルです。 STP の仕様は IEEE 802.1D と呼ばれます。 STP の主な目的は、ネットワークが冗長パスを備えている場合、ループが発生しないようにすることです。 ループはネットワークにとって致命的な状態です。
前提条件
要件
この文書に関する特別な要件はありません。
使用するコンポーネント
この文書では Catalyst 5500/5000 スイッチを使用していますが、この文書に記述されているスパニングツリーの原理は、STP をサポートしている、ほとんどすべてのデバイスに適用できます。
例として、この文書では次の機器を使用しています。
-
スイッチ内のスーパーバイザ エンジンに適合したコンソール ケーブル
-
Catalyst 5509 スイッチ 6 台
この文書の情報は、特定のラボ環境にあるデバイスに基づいて作成されています。この文書内で使用されているデバイスはすべて、クリアな状態(デフォルト)から設定作業を始めています。対象のネットワークが実稼動中である場合には、すべてのコマンドによる潜在的な影響について確実に理解しておく必要があります。
表記法
文書表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
背景理論
この文書の設定は、Catalyst OS(CatOS)が稼動している Catalyst 2926G、2948G、2980G、4500/4000、5500/5000 および 6500/6000 スイッチに適用できます。 他のスイッチ プラットフォームでの STP の設定については、次の文書を参照してください。
-
Cisco IOS ソフトウェアが稼動している Catalyst 6500/6000 での STP および IEEE 802.1s MST の設定
-
Cisco IOS ソフトウェアが稼動している Catalyst 4500/4000 スイッチでの STP の説明と設定
-
Catalyst 2900 XL/3500 XL スイッチでの STP の設定
-
Catalyst 3550 スイッチでの STP の設定
-
Catalyst 2950 スイッチでの STP の設定
ネットワーク ダイアグラム
この文書では、次のネットワーク構成を使用しています。
コンセプト
STP は 802.1D に準拠したブリッジおよびスイッチ上で動作します。 STP には各種の派生版がありますが、802.1D が最も一般的であり、広く実装されています。 STP はネットワークでのループを回避するためにブリッジおよびスイッチに実装します。 冗長リンクが必要な状況で、ループを避けるために STP を使用します。 冗長リンクは、ネットワークでのフェールオーバーに備えるものとして、バックアップと同様に重要です。 プライマリが故障した場合には、引き続きユーザがネットワークを使用できるように、バックアップ リンクがアクティブになります。 ブリッジおよびスイッチで STP が動作していない場合、このような障害によってループが発生する場合があります。 次のネットワークについて考えます。
このネットワークでは、スイッチ A とスイッチ B の間に冗長リンクが計画されています。しかし、この設定ではブリッジング ループが発生する可能性があります。 たとえばステーション M からステーション N 宛てに送信されたブロードキャスト パケットやマルチキャスト パケットは、両方のスイッチ間で繰り返し循環し続けるだけになります。
しかし、両方のスイッチで STP が動作している場合、ネットワークは論理的に次のようになります。
「ネットワーク ダイアグラム」のシナリオには、次の情報が適用されています。
-
スイッチ 15 はバックボーン スイッチである。
-
スイッチ 12、13、14、16、および 17 は、ワークステーションおよび PC に接続しているスイッチである。
-
このネットワークでは、次の VLAN を定義されている。
-
1
-
200
-
201
-
202
-
203
-
204
-
-
VLAN トランク プロトコル(VTP)のドメイン名は STD-Doc である。
このような望ましいパスの冗長化を実現するとともに、ループ状態が発生しないようにするため、STP では拡張ネットワーク内のすべてのスイッチを範囲とするツリーを定義します。 STP によって、特定の冗長データ パスが、強制的にスタンバイ(ブロック)ステートになりますが、そのほかのパスはフォワーディング ステートのままです。 フォワーディング ステートのリンクが使用できなくなると、STP によるネットワークの再構成が実行され、適切なスタンバイ状態のパスをアクティブ化することによって、データ パスの再ルーティングが行われます。
このテクノロジーの説明
STP で重要なことは、ネットワーク内のすべてのスイッチによってルート ブリッジが選出され、そのルート ブリッジがネットワークの中心点になることです。 どのポートをブロックし、どのポートをフォワーディング モードにするかなど、ネットワーク内のそのほかの決定は、このルート ブリッジを中心に決定されます。 ブリッジの環境とは異なって、スイッチド環境では、ほとんどの場合、複数の VLAN が対象になります。 通常、スイッチド ネットワークに実装されるルート ブリッジは、ルート スイッチと呼ばれます。 各 VLAN は別々のブロードキャスト ドメインであるため、各 VLAN には固有のルート ブリッジが必要となります。 1 台のスイッチに異なる VLAN のルートをすべて置くこともできますし、あるいは別々のスイッチに置くこともできます。
注:特定の VLAN に対するルート スイッチの選択は非常に重要です。 ルート スイッチはシステム管理者が選択できます。またはスイッチ自身に選択させることができますが、これにはリスクがあります。 ルートの選択処理を管理しない場合は、最適ではないパスがネットワーク上にできる可能性があります。
すべてのスイッチでは、ルート スイッチの選択時に使用する情報のほか、以降のネットワーク コンフィギュレーションに使用する情報が互いに交換されます。 この情報は、Bridge Protocol Data Unit(BPDU; ブリッジ プロトコル データ ユニット)によって搬送されます。 各スイッチでは、ネイバーに送信した BPDU 内のパラメータと、ネイバーから受信した BPDU 内のパラメータとが比較されます。
STP のルート選択処理では、数値が小さい方が優れていると見なされます。 スイッチ B がアドバタイズしたルート ID よりも小さい数値のルート ID をスイッチ A がアドバタイズすると、スイッチ A からの情報の方が優れていることになります。 スイッチ B は自分のルート ID のアドバタイズメントを停止し、スイッチ A のルート ID を受け入れます。
次に示すような STP のオプション機能の詳細については、『STP のオプション機能の設定』を参照してください。
-
PortFast
-
ルート ガード
-
ループ ガード
-
BPDU ガード
STP 操作
タスク
前提条件 STP を設定する前に、スパニングツリーのルートとなるスイッチを選択します。 このスイッチは、最も高性能なスイッチである必要はありません。 しかし、ネットワーク上で最も中心的な位置に配置されているスイッチを選択してください。 ネットワークを往来するデータフローはこのスイッチが中心となります。 また、ネットワーク上で最も外部介入の少ないスイッチを選択してください。 バックボーン スイッチには通常は端末が接続されないため、多くの場合はスパニングツリーのルートとなります。 さらに、ネットワーク内で移動または変更を行っても、これらのスイッチに影響が及ぶことはほとんどありません。
どのスイッチをルート スイッチにするかを決めたら、そのスイッチをルート スイッチとして指定するために適切な変数を設定します。 設定する必要がある唯一の変数は、ブリッジの優先度です。 このスイッチに、他のすべてのスイッチよりも低いブリッジの優先度が設定されていると、他のスイッチによってこのスイッチが自動的にルート スイッチとして選択されます。
スイッチ ポート上のクライアント(端末): ポートごとに set spantree portfast コマンドを発行することもできます。 portfast 変数がポート上で有効になっていると、ポートはただちにブロッキング モードからフォワーディング モードに切り替わります。 portfast を有効にしておくと、Novell Netware を使用しているクライアントや、IP アドレスの取得に Dynamic Host Configuration Protocol(DHCP; ダイナミック ホスト コンフィギュレーション プロトコル)を使用しているクライアントで、タイムアウトを回避するのに役立ちます。 ただし、スイッチ間接続があるときはこのコマンドを使用しないようにしてください。 この場合、このコマンドを実行するとループが発生します。 ブロッキング モードからフォワーディング モードへの移行する場合には 30 〜 60 秒の遅延が発生します。この遅延によって、2 台のスイッチを接続する際のネットワーク内での一時的なループ状態の発生が防止されます。
その他の STP 変数のほとんどは、デフォルト値のままにしておきます。
動作規則: このセクションでは、STP の動作方法に関する規則を一覧します。 スイッチの最初の起動時に、ルート スイッチの選択処理が開始されます。 各スイッチは、VLAN を単位として、直接接続されているスイッチに BPDU を送信します。
BPDU がネットワーク全体に行き渡ると、各スイッチは自身が送出した BPDU と、ネイバーから受信した BPDU とを比較します。 この後、スイッチ間でどのスイッチがルート スイッチになるかの合意が取られます。 ネットワーク内で最も低いブリッジ ID を持つスイッチが、この選出プロセスで選出されます。
注:各 VLAN ごとに、1 つのルート スイッチが識別されることを忘れないでください。 ルート スイッチの識別が行われると、各スイッチは次の規則に従います。
-
STP 規則 1: ルート スイッチの全ポートは、フォワーディング モードである必要があります。
注:セルフループ ポートが関連する一部のケースでは、この規則の例外があります。
次に、各スイッチはルートへの到達に最適なパスを決定します。 各スイッチは、各自のすべてのポートで受信したすべての BPDU に含まれている情報値を比較することによって、このパスを決定します。 スイッチでは、ルート スイッチへの到達に、BPDU に含まれる情報値が最も小さいポートを使用します。このポートがルート ポートになります。 ルート ポートを決定すると、スイッチは規則 2 に進みます。
-
STP 規則 2: ルート ポートはフォワーディング モードに設定する必要があります。
さらに、LAN セグメントごとのスイッチ間で相互に通信が行われ、どのスイッチが、セグメントからルート ブリッジへのデータの移動に最適であるかが判断されます。 このスイッチのことを代表スイッチと呼びます。
-
STP 規則 3: 単一の LAN セグメントでは、その LAN セグメントに接続している代表スイッチのポートは、必ずフォワーディング モードになります。
-
STP 規則 4: (VLAN 固有の)すべてのスイッチにあるその他のポートは、すべてブロッキング モードにする必要があります。 この規則が適用されるのは、他のブリッジやスイッチに接続しているポートに対してだけです。 ワークステーションや PC に接続しているポートが STP の影響を受けることはなく、これらのポートはフォワーディングのままです。
手順説明
次の手順を実行します。
-
スイッチで稼動しているソフトウェア バージョンを表示するには、show version コマンドを発行します。
注:すべてのスイッチで、同じソフトウェア バージョンが稼動している必要があります。
Switch-15> (enable) show version WS-C5505 Software, Version McpSW: 4.2(1) NmpSW: 4.2(1) Copyright (c) 1995-1998 by Cisco Systems NMP S/W compiled on Sep 8 1998, 10:30:21 MCP S/W compiled on Sep 08 1998, 10:26:29 System Bootstrap Version: 5.1(2) Hardware Version: 1.0 Model: WS-C5505 Serial #: 066509927 Mod Port Model Serial # Versions --- ---- ---------- --------- ---------------------------------------- 1 0 WS-X5530 008676033 Hw : 2.3 Fw : 5.1(2) Fw1: 4.4(1) Sw : 4.2(1)
このシナリオでは、スイッチ 15 はバックボーン スイッチであるため、すべての VLAN のネットワークのルート スイッチとして最適な選択肢です。
-
set spantree root vlan_id コマンドを実行して、vlan_id で指定した VLAN のスイッチの優先度を 8192 に設定します。
注:スイッチのデフォルトの優先順位は 32768 です。このコマンドで優先順位を設定すると、スイッチ 15 が最低の優先順位を持つことになるため、スイッチ 15 をルート スイッチとして選択されるように指定することになります。
Switch-15> (enable) set spantree root 1 VLAN 1 bridge priority set to 8192. VLAN 1 bridge max aging time set to 20. VLAN 1 bridge hello time set to 2. VLAN 1 bridge forward delay set to 15. Switch is now the root switch for active VLAN 1. Switch-15> (enable) Switch-15> (enable) set spantree root 200 VLAN 200 bridge priority set to 8192. VLAN 200 bridge max aging time set to 20. VLAN 200 bridge hello time set to 2. VLAN 200 bridge forward delay set to 15. Switch is now the root switch for active VLAN 200. Switch-15> (enable) Switch-15> (enable) set spantree root 201 VLAN 201 bridge priority set to 8192. VLAN 201 bridge max aging time set to 20. VLAN 201 bridge hello time set to 2. VLAN 201 bridge forward delay set to 15. Switch is now the root switch for active VLAN 201. Switch-15> (enable) Switch-15> (enable) set spantree root 202 VLAN 202 bridge priority set to 8192. VLAN 202 bridge max aging time set to 20. VLAN 202 bridge hello time set to 2. VLAN 202 bridge forward delay set to 15. Switch is now the root switch for active VLAN 202. Switch-15> Switch-15> (enable) set spantree root 203 VLAN 203 bridge priority set to 8192. VLAN 203 bridge max aging time set to 20. VLAN 203 bridge hello time set to 2. VLAN 203 bridge forward delay set to 15. Switch is now the root switch for active VLAN 203. Switch-15> Switch-15> (enable) set spantree root 204 VLAN 204 bridge priority set to 8192. VLAN 204 bridge max aging time set to 20. VLAN 204 bridge hello time set to 2. VLAN 204 bridge forward delay set to 15. Switch is now the root switch for active VLAN 204. Switch-15> (enable)
このコマンドの同じ効果のある短縮版を次に示します。
Switch-15> (enable) set spantree root 1,200-204 VLANs 1,200-204 bridge priority set to 8189. VLANs 1,200-204 bridge max aging time set to 20. VLANs 1,200-204 bridge hello time set to 2. VLANs 1,200-204 bridge forward delay set to 15. Switch is now the root switch for active VLANs 1,200-204. Switch-15> (enable)
set spantree priority コマンドは、ルート スイッチを指定するための第 3 の方法です。
Switch-15> (enable) set spantree priority 8192 1 Spantree 1 bridge priority set to 8192. Switch-15> (enable)
注:このシナリオでは、すべてのスイッチはクリアな設定で起動します。 そのため、すべてのスイッチが 32768 のブリッジ優先度で起動します。ネットワーク上にあるすべてのスイッチの優先順位が 8192 より大きいことが確実でない場合は、ルート ブリッジの優先順位を 1 に設定してください。
-
set spantree portfast mod_num/port_num enable コマンドを発行して、スイッチ 12、13、14、16、および 17 の PortFast 設定を行います。
注:この設定を行うのは、ワークステーションまたは PC に接続しているポートだけです。他のスイッチに接続しているポートでは PortFast を有効にしないようにしてください。
この例では、スイッチ 12 だけを設定していますが、他のスイッチも同様に設定できます。 スイッチ 12 のポート接続を次に示します。
-
ポート 2/1 がスイッチ 13 に接続
-
ポート 2/2 がスイッチ 15 に接続
-
ポート 2/3 がスイッチ 16 に接続
-
ポート 3/1〜3/24 が PC に接続
-
ポート 4/1〜4/24 が UNIX ワークステーションに接続
この情報に基づいて、ポート 3/1 〜 3/24 およびポート 4/1 〜 4/24 に対して set spantree portfast コマンドを発行します。
Switch-12> (enable) set spantree portfast 3/1-24 enable Warning: Spantree port fast start should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc. to a fast start port can cause temporary spanning-tree loops. Use with caution. Spantree ports 3/1-24 fast start enabled. Switch-12> (enable) Switch-12> (enable) set spantree portfast 4/1-24 enable Warning: Spantree port fast start should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc. to a fast start port can cause temporary spanning-tree loops. Use with caution. Spantree ports 4/1-24 fast start enabled. Switch-12> (enable)
-
-
show spantree vlan_id コマンドを発行して、スイッチ 15 が該当するすべての VLAN のルートであることを確認します。
このコマンドの出力を使用して、ルート スイッチになっているスイッチの MAC アドレスと、コマンドを発行したスイッチの MAC アドレスとを比較します。 両方のアドレスが一致すれば、操作しているスイッチが VLAN のルート スイッチであることがわかります。 また、ルート ポートが 1/0 の場合も、ルート スイッチで操作していることを意味します。 このコマンドの出力サンプルを次に示します。
Switch-15> (enable) show spantree 1 VLAN 1 spanning-tree enabled spanning-tree type ieee Designated Root 00-10-0d-b1-78-00 !--- VLAN 1 のルートスイッチの MAC アドレス。 Designated Root Priority 8192 Designated Root Cost 0 Designated Root Port 1/0 Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Bridge ID MAC ADDR 00-10-0d-b1-78-00 Bridge ID Priority 8192 Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec
この出力では、スイッチ 15 が VLAN 1 のスパニングツリーに対する指定ルートであることを示しています。指定ルート スイッチの MAC アドレス(00-10-0d-b1-78-00)は、スイッチ 15 のブリッジ ID MAC アドレス(00-10-0d-b1-78-00)と同じです。 さらに、指定ルート ポートが 1/0 であることによっても、このスイッチが指定ルートであることが示されています。
スイッチ 12 からの出力は、スイッチ 12 がスイッチ 15 を VLAN 1 の Designated Root として、認識したことを示しています。
Switch-12> (enable) show spantree 1 VLAN 1 spanning-tree enabled spanning-tree type IEEEDesignated Root 00-10-0d-b1-78-00 !--- VLAN 1 のルート スイッチの MAC アドレス。 Designated Root Priority 8192 Designated Root Cost 19 Designated Root Port 2/3 Root Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec Bridge ID MAC ADDR 00-10-0d-b2-8c-00 Bridge ID Priority 32768 Bridge Max Age 20 sec Hello Time 2 sec Forward Delay 15 sec
注:他のスイッチと VLAN に対する show spantree vlan_id コマンドの出力でも、スイッチ 15 がすべての VLAN の指定ルートであることが示されています。
確認
このセクションでは、設定が正しく動作していることを確認するための方法について説明します。
特定の show コマンドは、アウトプットインタープリタ(登録ユーザ専用)でサポートされています。このツールを使用すると、show コマンドの出力を分析できます。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。
-
show spantree vlan_id:このコマンドを発行したスイッチから見た、この VLAN ID に対するスパニングツリーの現在の状態を示します。
-
show spantree summary:接続されているスパニングツリー ポートの要約を、VLAN ごとに表示します。
トラブルシューティング
このセクションでは、設定のトラブルシューティングに役立つ情報を説明します。
トラブルシューティングのためのコマンド
特定の show コマンドは、アウトプットインタープリタ(登録ユーザ専用)でサポートされています。このツールを使用すると、show コマンドの出力を分析できます。一部ツールについては、ゲスト のお客様にはアクセスできない場合がありますことを、ご了承ください。
-
show spantree vlan_id:このコマンドを発行したスイッチから見た、この VLAN ID に対するスパニングツリーの現在の状態を示します。
-
show spantree summary:接続されているスパニングツリー ポートの要約を、VLAN ごとに表示します。
-
show spantree statistics:スパニングツリーの統計情報を表示します。
-
show spantree backbonefast:スパニングツリーの BackboneFast コンバージェンス機能が有効かどうかを表示します。
-
show spantree blockedports:ブロック状態のポートだけを表示します。
-
show spantree portstate:スパニングツリー内のトークン リンク ポートの現在のスパニングツリー状態を確認します。
-
show spantree portvlancost:ポート上の VLAN のパス コストを表示します。
-
show spantree uplinkfast:UplinkFast 設定を表示します。
コマンドの概要
|
構文: |
show version |
|---|---|
|
この文書での使用例 |
show version |
|
構文: |
set spantree root [vlan_id] |
|
この文書での使用例 |
set spantree root 1 |
|
set spantree root 1,200-204 |
|
|
構文: |
set spantree priority [vlan_id] |
|
この文書での使用例 |
set spantree priority 8192 1 |
|
構文: |
set spantree portfast mod_num/port_num {enable | disable} |
|
この文書での使用例 |
set spantree portfast 3/1-24 enable |
|
構文: |
show spantree [vlan_id] |
|
この文書での使用例 |
show spantree 1 |
NetPro ディスカッション フォーラム - 特集対話
| NetPro ディスカッション フォーラム - LAN に関する特集対話 |
| ネットワーク インフラストラクチャ:LAN ルーティングとスイッチング |
| ネットワーク インフラストラクチャ:LAN 入門 |
関連情報
- スパニングツリー プロトコルのトラブルシューティングと設計上の考慮事項
- スパニングツリー プロトコル トポロジの変更
- Catalyst 4500/4000 スイッチのスパニングツリーの設定
- Catalyst 5500/5000 スイッチのスパニングツリーの設定
- Catalyst 6500/6000 スイッチのスパニングツリーの設定
