◆ STPの拡張技術 - ループガードとは
ループガードは、単一方向リンク障害(物理的な障害)やSTPプロセス障害(ソフトウェア障害)により
BPDUが受信されなくなった場合に、代替ポートまたはルートポートが指定ポートになることを防ぐ機能。
ループガードにより、冗長トポロジーの構成でブロックポート(BP)が誤って指定ポート(DP)になり
フォワーディング状態になることを防ぐことができるので、結果としてL2ループを防ぐことができます。
左下図は、SWBとSWC間で単一方向リンク障害が発生して、SWBからのBPDUを受信できない状態です。
その結果、右下図のとおりSWCは誤って代替ポートが指定ポートになって、この冗長トポロジーにおいて
ブロッキングポートがなくなったことからL2ループが発生しています。
ループガードを有効化することで、BPDUを本来受信すべき「代替ポートまたはルートポート」でBPDUを
受信できない場合、そのポートは loop-inconsistent(ループ不整合)状態になって、ブロックされます。
左下図は、SWBとSWC間で単一方向リンク障害が発生して、SWBからのBPDUを受信できない状態です。
ループガードを適用している右下図では、BPDUを受信できなくなったポートで Listening ⇒ Learning ⇒
Forwarding 状態に遷移していくのではなく、loop-inconsistent 状態に移行してポートをブロックします。
◆ STPの拡張技術 - ループガードの設定
ループガードは、グローバルでの有効化とポート単位での有効化が可能ですが、一般的にはグローバル単位で
有効化させます。また、この設定はスイッチLANネットワーク全体に設定した場合に最も効果がある設定です。
ポートが loop-inconsistent 状態に移行しても、そのポートで再びBPDUが受信ができるようになると自動的に
復旧してSTPの正常なステータスに戻ります。
◆ ループガードの設定(グローバルでの有効化)
(config)# spanning-tree loopguard default
◆ ループガードの設定(ポート単位での有効化)
(config-if)# spanning-tree guard loop
※ ループガードとルートガードの設定は排他的な関係にあり、両方の機能を同時にイネーブルにできません。
ポートがloop-inconsistent状態であるかは show spanning-tree inconsistentports コマンドで確認できます。
◆ ループガードによってブロッキングされた時に出力されるログメッセージ例
%SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/1 on VLAN0010 |
◆ ループガードによるブロッキングが解除された時に出力されるログメッセージ例
%SPANTREE-2-LOOPGUARD_UNBLOCK: Loop guard unblocking port FastEthernet0/1 on VLAN0010 |
|