はじめに
こんにちは。ネットワークエンジニアの「だいまる」です。
今回はSTP/RSTPシリーズの第二弾として、Priority変更やパスコスト変更について復習してみたので、そのまとめをしたいと思います。
最近ますますと手を動かしてしっかり確認することは非常に重要だなと感じている最中でございます。
今回確認したことは全部で3つ!!
- Priorityによるルートブリッジの変更(ルートブリッジの迂回)
- Path Costによるポート役割の変更
- ポートプライオリティの変更(動作確認だけ)
Priorityによるルートブリッジの変更(ルートブリッジの迂回)
1つ目のPriority変更は、「【ネットワーク基礎・入門】STP/RSTPを復習のために少し深掘りしてみた(CCNA)(読了目安:5min~10min)」でも説明した通り、ブリッジIDの一部にPriorityのフィールドを持っております。
そのプライオリティを変更することでブリッジIDが変わり、ルートブリッジを変更することができるようになるのです。
では、動作確認をしていきましょう。
動作確認を実施した構成
今回、動作確認を実施した構成は前回の記事と同様の四角形の構成となります。
右上のL2SWをルートブリッジにするため、Priorityを4096に変更しております。
それ以外のポート役割については、図に記載の通りとなります。
上記の構成から左上のL2SW1をルートブリッジに変更する状態を確認していきたいと思います。
事前状態
まず、事前状態のログを見ていきましょう。
L2SW1の状態
以下のログより、L2SW1はルートブリッジではないことの確認や各ポートの役割の確認ができます。
具体的には、上から2行目と4行目の赤文字の部分でルートブリッジかどうかの判断がつきます。
2行目と4行目のプライオリティやアドレスが同一であれば、そのスイッチがルートブリッジとなり、異なる場合は他のスイッチがルートブリッジとなります。
また、ポートの役割やルートポートの場所については橙文字の部分で判断可能となります。
VLAN0002 is executing the rstp compatible Spanning Tree protocol
Bridge Identifier has priority 32768, sysid 2, address 5254.0009.652d ※ブリッジID
Configured hello time 2, max age 20, forward delay 15, transmit hold-count 6
Current root has priority 4098, address 5254.0007.55ed ※RootブリッジのPriority
Root port is 2 (GigabitEthernet0/1), cost of root path is 4
Topology change flag set, detected flag not set
Number of topology changes 7 last change occurred 00:00:19 ago
from GigabitEthernet0/0
Times: hold 1, topology change 35, notification 2
hello 2, max age 20, forward delay 15
Timers: hello 0, topology change 16, notification 0, aging 300
Port 1 (GigabitEthernet0/0) of VLAN0002 is designated forwarding ※ポート番号/ポート役割
Port path cost 4, Port priority 128, Port Identifier 128.1.
Designated root has priority 4098, address 5254.0007.55ed
Designated bridge has priority 32770, address 5254.0009.652d
Designated port id is 128.1, designated path cost 4
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 4
Link type is point-to-point by default
BPDU: sent 993, received 37
Port 2 (GigabitEthernet0/1) of VLAN0002 is root forwarding ※ポート番号/ポート役割
Port path cost 4, Port priority 128, Port Identifier 128.2.
Designated root has priority 4098, address 5254.0007.55ed
Designated bridge has priority 4098, address 5254.0007.55ed
Designated port id is 128.2, designated path cost 0
Timers: message age 16, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 958, received 70
L2SW2の状態
L2SW1と同様のコマンドでL2SW2についても確認していきたいと思います。
L2SW1と同様に赤文字と橙文字で分けてみました。
赤文字部分でルートブリッジであることを確認でき、橙文字部分で各ポートがDP(Designated Port)であることを確認できます。
L2SW2#show spanning-tree vlan 2 detail
VLAN0002 is executing the rstp compatible Spanning Tree protocol
Bridge Identifier has priority 4096, sysid 2, address 5254.0007.55ed
Configured hello time 2, max age 20, forward delay 15, transmit hold-count 6
We are the root of the spanning tree
Topology change flag not set, detected flag not set
Number of topology changes 5 last change occurred 00:00:48 ago
from GigabitEthernet0/0
Times: hold 1, topology change 35, notification 2
hello 2, max age 20, forward delay 15
Timers: hello 0, topology change 0, notification 0, aging 300
Port 1 (GigabitEthernet0/0) of VLAN0002 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.1.
Designated root has priority 4098, address 5254.0007.55ed
Designated bridge has priority 4098, address 5254.0007.55ed
Designated port id is 128.1, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
BPDU: sent 996, received 35
Port 2 (GigabitEthernet0/1) of VLAN0002 is designated forwarding
Port path cost 4, Port priority 128, Port Identifier 128.2.
Designated root has priority 4098, address 5254.0007.55ed
Designated bridge has priority 4098, address 5254.0007.55ed
Designated port id is 128.2, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 2
Link type is point-to-point by default
BPDU: sent 70, received 954
変更時のコマンド&デバッグログ
L2SW1のPriorityを0にすることでルートブリッジに変更するようにしていきましょう。
L2SW1の変更コマンド&デバッグログ
Configurationモードに入り、「spanning-tree vlan <vlan id> priority 0」で変更します。
コマンドの投入直後、即座に更新が走りルートブリッジになっていることがデバッグログから読み取れると思います。
L2SW1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
L2SW1(config)#spanning-tree vlan 2 priority 0
L2SW1(config)#end
L2SW1#
*Jul 30 23:29:00.769: setting bridge id (which=1) prio 2 prio cfg 0 sysid 2 (on) id 0002.5254.0009.652d
*Jul 30 23:29:00.769: RSTP(2): updt roles, received superior bpdu on Gi0/1
*Jul 30 23:29:00.769: RSTP(2): we become the root bridge
*Jul 30 23:29:00.769: RSTP(2): Gi0/1 is now designated
では、次にL2SW2のデバッグログを見ていきましょう。
L2SW2のデバッグログ
L2SW1のコマンド投入後、正確な時間はわかりませんが大体8秒後ぐらい(時間がずれている気がしますが)に役割が変わったことを検知しています。
*Jul 30 23:29:08.706: RSTP(2): updt roles, received superior bpdu on Gi0/1
*Jul 30 23:29:08.706: RSTP(2): Gi0/1 is now root port
*Jul 30 23:29:08.706: STP[2]: Generating TC trap for port GigabitEthernet0/1
デバッグログで変更されていることは確認できていますが、事後状態の確認として先程のコマンドの簡易版で念のために見てみましょう。
事後状態確認
L2SW1の事後状態確認
まず、L2SW1の事後状態から確認していきます。
出力されたログを見ていくとL2SW1がPriorityが小さくなっていることとルートブリッジになっていること、ポートの役割が全てDPになっていることが確認できると思います。
L2SW1#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol rstp
Root ID Priority 2
Address 5254.0009.652d
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 2 (priority 0 sys-id-ext 2)
Address 5254.0009.652d
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/0 Desg FWD 4 128.1 P2p
Gi0/1 Desg FWD 4 128.2 P2p
L2SW2の事後状態確認
次にL2SW2の状態確認です。
こちらは、プライオリティが4096のままなのでルートブリッジ情報がL2SW1になっていることがわかります。
L2SW2#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol rstp
Root ID Priority 2
Address 5254.0009.652d
Cost 4
Port 2 (GigabitEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 4098 (priority 4096 sys-id-ext 2)
Address 5254.0007.55ed
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/0 Desg FWD 4 128.1 P2p
Gi0/1 Root FWD 4 128.2 P2p
上記のようにルートブリッジを変更することでSTPの迂回を高速にできるようになります。
※Pingで確認した結果、STPだと30sec程度 RSTPだと4sec程度の断時間がありました。
Path Costによるポート役割の変更(一部区間の迂回)
Path Costによるポート役割の変更や一部区間のみトラフィックを流したくない時に使える設定変更になります。
構成はPriority変更時と同様になります。
上記構成でL2SW2のGi0/1(L2SW1向け)のPath Costを変更し、L2SW2とL2SW4のポートの役割が変更していくことを見ていきましょう。
事前状態の確認
L2SW1の状態確認
L2SW1の状態はルートブリッジでのため、全ポートがで指定ポート(DP)になっていることがわかります。
L2SW1#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol rstp
Root ID Priority 2
Address 5254.0009.652d
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 2 (priority 0 sys-id-ext 2)
Address 5254.0009.652d
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/0 Desg FWD 4 128.1 P2p
Gi0/1 Desg FWD 4 128.2 P2p
L2SW2の状態確認
ここではL2SW2のPath Costを確認していきたいと思います。
特に変更を加えていないので、現状では「4」になっています。
L2SW2#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol rstp
Root ID Priority 2
Address 5254.0009.652d
Cost 4
Port 2 (GigabitEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32770 (priority 32768 sys-id-ext 2)
Address 5254.0007.55ed
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/0 Desg FWD 4 128.1 P2p
Gi0/1 Root FWD 4 128.2 P2p
L2SW4の状態確認
そして、ポートの役割が変わるL2SW4の事前状態も確認していきましょう。
この時点では、Gi0/0がルートポート(RP)、Gi0/1が代替ポート(AP)となっています。
この状態を変化させるためにPath Costの変更をしていきたいと思います。
L2SW4#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol rstp
Root ID Priority 2
Address 5254.0009.652d
Cost 8
Port 1 (GigabitEthernet0/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32770 (priority 32768 sys-id-ext 2)
Address 5254.0001.250c
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/0 Root FWD 4 128.1 P2p
Gi0/1 Altn BLK 4 128.2 P2p
設定変更時のオペレーション・デバッグログ
L2SW1はデバッグログが一切出なかったので、割愛します。
その上で、最初にL2SW2のオペレーションとデバッグログを見ていきたいと思います。
L2SW2(オペレーション・デバッグログのみ)
設定投入時のL2SW2のデバッグログは以下のようになります。
L2SW2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
L2SW2(config)#interface gigabitEthernet 0/1
L2SW2(config-if)#spanning-tree vlan 2 cost 1000
L2SW2(config-if)#end
L2SW2#
*Aug 2 09:58:28.397: RSTP(2): updt roles, received superior bpdu on Gi0/1
*Aug 2 09:58:28.402: RSTP(2): updt roles, received superior bpdu on Gi0/0
*Aug 2 09:58:28.402: RSTP(2): Gi0/0 is now root port
*Aug 2 09:58:28.402: RSTP(2): Gi0/1 blocked by re-root
*Aug 2 09:58:28.402: RSTP(2): synced Gi0/0
*Aug 2 09:58:28.402: STP[2]: Generating TC trap for port GigabitEthernet0/0
*Aug 2 09:58:28.402: RSTP(2): Gi0/1 is now alternate
*Aug 2 09:58:28.403: RSTP(2): transmitting an agreement on Gi0/0 as a response to a proposal
L2SW2#
ここでわかるようにIFモードに入り、コマンド「spanning-tree vlan 2 cost 1000」を入力することで STPの再計算が走りポートの役割が変わっていることがわかります。
L2SW4(デバッグログのみ)
デバッグログを見るとGi0/1がルートポート(RP)となり、Gi0/0が指定ポート(DP)になっていることがわかります。
*Aug 2 09:58:27.419: RSTP(2): updt roles, received superior bpdu on Gi0/0
*Aug 2 09:58:27.419: RSTP(2): Gi0/1 is now root port
*Aug 2 09:58:27.419: RSTP(2): Gi0/0 blocked by re-root
*Aug 2 09:58:27.419: RSTP(2): Gi0/0 is now designated
*Aug 2 09:58:27.419: STP[2]: Generating TC trap for port GigabitEthernet0/1
*Aug 2 09:58:27.420: RSTP(2): transmitting a proposal on Gi0/0
*Aug 2 09:58:27.423: RSTP(2): received an agreement on Gi0/0
*Aug 2 09:58:27.423: STP[2]: Generating TC trap for port GigabitEthernet0/0
事後状態の確認
確認する必要もありませんが、最後にポートの状態とコストを見ていきたいと思います。
L2SW2
ここでわかるようにGi0/1のコストが「1000」となり、ポートの役割もGi0/1が代替ポート(AP)になっていることがわかります。
L2SW2#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol rstp
Root ID Priority 2
Address 5254.0009.652d
Cost 12
Port 1 (GigabitEthernet0/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32770 (priority 32768 sys-id-ext 2)
Address 5254.0007.55ed
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/0 Root FWD 4 128.1 P2p
Gi0/1 Altn BLK 1000 128.2 P2p
L2SW4
L2SW4も同様にGi0/1がルートポート(RP)、Gi0/0が指定ポート(DP)になり変化していることがわかります。
L2SW4#show spanning-tree vlan 2
VLAN0002
Spanning tree enabled protocol rstp
Root ID Priority 2
Address 5254.0009.652d
Cost 8
Port 2 (GigabitEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32770 (priority 32768 sys-id-ext 2)
Address 5254.0001.250c
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/0 Desg FWD 4 128.1 P2p
Gi0/1 Root FWD 4 128.2 P2p
最後に
今回確認したことは、STPのPriority変更とPath Costの変更です。
あまり迂回等することはないですが、たまに使うこともあると思うので復習してみました。
コメント