このページで解説している内容は、以下の 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」ポートがブロッキングポートになっていることが確認できます。