このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
ネットワーク構成
ネットワークの構成は、下図のとおりです。

演習ファイルのダウンロード
ネットワークの構成を Packet Tracer で一から設定していくのは大変かと思います。「ダウンロード」から演習で使用するファイルのダウンロードができます。ファイルは、McAfeeインターネットセキュリティでウイルスチェックをしておりますが、ダウンロードは自己責任でお願いいたします。
スパニングツリー設定①(ルートブリッジの選択)
スパニングツリーを、簡単に体験するために、Catalyst2960スイッチ2台を用意して、ネットワークを構築していきます。Catalystスイッチでは、デフォルトでPVST+が有効になっています。Catalyst2960スイッチでは、PVST+を無効にすることができないため、PVST+を用いたスイッチドネットワークを構築していきます。
まずは、「show interfaces vlan1」と入力してスイッチのMACアドレスを調べておきます。
Switch#show interfaces vlan1
●1つ目のスイッチの出力
Switch_A#show interfaces vlan1
Vlan1 is administratively down, line protocol is down
Hardware is CPU Interface, address is 0001.42ed.8db5 (bia 0001.42ed.8db5)
MTU 1500 bytes, BW 100000 Kbit, DLY 1000000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
ARP type: ARPA, ARP Timeout 04:00:00
Last input 21:40:21, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
1682 packets input, 530955 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicast)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
563859 packets output, 0 bytes, 0 underruns
0 output errors, 23 interface resets
0 output buffer failures, 0 output buffers swapped out
●2つ目のスイッチの出力
Switch_B#show interfaces vlan1
Vlan1 is administratively down, line protocol is down
Hardware is CPU Interface, address is 0001.64b7.6661 (bia 0001.64b7.6661)
MTU 1500 bytes, BW 100000 Kbit, DLY 1000000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
ARP type: ARPA, ARP Timeout 04:00:00
Last input 21:40:21, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
1682 packets input, 530955 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicast)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
563859 packets output, 0 bytes, 0 underruns
0 output errors, 23 interface resets
0 output buffer failures, 0 output buffers swapped out
MACアドレスが、小さい方をSwitch_Aにします。
Switch_A ・・・ 0006.2afb.9f80
Switch_B ・・・ 0008.214f.7580

非常にシンプルな構成になっていますが、一応、ループ構成になっています。
スイッチの設定は、特に必要ありません。RSTP+が、デフォルトで有効になっています。
ブロッキングポートは、どのスイッチのどのポートになるのでしょうか?
ルートブリッジの決定と各種ポートの役割の選出は、以下のように決まります。
STPでは、以下の選出が行われます。
- ネットワークごとに1つのルートブリッジ
- ルートブリッジ以外のスイッチごとに1つのルートポート
- セグメントごとに1つの代表(指定)ポート
- ブロックするポートの決定
最終的に、ルートポートにも代表ポートにも、ならなかったポートがブロックされるポートになります。
ルートブリッジの選出
さて、ルートブリッジは、Switch_A、Switch_Bのどちらが選出されるでしょうか?
ルートブリッジは、最も小さいBIDを持つスイッチが、ルートブリッジに選出されます。

プライオリティは、デフォルトで、「32768」です。特に、何も設定していませんから、両スイッチとも、プライオリティは、「32768」になっています。
PVST+におけるBIDは、以下のようになります。
BID = プライオリティ + VLAN ID + MACアドレス
ということは、特に何も設定していませんから、スイッチ本体のMACアドレスの値によって決まることになります。
MACアドレスの値は、Switch_Aの方が、小さいので、最小のBIDを持つスイッチは、Switch_Aということになります。
Switch_Aがルートブリッジに選出されるはずです。
指定ポートの選出に関しては、
ルートブリッジ上のポートは、全て指定ポートになります。
ルートポートの選出に関しては、
ルートブリッジまでの最小のコストを持つポートが選出されるのですが、ルートブリッジまでのコストが同じです。
ルートブリッジまでのコストが同じ場合は、以下のルールで決まります。
・①送信元のBIDが小さい方のブリッジのポートが選ばれる。
両方のポートが同じスイッチに接続されているため、送信元BIDが等しくなり、引き分けとなります。
それでも、決まらない場合、
・②送信側のポートの優先度が小さいポートが選ばれる。
デフォルトのポートのプライオリティは、128です。両方のポートのプライオリティが等しくなり、これも引き分けとなります。
それでも決まらない場合、
・③ポートIDが小さいポートが選ばれる。
ということで、Switch_Bの「f0/1」がルートポートに選ばれることになります。
最終的に、ルートブリッジ、ルートポート、指定ポート、ブロッキングポートは、下の図のようになります。

スイッチのポートを確認してみるとSwitch_Bの「f0/2」のリンクがオレンジ色になっています。実機の場合では、下図のようにLEDがオレンジ色となります。このポートがブロッキングポートとなります。

動作の検証
それでは、理論どおりに、選出されているのか確認していきます。
スパニングツリーテーブルの確認
スパニングツリーテーブルを確認するには、「show spanning-tree」コマンドを使用します。
Switch#show spanning-tree
●Switch_Aの出力
Switch_A#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0001.42ED.8DB5
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0001.42ED.8DB5
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Desg FWD 19 128.2 P2p
●Switch_Bの出力
Switch_B#show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 32769
Address 0001.42ED.8DB5
Cost 19
Port 1(FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0001.64B7.6661
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/2 Altn BLK 19 128.2 P2p
Switch_Aがルートブリッジに選択され、Switch_Bの「f0/2」ポートがブロッキングポートになっていることが確認できます。