ルートガード・ループガードの仕様・設定方法を解説【CCNA】

本記事ではスパニングツリープロトコル(STP)の拡張機能であるルートガード・ループガードについて解説いたします。

ルートガード(Root Guard)について

ルートガード(Root Guard)とは新たに導入されたL2機器がルートブリッジになる事を防止する機能です。


ルートガードが設定されているポートで優先度の高いBPDU(プライオリティ値が小さいBPDU)を受信するとポートエラー(root-inconsistent 状態)へ遷移させる事ができます。
root-inconsistent状態へ遷移させ通信出来なくさせる事により、意図しないL2機器がルートブリッジになる事を防止する事が可能です。

ポイント
「root-inconsistent 状態」は一時的に通信不可状態にするだけであり、優先度の高いBPDUを受信しなくなると自動的に回復してポートエラー状態は解消されます。
※ルートガードは「指定ポート」を強制する機能です。



具体的には以下の図にて解説いたします!
以下の図の通り、例えばルードガードが設定されていないポートに優先度の高い機器(例えば私物のL2SW)が接続された場合、ルートブリッジが切り替わっていまう可能性がございます。
ルートブリッジの切り替わりにより、L2ネットワークが不安定になります。
ルートガードの必要性

以下の図の通り、ルードガードを実装していれば、例え優先度の高い機器が接続されてもルートスイッチになる事はありません。
ネットワークのトラブルを未然に防ぐ事が可能です!
ルートガードの仕様

【補足】BPDUガードとルートガードの相違点

BPDUガードとルートガードは非常に類義点が多いので、大きな違いを紹介いたします。
・「BPDUガード」はプライオリティ値に関わらずBPDUを受信するとポートエラー状態(err-disable)へ遷移します。
・「ルートガード」はプライオリティ値が小さいBPDU(ルートブリッジになろうとしているBPDU)を受信するとポートエラー状態(root-inconsistent)へ遷移します。つまり、プライオリティ値が大きいBPDUの受信は許可するという事です。

また、エラー状態(err-disable vs root-inconsistent)も異なりますので、エラー時の挙動や復旧方法も異なる点は理解しておきましょう!

ループガード(Loop Guard)について

ループガード(Loop Guard)は片リンク障害や誤接続等によりブロッキングポートでBPDUを受信しなくなった際にL2ループの発生を防止する機能です。


ループガードが設定されているポートでBPDUを受信しなかった場合、ポートエラー(loop-inconsistent 状態)へ遷移させL2ループの発生を防止します。

ポイント
「loop-inconsistent 状態」は一時的に通信不可状態にするだけであり、再度BPDUを受信した場合自動的に回復してポートエラー状態は解消されます。
また、ループガードはBPDUが受信出来ない時にルートポート・代替ポートが指定ポートへ遷移する事を防止する機能である点を理解しておきましょう!



具体的には以下の図にて解説いたします!
以下の図の通り、例えば光ケーブルの片リンク障害によりSW3がSW2経由でのBPDUが受信出来なかった場合、SW3は障害が発生したと認識し「ブロッキングポート」と「指定ポート」へ遷移してしまいます。
結果、以下の図のようにL2ループが発生してしまいます。
ループガードの必要性

ループガードを設定すれば、以下の図のように上記のような問題を解消する事が可能です!
ループガードの仕様

ルートガードとループガードの同時設定(併用設定)について


ルートガードとループガードの機能は排他的な関係にあり、双方の機能を同時に有効化する事はできません。
なぜなら、ルートガード・ループガードは以下のような排他的な機能である為です。
・ルートガードは「指定ポートを強制する機能」
・ループガードは「ルートポート・代替ポートが指定ポートへ遷移する事を防止する機能」


ルートガードとループガードの同時設定は出来ない点は理解しておきましょう!

ルートガードとループガード 設定方法

ではルートガード・ループガードの設定方法について紹介します。

ルートガードの設定(spanning-tree guard root)

ルートガードを有効化する場合は「spanning-tree guard rootコマンド」で設定する事が可能です。

【設定コマンド】
SW(config)# interface [インターフェース名&番号]
SW(config-if)# spanning-tree guard root

以下の記事にて、ルートガードに関する動作検証の結果を纏めております。ご興味のある方はぜひご覧ください。

▼ あなたにオススメな記事 ▼

>>参考記事: 【検証結果】ルートガードの設定変更や正常性確認方法を纏めました!

ループガードの設定(spanning-tree loopguard)

ループガードの有効化設定は以下の2パターンございます。

・L2機器全体でループガードを有効化する場合(グローバルで有効化)

【設定コマンド】
SW(config)# spanning-tree loopguard default

・各ポート単位でループガードを有効化する場合(各ポートで有効化)

【設定コマンド】
SW(config)# interface [インターフェース名&番号]
SW(config-if)# spanning-tree guard loop

以下の記事にて、ループガードに関する動作検証の結果を纏めております。ご興味のある方はぜひご覧ください。

▼ あなたにオススメな記事 ▼

>>参考記事: 【検証結果】ループガードの設定変更や正常性確認方法を纏めました!

ルートガードとループガード まとめ

最後までお読み頂きましてありがとうございます。

本記事で内容を纏めましたので再度復習してみて下さいね!

▼ルートガード・ループガードの基本▼

  • ルートガードは新たに導入されたL2機器がルートブリッジになる事を防止する機能
  • ループガードは片リンク障害等によりブロッキングポートでBPDUを受信しなくなった場合にL2ループの発生を防止する機能
  • ルートガード・ループガードの同時設定は不可



以下の記事にてSTPに関する記事を纏めておりますので、STPに関する幅広い知識を身に付けたい方はご覧下さい!

▼ あなたにオススメな記事 ▼

>>参考記事: STPの基本〜応用まで!STPの仕様と検証結果の記事をまとめました!