CCNAでは「STP=ループ防止」で止まっていましたが、CCNPでは選出プロセスまで問われます。仕組みを追ってみます。
なぜループが起きるのか
スイッチを2台以上、複数のケーブルで冗長につなぐと、ブロードキャストフレームがぐるぐる回り続ける「ブロードキャストストーム」が発生します。L2にはTTLのような寿命がないので、一度回り始めると止まりません。STP(Spanning Tree Protocol)は、物理的にはループしていても、論理的に一部のポートをブロックして木構造にすることでこれを防ぎます。
ルートブリッジの選出
まずネットワークの中心となる「ルートブリッジ」を1台選びます。基準はブリッジID(プライオリティ+MACアドレス)が一番小さいスイッチです。プライオリティはデフォルト32768で、同じなら小さいMACが勝ちます。
意図した機器をルートにするには、プライオリティを明示的に下げます。
spanning-tree vlan 10 priority 4096
コアスイッチを確実にルートにするのは設計の基本で、放置すると古い末端スイッチがルートになってトラフィックが変な経路を通る、という事故が起きます。
ポートの役割
ルートブリッジが決まると、各スイッチはポートの役割を決めます。
- ルートポート … ルートブリッジへの一番コストが低い出口(各非ルートスイッチに1つ)
- 指定ポート … 各セグメントで、ルートに近い側のポート
- 非指定(ブロッキング)ポート … ループを防ぐため通信を止めるポート
確認コマンド
show spanning-tree vlan 10
でルートブリッジのIDや、各ポートの役割(Root/Desg/Altn)と状態を確認します。
収束を速くする
従来STPは切り替えに30秒ほどかかります。実務ではRapid PVST+(RSTP)を使い、数秒で収束させます。またPCをつなぐアクセスポートには portfast を入れて、リンクアップ直後に通信できるようにします。「ループ防止」の裏にある選出ロジックまで理解すると、設計の意図が読めるようになりました。