スイッチ3台をあえてループ状につないだら、STPはどのスイッチをルートブリッジに選び、どのポートをブロッキングにするでしょうか?
座学で「ブリッジIDが最小のスイッチがルートブリッジになる」「余ったポートはブロッキングになる」と学びました。今回は実際にループを作り、STPが自動的にどう振る舞うかをshowコマンドで確認します。
この演習でできるようになること
- スイッチ3台をループ状に接続し、STPが自動的に動作する様子を観察できるようになる
show spanning-treeでルートブリッジやポートの役割(Root/Designated/Blocking)を読み取れるようになる- ブリッジプライオリティを変更してルートブリッジを意図的に切り替えられるようになる
使用トポロジ
Switch 2960を3台(SW1・SW2・SW3)用意し、SW1-SW2、SW2-SW3、SW3-SW1をそれぞれケーブルで接続してループを作ります。PCは動作確認用にSW1へ1台だけ接続します。
準備
- Switch 2960を3台(SW1・SW2・SW3)、PC-PTを1台配置する
- SW1のFa0/1とSW2のFa0/1をクロスケーブルで接続する(Packet Tracerの自動選択機能を使う場合はストレート表示のままでも自動判定される)
- SW2のFa0/2とSW3のFa0/1をクロスケーブルで接続する
- SW3のFa0/2とSW1のFa0/2をクロスケーブルで接続する
- PC0をSW1のFa0/3にストレートケーブルで接続し、任意のIPアドレス(例:192.168.1.10/24)を設定する
- 3台のスイッチとも初期状態(VLAN1のみ、STPはデフォルトで有効)のままにしておく
手順
- SW1で現在のSTPの状態を確認する
SW1# show spanning-tree
出力のRoot ID欄に表示されているブリッジIDが、どのスイッチのMACアドレスと一致するかを確認し、ルートブリッジがどのスイッチになっているかを特定します(デフォルトはプライオリティ32768同士なので、MACアドレスが最小のスイッチが選ばれます)。
- SW2、SW3でも同様に確認する
SW2# show spanning-tree
SW3# show spanning-tree
ルートブリッジ以外の2台では、Roleの列にRoot(ルートポート)・Desg(指定ポート)・Altn(非指定/ブロッキング)のいずれかが表示されます。3台の中でどこか1本のリンクの片側がAltn(ブロッキング相当)になっているはずです。
- ルートブリッジを意図的にSW1へ切り替えるため、プライオリティを変更する
SW1(config)# spanning-tree vlan 1 priority 4096
- 再度3台で
show spanning-treeを確認し、SW1がルートブリッジに変わったこと、ブロッキングになるポートの位置が変化したかを確認する
SW1# show spanning-tree vlan 1
- PC0からのpingを使い、ループ構成でも通信自体は正常に行えることを確認する(ブロッキングポートがあるおかげでループにならず、かつ全PC間の到達性は保たれていることを体感します)
C:\> ping 192.168.1.1
確認
SW1# show spanning-tree vlan 1
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 4096
Address 000a.f34a.1111
This bridge is the root
Interface Role Sts Cost Prio.Nbr Type
-------------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p
Fa0/3 Desg FWD 19 128.3 P2p
This bridge is the root と表示され、すべてのポートがDesg(指定ポート)・FWD(フォワーディング)になっていれば、SW1がルートブリッジとして正しく機能しています。他の2台のいずれかで、1ポートだけAltnかつBLK表示になっていることも確認してください。
合格チェックリスト
show spanning-treeで3台のうちどれがルートブリッジになっているかを特定できた- ループ上のどこか1箇所のポートが非指定(ブロッキング相当)になっている
- プライオリティ変更後、
show spanning-treeでルートブリッジがSW1に切り替わったことを確認した - ブロッキングポートが存在するにもかかわらず、PC0から他のスイッチ配下への通信は正常に行える
- SW1の全ポートが
Desg(指定ポート)として表示されている
つまずきポイント
- ループ配線を怖がって省略してしまう:3本のリンクをすべて接続しないと、そもそもSTPのブロッキング動作を確認できません。「ループを作ってあえて壊してみる」のがこの演習の目的です
- プライオリティ変更後にすぐ確認してしまう:STPの再計算には数秒〜数十秒かかることがあります。すぐに
show spanning-treeを打つと変更前の情報が残って見えることがあるため、少し待ってから確認しましょう spanning-tree vlan 1 priorityの数値の意味を誤解する:数値が小さいほど優先されてルートブリッジになりやすくなります。大きくすればなりやすいと勘違いしないよう注意してください
3台のスイッチをループ状に接続してSTPを有効にした状態で、show spanning-treeを確認すると、あるポートがAltnかつBLKと表示されていました。これは異常でしょうか?
答えを見る
異常ではありません。これはSTPが正常に動作している証拠です。ループを構成する冗長リンクのうち、非指定ポートとなった側を意図的にブロッキング状態にすることで、ブロードキャストストームなどのループ障害を未然に防いでいます。
ループを実際に作って、STPが勝手にどこかのポートをブロックしてくれる様子を見ると、「なぜSTPが必要か」が机上の空論じゃなくなるでしょ? プライオリティを変えるだけでルートブリッジが切り替わる感覚もぜひ体で覚えておいてね。次はEtherChannel、複数リンクを束ねてSTPのブロックを回避する技を見ていくよ。