この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
シスコでは、スパニングツリー プロトコル(STP)に、収束をより効率的に行うための拡張機能を追加しました。場合によっては、同様の機能が IEEE 802.1w 高速スパニングツリー プロトコル(RSTP)標準にも組み込まれている可能性がありますが、シスコの拡張機能を使用することを推奨します。これらの拡張機能はすべて、RPVST+ およびマルチ スパニングツリー プロトコル(MST)と組み合わせて使用できます。
使用可能な拡張機能には、スパニングツリー ポート タイプ、Bridge Assurance、ブリッジ プロトコル データ ユニット(BPDU)ガード、BPDU フィルタリング、ループ ガード、ルート ガードがあります。これらの機能の大部分は、グローバルに、または指定インターフェイスに適用できます。
(注) |
このマニュアルでは、IEEE 802.1w および IEEE 802.1s を指す用語として、「スパニングツリー」を使用します。IEEE 802.1D STP について説明している箇所では、802.1D と明記します。 |
スパニングツリー ポートは、エッジ ポート、ネットワーク ポート、または標準ポートとして構成できます。ポートは、ある一時点において、これらのうちいずれか 1 つの状態をとります。デフォルトのスパニング ツリー ポート タイプは「標準」です。インターフェイスが接続されているデバイスのタイプによって、スパニングツリー ポートを上記いずれかのポート タイプに設定できます。
エッジ ポートは、ホストに接続されるポートであり、アクセス ポートとトランク ポートのどちらにもなります。エッジ ポート インターフェイスは、ブロッキング ステートやラーニング ステートを経由することなく、フォワーディング ステートに直接移行します(この直接移行動作は、以前は、シスコ独自の機能 PortFast として設定していました)。
ホストに接続されているインターフェイスは、STP ブリッジ プロトコル データ ユニット(BPDU)を受信してはなりません。
(注) |
別のスイッチに接続されているポートをエッジ ポートとして設定すると、ブリッジング ループが発生する可能性があります。 |
ネットワーク ポートは、スイッチまたはブリッジだけに接続されます。Bridge Assurance がグローバルにイネーブルになっているときに、ネットワーク ポートとしてポートを設定すると、そのポート上で Bridge Assurance がイネーブルになります。
(注) |
ホストまたは他のエッジ デバイスに接続されているポートを誤ってスパニングツリー ネットワーク ポートとして設定すると、それらのポートは自動的にブロッキング ステートに移行します。 |
標準ポートは、ホスト、スイッチ、またはブリッジに接続できます。これらのポートは、標準スパニングツリー ポートとして機能します。
デフォルトのスパニングツリー インターフェイスは標準ポートです。
Bridge Assurance を使用すると、ネットワーク内でブリッジング ループの原因となる問題の発生を防ぐことができます。具体的には、単方向リンク障害や、スパニングツリー アルゴリズムを実行しなくなってもデータ トラフィックの転送を続けているデバイスなどからネットワークを保護できます。
(注) |
Bridge Assurance は、Rapid PVST+ および MST だけでサポートされています。従来の 802.1D スパニングツリーではサポートされていません。 |
Bridge Assurance はデフォルトでイネーブルになっており、グローバル単位でだけディセーブルにできます。また、Bridge Assurance をイネーブルにできるのは、ポイントツーポイント リンクに接続されたスパニングツリー ネットワーク ポートだけです。Bridge Assurance は必ず、リンクの両端でイネーブルにする必要があります。
Bridge Assurance をイネーブルにすると、BPDU が hello タイムごとに、動作中のすべてのネットワーク ポート(代替ポートとバックアップ ポートを含む)に送出されます。所定の期間 BPDU を受信しないポートは、ブロッキング ステートに移行し、ルート ポートの決定に使用されなくなります。BPDU を再度受信するようになると、そのポートで通常のスパニングツリー状態遷移が再開されます。
BPDU ガードをイネーブルにすると、BPDU を受信したときにそのインターフェイスがシャットダウンされます。
BPDU ガードはインターフェイス レベルで設定できます。BPDU ガードをインターフェイス レベルで設定すると、そのポートはポート タイプ設定にかかわらず BPDU を受信するとすぐにシャットダウンされます。
BPDU ガードをグローバル単位で設定すると、動作中のスパニングツリー エッジ ポート上だけで有効となります。正しい設定では、LAN エッジ インターフェイスは BPDU を受信しません。エッジ インターフェイスが BPDU を受信すると、無効な設定(未認証のホストまたはスイッチへの接続など)を知らせるシグナルが送信されます。BPDU ガードをグローバル単位でイネーブルにすると、BPDU を受信したすべてのスパニングツリー エッジ ポートがシャットダウンされます。
(注) |
エッジ トランク インターフェイス レベルでは、無効な VLAN のリモート サイドがアクセス ポートとして設定されている場合、BPDU は無視されます。 |
BPDU ガードは、無効な設定があると確実に応答を返します。無効な設定をした場合は、当該 LAN インターフェイスを手動でサービス状態に戻す必要があるからです。
(注) |
BPDU ガードをグローバル単位でイネーブルにすると、動作中のすべてのスパニングツリー エッジ インターフェイスに適用されます。 |
BPDU フィルタリングを使用すると、スイッチが特定のポートで BPDU を送信または受信するのを禁止できます。
グローバルに設定された BPDU フィルタリングは、動作中のすべてのスパニングツリー エッジ ポートに適用されます。エッジ ポートはホストだけに接続してください。ホストでは通常、BPDU は破棄されます。動作中のスパニングツリー エッジ ポートが BPDU を受信すると、ただちに標準のスパニングツリー ポート タイプに戻り、通常のポート状態遷移が行われます。その場合、当該ポートで BPDU フィルタリングはディセーブルとなり、スパニングツリーによって、同ポートでの BPDU の送信が再開されます。
BPDU フィルタリングは、インターフェイスごとに設定することもできます。BPDU フィルタリングを特定のポートに明示的に設定すると、そのポートは BPDU を送出しなくなり、受信した BPDU をすべてドロップします。特定のインターフェイスを設定することによって、個々のポート上のグローバルな BPDU フィルタリングの設定を実質的に上書きできます。このようにインターフェイスに対して実行された BPDU フィルタリングは、そのインターフェイスがトランキングであるか否かに関係なく、インターフェイス全体に適用されます。
注意 |
BPDU フィルタリングをインターフェイスごとに設定するときは注意が必要です。ホストに接続されていないポートに BPDU フィルタリングを明示的に設定すると、ブリッジング ループに陥る可能性があります。というのは、そうしたポートは受信した BPDU をすべて無視して、フォワーディング ステートに移行するからです。 |
ポートがデフォルトで BPDU フィルタリングに設定されていなければ、エッジ設定によって BPDU フィルタリングが影響を受けることはありません。次の表に、すべての BPDU フィルタリングの組み合わせを示します。
ポート単位の BPDU フィルタリングの設定 |
グローバルな BPDU フィルタリングの設定 |
STP エッジ ポート設定 |
BPDU フィルタリングの状態 |
||
---|---|---|---|---|---|
デフォルト |
イネーブル |
イネーブル |
イネーブル。ポートは最低 10 個の BPDU を送信します。このポートは、BPDU を受信すると、スパニングツリー標準ポート状態に戻り、BPDU フィルタリングはディセーブルになります。 |
||
デフォルト |
イネーブル |
ディセーブル |
ディセーブル |
||
デフォルト |
ディセーブル |
イネーブルまたはディセーブル |
ディセーブル |
||
Disable |
イネーブルまたはディセーブル |
イネーブルまたはディセーブル |
ディセーブル |
||
イネーブル |
イネーブルまたはディセーブル |
イネーブルまたはディセーブル |
|
ループ ガードは、次のような原因によってネットワークでループが発生するのを防ぎます。
STP ループは、冗長なトポロジにおいてブロッキング ポートが誤ってフォワーディング ステートに移行すると発生します。こうした移行は通常、物理的に冗長なトポロジ内のポートの 1 つ(ブロッキング ポートとは限らない)が BPDU の受信を停止すると起こります。
ループ ガードは、デバイスがポイントツーポイント リンクによって接続されているスイッチド ネットワークだけで役立ちます。ポイントツーポイント リンクでは、下位 BPDU を送信するか、リンクをダウンしない限り、代表ブリッジは消えることはありません。
(注) |
ループ ガードは、ネットワークおよび標準のスパニングツリー ポート タイプ上だけでイネーブルにできます。 |
ループ ガードを使用して、ルート ポートまたは代替/バックアップ ループ ポートが BPDU を受信するかどうかを確認できます。BPDU を受信しないポートを検出すると、ループ ガードは、そのポートを不整合状態(ブロッキング ステート)に移行します。このポートは、再度 BPDU の受信を開始するまで、ブロッキング ステートのままです。不整合状態のポートは BPDU を送信しません。このようなポートが BPDU を再度受信すると、ループ ガードはそのループ不整合状態を解除し、STP によってそのポート状態が確定されます。こうしたリカバリは自動的に行われます。
ループ ガードは障害を分離し、STP は障害のあるリンクやブリッジを含まない安定したトポロジに収束できます。ループ ガードをディセーブルにすると、すべてのループ不整合ポートはリスニング ステートに移行します
ループ ガードはポート単位でイネーブルにできます。ループ ガードを特定のポートでイネーブルにすると、そのポートが属するすべてのアクティブ インスタンスまたは VLAN にループ ガードが自動的に適用されます。ループ ガードをディセーブルにすると、指定ポートでディセーブルになります。
特定のポートでルート ガードをイネーブルにすると、そのポートはルート ポートになることが禁じられます。受信した BPDU によって STP コンバージェンスが実行され、指定ポートがルート ポートになると、そのポートはルート不整合(ブロッキング)状態になります。このポートが優位 BPDU の送信を停止すると、ブロッキングが再度解除されます。次に、STP によって、フォワーディング ステートに移行します。このようにポートのリカバリは自動的に行われます。
特定のインターフェイスでルート ガードをイネーブルにすると、そのインターフェイスが属するすべての VLAN にルート ガード機能が適用されます。
ルート ガードを使用すると、ネットワーク内にルート ブリッジを強制的に配置できます。ルート ガードは、ルート ガードがイネーブルにされたポートを指定ポートに選出します。通常、ルート ブリッジのポートはすべて指定ポートとなります(ただし、ルート ブリッジの 2 つ以上のポートが接続されている場合はその限りではありません)。ルート ブリッジは、ルート ガードがイネーブルにされたポートで上位 BPDU を受信すると、そのポートをルート不整合 STP 状態に移行します。このようにして、ルート ガードはルート ブリッジを強制的に配置します。
ルート ガードをグローバルには設定できません。
(注) |
ルート ガードはすべてのスパニングツリー ポート タイプ(標準、エッジ、ネットワーク)でイネーブルにできます。 |
STP 拡張機能を設定する場合は、次の注意事項に従ってください。
スパニングツリー ポート タイプの割り当ては、そのポートが接続されているデバイスのタイプによって次のように決まります。
エッジ:エッジ ポートは、ホストに接続されるポートであり、アクセス ポートとトランク ポートのどちらかです。
ネットワーク:ネットワーク ポートは、スイッチまたはブリッジだけに接続されます。
標準:標準ポートはエッジ ポートでもネットワーク ポートでもない、標準のスパニングツリー ポートです。標準ポートは、任意のタイプのデバイスに接続できます。
ポート タイプは、グローバル単位でもインターフェイス単位でも設定できます。デフォルトのスパニングツリー ポート タイプは「標準」です。
STP が設定されていること。
インターフェイスに接続されているデバイスのタイプに合わせてポートが正しく設定されていること。
次に、ホストに接続されたアクセス ポートおよびトランク ポートをすべて、スパニングツリー エッジ ポートとして設定する例を示します。
switch# configure terminal
switch(config)# spanning-tree port type edge default
次に、スイッチまたはブリッジに接続されたポートをすべて、スパニング ツリー ネットワーク ポートとして設定する例を示します。
switch# configure terminal
switch(config)# spanning-tree port type network default
指定インターフェイスにスパニングツリー エッジ ポートを設定できます。スパニングツリー エッジ ポートとして設定されたインターフェイスは、リンク アップ時に、ブロッキング ステートやラーニング ステートを経由することなく、フォワーディング ステートに直接移行します。
このコマンドには次の 4 つの状態があります。
spanning-tree port type edge:このコマンドはアクセス ポートのエッジ動作を明示的にイネーブルにします。
spanning-tree port type edge trunk:このコマンドはトランク ポートのエッジ動作を明示的にイネーブルにします。
(注) |
spanning-tree port type edge trunk コマンドを入力すると、そのポートは、アクセス モードであってもエッジ ポートとして設定されます。 |
spanning-tree port type normal:このコマンドは、ポートを標準スパニング ツリー ポートとして明示的に設定しますが、フォワーディング ステートへの直接移行はイネーブルにしません。
no spanning-tree port type:このコマンドは、spanning-tree port type edge default コマンドをグローバル コンフィギュレーション モードで定義した場合に、エッジ動作を暗黙的にイネーブルにします。エッジ ポートをグローバルに設定していない場合、no spanning-tree port type コマンドは spanning-tree port type disable コマンドと同じです。
STP が設定されていること。
インターフェイスがホストに接続されていること。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# interfacetypeslot/port |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 | switch(config-if)# spanning-tree port type edge |
指定したアクセス インターフェイスをスパニング エッジ ポートに設定します。エッジ ポートは、リンク アップすると、ブロッキング ステートやラーニング ステートを経由することなく、フォワーディング ステートに直接移行します。デフォルトのスパニングツリー ポート タイプは「標準」です。 |
次に、アクセス インターフェイス Ethernet 1/4 をスパニングツリー エッジ ポートとして設定する例を示します。
switch# configure terminal
switch(config)# interface ethernet 1/4
switch(config-if)# spanning-tree port type edge
指定インターフェイスにスパニングツリー ネットワーク ポートを設定できます。
Bridge Assurance は、スパニングツリー ネットワーク ポート上だけで実行されます。
このコマンドには次の 3 つの状態があります。
spanning-tree port type network:このコマンドは指定したポートを明示的にネットワーク ポートとして設定します。Bridge Assurance をグローバルにイネーブルにすると、スパニングツリー ネットワーク ポート上で Bridge Assurance が自動的に実行されます。
spanning-tree port type normal:このコマンドは、ポートを明示的に標準スパニング ツリー ポートとして設定します。このインターフェイス上では Bridge Assurance は動作しません。
no spanning-tree port type:このコマンドは、spanning-tree port type network default コマンドをグローバル コンフィギュレーション モードで定義した場合に、ポートを暗黙的にスパニング ツリー ネットワーク ポートとしてイネーブルにします。Bridge Assurance をイネーブルにすると、このポート上で Bridge Assurance が自動的に実行されます。
(注) |
ホストに接続されているポートをネットワーク ポートとして設定すると、そのポートは自動的にブロッキング ステートに移行します。 |
STP が設定されていること。
インターフェイスがスイッチまたはルータに接続されていること。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# interface type slot/port |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。インターフェイスには、物理イーサネット ポートを指定できます。 |
ステップ 3 | switch(config-if)# spanning-tree port type network |
指定したインターフェイスをスパニング ネットワーク ポートに設定します。Bridge Assurance をイネーブルにすると、各ネットワーク ポート上で Bridge Assurance が自動的に実行されます。デフォルトのスパニングツリー ポート タイプは「標準」です。 |
次に、Ethernet インターフェイス 1/4 をスパニングツリー ネットワーク ポートとして設定する例を示します。
switch# configure terminal
switch(config)# interface ethernet 1/4
switch(config-if)# spanning-tree port type network
BPDU ガードをデフォルトでグローバルにイネーブルにできます。BPDU ガードがグローバルにイネーブルにされると、システムは、BPDU を受信したエッジ ポートをシャット ダウンします。
(注) |
すべてのエッジ ポートで BPDU ガードをイネーブルにすることを推奨します。 |
STP が設定されていること。
少なくとも一部のスパニングツリー エッジ ポートが設定済みであること。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# spanning-tree port type edge bpduguard default |
すべてのスパニングツリー エッジ ポートで、BPDU ガードを、デフォルトでイネーブルにします。デフォルトでは、グローバルな BPDU ガードはディセーブルです。 |
次に、すべてのスパニングツリー エッジ ポートで BPDU ガードをイネーブルにする例を示します。
switch# configure terminal
switch(config)# spanning-tree port type edge bpduguard default
指定インターフェイスで、BPDU ガードをイネーブルにできます。BPDU ガードがイネーブルにされたポートは、BPDU を受信すると、シャットダウンされます。
BPDU ガードは、指定インターフェイスで次のように設定にできます。
STP が設定されていること。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | switch(config)# interfacetypeslot/port |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
||
ステップ 3 | switch(config-if)# spanning-tree bpduguard {enable | disable} |
指定したスパニングツリー エッジ インターフェイスの BPDU ガードをイネーブルまたはディセーブルにします。デフォルトでは、BPDU ガードは、物理イーサネット インターフェイスではディセーブルです。 |
||
ステップ 4 | switch(config-if)# no spanning-tree bpduguard |
(任意) インターフェイス上で BPDU ガードをディセーブルにします。
|
次に、エッジ ポート Ethernet 1/4 で BPDU ガードを明示的にイネーブルにする例を示します。
switch# configure terminal
switch (config)# interface ethernet 1/4
switch(config-if)# spanning-tree bpduguard enable
switch(config-if)# no spanning-tree bpduguard
スパニングツリー エッジ ポートで、BPDU フィルタリングをデフォルトでグローバルにイネーブルにできます。
BPDU フィルタリングがイネーブルにされたエッジ ポートは、BPDU を受信すると、エッジ ポートとしての動作ステータスを失い、通常の STP 状態遷移を再開します。ただし、このポートは、エッジ ポートとしての設定は保持したままです。
注意 |
このコマンドを使用するときには注意してください。誤って使用すると、ブリッジング ループが発生するおそれがあります。 |
(注) |
グローバルにイネーブルにされた BPDU フィルタリングは、動作中のエッジ ポートだけに適用されます。ポートは数個の BPDU をリンクアップ時に送出してから、実際に、発信 BPDU のフィルタリングを開始します。エッジ ポートは、BPDU を受信すると、動作中のエッジ ポート ステータスを失い、BPDU フィルタリングはディセーブルになります。 |
STP が設定されていること。
少なくとも一部のスパニングツリー エッジ ポートが設定済みであること。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# spanning-tree port type edge bpdufilter default |
すべてのスパニングツリー エッジ ポートで、BPDU フィルタリングを、デフォルトでイネーブルにします。デフォルトでは、グローバルな BPDU フィルタリングはディセーブルです。 |
次に、すべての動作中のスパニングツリー エッジ ポートで BPDU フィルタリングをイネーブルにする例を示します。
switch# configure terminal
switch(config)# spanning-tree port type edge bpdufilter default
指定インターフェイスに BPDU フィルタリングを適用できます。BPDU フィルタリングを特定のインターフェイス上でイネーブルにすると、そのインターフェイスは BPDU を送信しなくなり、受信した BPDU をすべてドロップするようになります。この BPDU フィルタリング機能は、トランキング インターフェイスであるかどうかに関係なく、すべてのインターフェイスに適用されます。
注意 |
指定インターフェイスで spanning-tree bpdufilter enable コマンドを入力するときは注意してください。ホストに接続されていないポート上で BPDU フィルタリングを明示的に設定した場合、ポートは受信したすべての BPDU を無視してフォワーディング ステートになるので、ブリッジング ループが発生する可能性があります。 |
このコマンドを入力すると、指定インターフェイスのポート設定が上書きされます。
このコマンドには次の 3 つの状態があります。
spanning-tree bpdufilter enable:インターフェイス上で BPDU フィルタリングが無条件にイネーブルになります。
spanning-tree bpdufilter disable:インターフェイス上で BPDU フィルタリングが無条件にディセーブルになります。
no spanning-tree bpdufilter:動作中のエッジ ポート インターフェイスに spanning-tree port type edge bpdufilter default コマンドが設定されている場合、そのインターフェイスで BPDU フィルタリングをイネーブルにします。
(注) |
特定のポートだけで BPDU フィルタリングをイネーブルにすると、そのポートでの BPDU の送受信が禁止されます。 |
STP が設定されていること。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | switch(config)# interfacetypeslot/port |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
||
ステップ 3 | switch(config-if)# spanning-tree bpdufilter {enable | disable} |
指定したスパニングツリー エッジ インターフェイスの BPDU フィルタリングをイネーブルまたはディセーブルにします。デフォルトでは、BPDU フィルタリングはディセーブルです。 |
||
ステップ 4 | switch(config-if)# no spanning-tree bpdufilter |
(任意) インターフェイス上で BPDU フィルタリングをディセーブルにします。
|
次に、スパニング ツリー エッジ ポート Ethernet 1/4 で BPDU フィルタリングを明示的にイネーブルにする例を示します。
switch# configure terminal
switch (config)# interface ethernet 1/4
switch(config-if)# spanning-tree bpdufilter enable
ループ ガードは、デフォルトの設定により、すべてのポイントツーポイント スパニングツリーの標準およびネットワーク ポートで、グローバルにイネーブルにできます。ループ ガードは、エッジ ポートでは動作しません。
ループ ガードを使用すると、ブリッジ ネットワークのセキュリティを高めることができます。ループ ガードは、単方向リンクを引き起こす可能性のある障害が原因で、代替ポートまたはルート ポートが指定ポートになるのを防ぎます。
(注) |
指定インターフェイスでループ ガード コマンドを入力すると、グローバルなループ ガード コマンドが上書きされます。 |
STP が設定されていること。
スパニングツリー標準ポートが存在し、少なくとも一部のネットワーク ポートが設定済みであること。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | switch(config)# spanning-tree loopguard default |
スパニングツリーのすべての標準およびネットワーク ポートで、ループ ガードを、デフォルトでイネーブルにします。デフォルトでは、グローバルなループ ガードはディセーブルです。 |
次に、スパニングツリーのすべての標準およびネットワーク ポートでループ ガードをイネーブルにする例を示します。
switch# configure terminal
switch(config)# spanning-tree loopguard default
ループ ガードまたはルート ガードは、指定インターフェイスでイネーブルにできます。
特定のポートでルート ガードをイネーブルにすると、そのポートはルート ポートになることを禁止されます。ループ ガードは、単方向リンクを発生させる可能性のある障害が原因で代替ポートまたはルート ポートが指定ポートになるのを防ぎます。
特定のインターフェイスでループ ガードおよびルート ガードの両機能をイネーブルにすると、そのインターフェイスが属するすべての VLAN に両機能が適用されます。
(注) |
指定インターフェイスでループ ガード コマンドを入力すると、グローバルなループ ガード コマンドが上書きされます。 |
STP が設定されていること。
ループ ガードが、スパニングツリーの標準またはネットワーク ポート上で設定されていること。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | switch# configure terminal | グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | switch(config)# interfacetypeslot/port |
設定するインターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
||
ステップ 3 | switch(config-if)# spanning-tree guard {loop | root | none} |
ループ ガードまたはルート ガードを、指定インターフェイスでイネーブルまたはディセーブルにします。ルート ガードはデフォルトでディセーブル、ループ ガードも指定ポートでディセーブルになります。
|
次に、Ethernet ポート 1/4 で、ルート ガードをイネーブルにする例を示します。
switch# configure terminal
switch (config)# interface ethernet 1/4
switch(config-if)# spanning-tree guard root
STP 拡張機能の設定情報を表示するには、次のコマンドを使用します。
コマンド |
目的 |
---|---|
show running-config spanning-tree [all] | スイッチ上でスパニングツリーの最新ステータスを表示します。 |
show spanning-tree [options] | 最新のスパニングツリー設定について、指定した詳細情報を表示します。 |
この項では、Cisco Nexus 3000 シリーズ スイッチのログにおける FWM-2-STM_LOOP_DETECT エラー メッセージに対応する方法について説明します。
Cisco Nexus 3000 シリーズ スイッチが次のメッセージを表示した場合、スイッチはこれら 2 つのインターフェイスの同じ送信元 MAC アドレスでフレームを受信し、スイッチはこれらのインターフェイス上で同じ MAC アドレスを超高速で学習することを示します。スイッチはループとしてこの状態を検出します。スイッチはコントロール プレーンを保護するため、MAC アドレスの学習を無効にします。これは、ループが 1 つの VLAN のみで発生している場合であっても、すべての VLAN に実装されます。
2016 Apr 11 18:00:18 N3k-4-3229 %FWM-2-STM_LOOP_DETECT: Loops detected in the network for mac 0000.0602.0602 among ports Eth1/48 and Eth1/50/3 on vlan 4 - Disabling dynamic learning notifications for a period between 120 and 240 seconds on vlan 4
ループの検出
Forwarding Manager(FWM)には、MAC アドレスが移動する回数をカウントし、MAC アドレスの移動回数に基づいて重み付けするメカニズムがあります。移動した MAC アドレス の総数(スイッチ全体にわたるすべての VLAN、MAC、インターフェイス)を決定して %FWM-2-STM_LOOP_DETECT 状態を宣言し、ループ状態で FMW を保護するために学習を無効にします。
(注) |
MAC 学習はシステム単位ではなく、VLAN 単位で無効にされます。 |
MAC 移動通知のロジックに注意する必要があります。MAC 移動に対する MAC アドレス テーブルの通知を有効にすると、MAC 移動を通知することができます。これにより通知ログがコンソールに追加されますが、アクションは実行されません。10 秒の経過スキャン期間内に、特定の MAC アドレスが VLAN の特定のポートのペアを 3 回往復して移動すると、移動が宣言されます。
(注) |
MAC アドレスは 2 つのポートそれぞれにおいて 50 回検出される必要があります。 |
どの MAC アドレスが移動したかわかるように、スイッチの MAC 移動通知を有効にすることができます。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# conf t | コンフィギュレーション モードを開始します。 |
ステップ 2 | switch# mac address-table notification mac-move | スイッチで MAC 通知を有効にします。 |
MAC 移動通知に関する Syslog メッセージを生成するには、MAC 移動通知を有効にするだけでは不十分な場合があります。syslog メッセージの生成を確認するには、前のコマンドに加えて、これらのコマンド mac address-table notification mac-move を入力します。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | conf t |
コンフィギュレーション モードを開始します。 |
ステップ 2 | logging level spanning-tree 6 |
すべてのスパニング ツリー イベントの、レベル 6 から最大で最も重大度の高いイベントまでのロギングを有効にします。 |
ステップ 3 | logging level fwm 6 |
すべての FWM イベントの、レベル 6 から最大で最も重大度の高いイベントまでのロギングを有効にします。 |
ステップ 4 | logging monitor 6 |
レベル 6 の重大度とそれより上位の重大度に基づいて、デバイスがメッセージをモニタに記録できるようにします。 |
switch# show spanning-tree switch# show spanning-tree vlan <id> switch# show spanning-tree internal interaction
# show mac address-table notification mac-move MAC Move Notify Triggers: 1206 Number of MAC Addresses added: 944088 Number of MAC Addresses moved: 265 Number of MAC Addresses removed: 943920
2016 Jun 12 16:05:31.564 switch %FWM-6-MAC_MOVE_NOTIFICATION: Host 0000.0000.fe00 in vlan 85 is flapping between port Eth104/1/8 and port Eth104/1/9
正しい STP コンバージェンスを確認し、トポロジ内のすべてのスイッチで STP ポート ステートをチェックします。競合または不正なポート ステートがないことを確認します。
物理的に移動するデータ フレームのソースが特定された場合は、急速かつ継続的な移動を停止するためにソースを制御します。
デフォルトでは、動的な学習が 180 秒後に再び有効になります。その時点で、すべての STP 競合または不整合は解決されます。そうでなければ、動的な学習が再び無効になります。