STP(スパニングツリープロトコル)の障害時動作

STP(スパニングツリープロトコル)の障害時動作

障害発生時のSTPの動作について、CMLで環境を構築し説明します。

目次

ネットワーク構成

CMLで下記の環境を構築します。全スイッチでVLAN1のSTP設定を有効化します。(デフォルトで有効になっています。)

初期構築時のSTPの収束に関しては、下記を参照してください。

ネットワーク構成
L2SW-A
hostname L2SW-A

spanning-tree vlan 1
L2SW-B
hostname L2SW-B

spanning-tree vlan 1
L2SW-C
hostname L2SW-C

spanning-tree vlan 1
L2SW-D
hostname L2SW-D

spanning-tree vlan 1
Server1
hostname Server1
ifconfig eth0 192.168.100.1 netmask 255.255.255.0 up
route add -net 0.0.0.0/0 dev eth0
PC1
hostname PC1
ifconfig eth0 192.168.100.100 netmask 255.255.255.0 up
route add -net 0.0.0.0/0 dev eth0

正常時の通信経路

PC1とServer1間の正常時の通信経路は下記の通りです。

正常時の通信経路

障害時の動作

L2SW-AとL2SW-Bの間のリンク障害を想定し、障害時のSTPの動作を確認します。

障害ポイント

PC1からServer1へ連続Pingを実施し、通信断時間を測定します。

PC1
ping 192.168.1.1
PC1:~$ ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1): 56 data bytes
64 bytes from 192.168.100.1: seq=0 ttl=42 time=21.733 ms
64 bytes from 192.168.100.1: seq=1 ttl=42 time=33.141 ms
64 bytes from 192.168.100.1: seq=2 ttl=42 time=36.440 ms

障害発生

L2SW-AとL2SW-Bの双方で下記コマンドを実行します。※CMLの場合、対向機器のインターフェースをシャットダウンしても、自機器のインターフェースのダウンを検知しないため、双方で”shutdown”コマンドを実施します。

L2SW-A/L2SW-B
interface GigabitEthernet0/0
 shutdown
L2SW-A#
07:00:18.311: %LINK-5-CHANGED: Interface GigabitEthernet0/0, changed state to administratively down

ポート役割の再選出

障害発生から20秒の最大エージングタイマーが経過した後、L2SW-BとL2SW-Dのポートの役割が再選出されます。

ポートの役割の再選出
L2SW-B

Gi0/1から受信したBPDUから、L2SW-Aがルートスイッチであることを認識し、ルートポートに選出されます。

07:00:38.578: STP: VLAN0001 new root is 32769, 5254.000f.0d54 on port Gi0/1, cost 12
L2SW-D

Gi0/0がルートポートに選出され、リスニング状態に遷移します。※STPのトポロジーに変更が生じ、ブロッキング状態のインターフェースでBPDUを受信できなくなると、最大エージングタイマー経過後に、リスニング状態になります。

07:00:37.445: STP: VLAN0001 new root port Gi0/0, cost 8
07:00:37.446: STP: VLAN0001 Gi0/0 -> listening

ポート状態の遷移

ラーニング状態に遷移

15秒の転送遅延タイマー経過後にL2SW-DのGI0/0がラーニング状態に遷移します。

ラーニング状態に遷移
L2SW-D
07:00:52.447: STP: VLAN0001 Gi0/0 -> learning

フォーワーディング状態に遷移

更に15秒の転送遅延タイマー経過後にL2SW-DのGI0/0がフォワーディング状態に遷移し、通信が復旧します。

L2SW-D
07:01:07.453: STP: VLAN0001 Gi0/0 -> forwarding

通信断時間の確認

PC1で実施していた連続Pingを確認すると、約50秒で通信が復旧していることが分かります。(seq=6〜57が通信NGでPing応答が無い時間です。)

PC1
PC1:~$ ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1): 56 data bytes
64 bytes from 192.168.100.1: seq=0 ttl=42 time=21.733 ms
64 bytes from 192.168.100.1: seq=1 ttl=42 time=33.141 ms
64 bytes from 192.168.100.1: seq=2 ttl=42 time=36.440 ms
64 bytes from 192.168.100.1: seq=3 ttl=42 time=32.478 ms
64 bytes from 192.168.100.1: seq=4 ttl=42 time=19.146 ms
64 bytes from 192.168.100.1: seq=5 ttl=42 time=20.507 ms
64 bytes from 192.168.100.1: seq=58 ttl=42 time=1075.887 ms
64 bytes from 192.168.100.1: seq=59 ttl=42 time=82.602 ms
64 bytes from 192.168.100.1: seq=60 ttl=42 time=29.826 ms
64 bytes from 192.168.100.1: seq=61 ttl=42 time=21.476 ms
64 bytes from 192.168.100.1: seq=62 ttl=42 time=25.002 ms
64 bytes from 192.168.100.1: seq=63 ttl=42 time=31.335 ms
^C
--- 192.168.100.1 ping statistics ---
64 packets transmitted, 12 packets received, 81% packet loss
round-trip min/avg/max = 19.146/119.131/1075.887 ms

STPの収束にかかる時間

ブロック状態のポートが変更になるような障害の場合、STPの収束時間は下記の通りとなります。

50秒 = 20秒(最大エージングタイマー) + 15秒(転送遅延タイマー) + 15秒(転送遅延タイマー)

以上で、STP(スパニングツリープロトコル)の障害時動作の説明は完了です!

  • URLをコピーしました!
  • URLをコピーしました!
目次