SpanningTree設定の経験

とあるサービスでSpanngTreeを使っていたときの経験を備忘録がてら記しておきたいと思います。

・L2スイッチが冗長化されており互いをL2接続
・サーバも両L2に接続されているが、NICのSFT(Switch Fault tolerance)は使わずNIC2枚をネットワークブリッジとして構成

特に意識せず普通に設定していたのですが、SpanngTreeをデフォルトの設定のままにしておいたところ下図のようにServerAがルートブリッジになるという事象に出くわしました。
01

Switch①でspanning treeを見てみると、

Swithc①# show spanning tree
VLAN0100
Spanning tree enabled protocol ieee
Root ID    Priority    32768
Address     0216.35c4.509a →ServerAのMACアドレス
Cost        4
Port        11 (GigabitEthernet1/0/11)
Hello Time   2 sec  Max Age  8 sec  Forward Delay  5 sec

Bridge ID  Priority    32868  (priority 32768 sys-id-ext 100)
Address     0018.73a7.f280
Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
Aging Time 300

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- --------
Gi1/0/11         Root FWD 4         128.11   P2p →ServerAの接続先(Gi1/0/11)がルートポート
Gi1/0/12         Root FWD 4         128.12   P2p
Gi1/0/24         Altn BLK 4         128.24   P2p →Switch②への接続先がブロッキングポート

Switch②でも見てみます。

Swithc②# show spanning tree
VLAN0100
Spanning tree enabled protocol ieee
Root ID    Priority    32768
Address     0216.35c4.509a
Cost        4
Port        11 (GigabitEthernet1/0/11)
Hello Time   2 sec  Max Age  8 sec  Forward Delay  5 sec

Bridge ID  Priority    32868  (priority 32768 sys-id-ext 100)
Address     0018.1986.5b80
Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
Aging Time 300

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- --------
Gi1/0/11         Root FWD 4         128.11   P2p →ServerAの接続先(Gi1/0/11)がルートポート
Gi1/0/12         Root FWD 4         128.12   P2p
Gi1/0/24         Desg FWD 4         128.24   P2p  →Switch①への接続先が指定ポート

なんとも不思議な感じです。
年のため収束している状態でServer①でWiresharkを動かしてみると、確かに自らがルートブリッジである(Root path cost:0)BPDUを送信しています。。この結果、ServerBへの通信も必ずServerAを経由して運ばれているような動きを確認しました。

02

というわけでSwitch①をルートブリッジにすべくルートブリッジのプライオリティを下げました。
spanning-tree vlan 100 priority 4096

show spanning treeを見てみます。

Swithc①# show spanning tree

VLAN0100
Spanning tree enabled protocol ieee
Root ID    Priority    4196
Address     0018.73a7.f280
This bridge is the root → ルートブリッジになった
Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Bridge ID  Priority    4196   (priority 4096 sys-id-ext 100)
Address     0018.73a7.f280
Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
Aging Time 300

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- --------
Gi1/0/11         Desg FWD 4         128.11   P2p
Gi1/0/12         Desg FWD 4         128.12   P2p
Gi1/0/24         Desg FWD 4         128.24   P2p → 指定ポートになった

Swithc②# show spanning tree

VLAN0100
Spanning tree enabled protocol ieee
Root ID    Priority    4196
Address     0018.73a7.f280
Cost        4
Port        24 (GigabitEthernet1/0/24)
Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Bridge ID  Priority    8292   (priority 8192 sys-id-ext 100)
Address     0018.1986.5b80
Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
Aging Time 300

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- --------
Gi1/0/11         Altn BLK 4         128.11   P2p → BLKになった
Gi1/0/12         Altn BLK 4         128.12   P2p → BLKになった
Gi1/0/24         Root FWD 4         128.24   P2p

これでこんな感じとなりました。
03
Switch②とServerA間のリンクでの指定ポート選出ですが、各スイッチのルートポートのルートパスコストを見ます。
Switch②のルートポートのルートパスコストは「4」、同じくServerAも「4」と同じなので、送信元ブリッジIDが最も小さい値のポートが指定ポートになります。MACアドレスをみると、Switch②側が指定ポートになると思いきやServerA側が指定ポートになります。昔のことなので記憶が曖昧ですが、ServerAは受信ポートのルートパスコストを加算してSTPを計算しますがこの値が帯域幅1Gbpsの「4」では無く「1」でした。(理由は不明)なので最小ブリッジIDを比較するまでもなくルートパスコストの比較でServerA側が指定ポートになってようです。

スポンサーリンク






シェアする

  • このエントリーをはてなブックマークに追加

フォローする