Cisco Nexus - STP Extensions Command



 ◆ STP - ポートタイプ

 NX-OSでは、STPポートタイプとして 「
エッジポート」「ネットワークポート」「標準ポート」 の3つを
 定義しています。NX-OSのスパニングツリーポートはある一時点で、これらいずれか1つの状態になります。

STPポートタイプ 説明
エッジポート
( edge )


 ホストやルータなどが接続するポート。エッジポートはBlockingやLearningステートを経由することなく
 直接Forwardingステートへ移行。Forwardingへの直接移行は独自機能のPortFastとして設定していた。

ネットワークポート
( network )


 スイッチだけに接続されるポート。Bridge Assurance がグローバルにイネーブルになっている間に
 ポートを"
network"として設定するとそのポートで Bridge Assurance がイネーブルになる。Nexus同士
 を接続するポートは、STPポートタイプを「ネットワークポート」として設定することが推奨。

標準ポート
( normal )


 ホスト、スイッチに接続されるポート。標準スパニングツリーポートとして機能。デフォルトの設定。

 
NexusスイッチがCatalystスイッチに接続する場合はSTPポートタイプを「標準ポート」として設定する。


    


 ※ 上図の左下のNexusスイッチは当然ながらFEXではありません。FEXである場合、そもそもSTPの概念も適用されません。


 ◆ STP - Bridge Assurance

 Bridge Assuranceを使用することでL2ループの原因となる問題の発生を防止できます。具体的には、単方向
 リンク障害やスパニングツリーアルゴリズムを実行しなくなった場合でもデータのトラフィック転送を続けて
 いるデバイスなどからネットワークを保護できます。この機能はRapid PVST+とMSTだけでサポートします。

 このBridge Assuranceはデフォルトで有効化されている。なおBridge Assuranceをイネーブルにできるのは、
 ポイントツーポイントリンクに接続されたSTPネットワークポートだけです。そしてBridge Assuranceは必ず
 リンクの両端でイネーブルにする必要があります。Bridge Assuranceがイネーブル状態であると、すべての
 networkポート(port type network)からBDPUがhellotタイムごとに送出されることになる。これがポイント。




 ◆ STP - ポートタイプの設定

 
◇ エッジポートの設定
 
@ インターフェースの指定
 (config)# interface ethernet interface

 
A エッジポートの設定
 (config-if)# spanning-tree port type edge


 
Nexus(config)# interface ethernet 1/1
 Nexus(config-if)# spanning-tree port type edge

 ※ トランクポートでエッジポート(portfast)を有効化したい場合、spanning-tree port type edge trunk と設定(非推奨)。


 ◇ ネットワークポートの設定 ( Bridge Assuranceが自動的に実行される )
 
@ インターフェースの指定
 (config)# interface ethernet interface

 
A ネットワークポートの設定
 (config-if)# spanning-tree port type network


 
Nexus(config)# interface ethernet 1/5
 Nexus(config-if)# spanning-tree port type network



 ◇ 標準ポートの設定 ( デフォルトの設定 )
 
@ インターフェースの指定
 (config)# interface ethernet interface

 
A ネットワークポートの設定
 (config-if)# spanning-tree port type normal


 
Nexus(config)# interface ethernet 1/10
 Nexus(config-if)# spanning-tree port type normal

 ※ これらのコマンドはグローバルコンフィグモードで設定しポート全体に適用できますが、一般的にはポートごとに設定します。
 ⇒ switch(config)# spanning-tree port type edge default (全てのポートがエッジポートになる設定)
 ⇒ switch(config)# spanning-tree port type network default  (全てのポートがネットワークポートになる設定)


 以下のBPDUガード、BPDUフィルタリング、ループガード、ルートガードは
デフォルトはディセーブルです。

 ◆ STP - ループ回避の設定 ( BPDUガード )

 BPDUガードが有効化されたポートでBPDUを受信するとそのポートをシャットダウンします。以上のことから
 全てのエッジポートでBPDUガードをイネーブルにすることが推奨とされています。全てのSTPのエッジポート
 でBPDUガードをイネーブルにするためには、グローバルコンフィグモードで以下のコマンドを設定します。

 
◇ BPDUガード ( グローバルなイネーブル化 )
 (config)# spanning-tree port type edge bpduguard default

 BPDUガードは指定したインターフェースで有効化することもできます。その場合のコマンドは以下です。

 
◇ BPDUガード ( 指定インターフェースでのイネーブル化 )
 (config-if)# spanning-tree bpduguard enable




 ◆ STP - ループ回避の設定 ( BPDUフィルタリング )

 BPDUフィルタリングがイネーブルにされたエッジポートはBPDUを受信するとエッジポートとしての動作の
 ステータスを失い、通常のSTP状態遷移を再開する。ただし、設定自体はエッジポートとしての設定を保持。
 グローバルにイネーブルにした場合、動作中のエッジポートだけに適用される。コマンドは以下の通りです。

 
◇ BPDUフィルタリング ( グローバルなイネーブル化 )
 (config)# spanning-tree port type edge bpdufilter default

 BPDUフィルタリングは指定したI/Fで有効化できます。指定した該当ポートからBPDUは送受信されません。

 
◇ BPDUフィルタリング ( 指定インターフェースでのイネーブル化 )
 (config-if)# spanning-tree bpdufilter enable



 ◆ STP - ループ回避の設定 ( ループガード )

 ループガードは、標準ポート(port type normal)と、ネットワークポート(port type network)でグローバル
 に有効化できます。ループ ガードは、単方向リンクを引き起こす可能性のある障害が原因で代替ポートまたは
 ルートポートが指定ポートになるのを防ぐことのできる機能です。

 
◇ ループガード ( グローバルなイネーブル化 )
 (config)# spanning-tree loopguard default

 ループガードは指定したI/Fで有効化できます。I/Fで指定した場合、グローバルの設定が上書きされます。

 
◇ ループガード ( 指定インターフェースでのイネーブル化 )
 (config-if)# spanning-tree guard loop



 ◆ STP - ループ回避の設定 ( ルートガード )

 特定のポートでルートガードをイネーブルにすると、有効化されたそのポートはルートポートになることが
 禁止されます。つまり、Root Primaryのスイッチポートに設定しておくと効果的な設定です。

 
◇ ルートガード ( 指定インターフェースでのイネーブル化 )
 (config-if)# spanning-tree guard root



 4つのループ回避の手法を紹介しましたが、実際によく使用されるのは「BPDUガードとルートガード」では
 ないでしょうか。BPDUフィルタリングはNW構成によって実装方式を誤ると、逆にループが発生する可能性も
 あります。ループガードはBridge Assuranceが有効である場合はそもそも必要のない設定ではないでしょうか。


     


 ※ ただし、NexusとCatalystスイッチ間で接続するポートでCatalystスイッチ側にループガードを入れるのは意味があります。



Cisco Nexus - コンフィグ設定

ネットワークエンジニアとして

Copyright (C) 2002-2019 ネットワークエンジニアとして All Rights Reserved.