2014年6月16日 星期一

Cisco bpduguard and storm-control

前陣子客戶反應Edge switch的其中一埠私接設備,且疑似接成loop,造成上方的Core switch CPU loading 99%,客戶網路變的很慢。後來將這個埠關掉後才恢復正常。但客戶Edge switch有設定bpduguard,理當這類的loop可被Cisco switch偵測到並將這埠errdisable?還是當初客戶懷疑私接設備且接成loop的假設錯了?但就我的理解,loop的狀況很多,有時並非單一情境可描述(如底下的HUB自已接成loop,或HUB接回上端的Switch造成loop...)

做一個LAB測試看看。測試架構如下:




測試步驟:
1.先讓Laptop可以正常ping至2950/2960
2.於HUB接成兩種loop方式;一種是接回上頭switch形成loop,另一種是自已接在loop
3.HUB使用一般5埠100Mbps switch(一台幾百塊)和Dlink DI-704UP(家用IP分享器)
4.觀察ping的狀態

測試結果:

1.switch是2950 version 12.1
spanning-tree bpduguard disable(default)
-HUB先掛掉(Dlink DI-704UP似乎都不會掛)
-若HUB沒掛,可以看到2950此埠燈號閃的很快,且ping fail。但2950不會有任何動作
spanning-tree bpduguard enable
-排除HUB會先掛掉的可能,2950會產生errdisable,將此埠shutdown,ping fail。
-若是HUB為接回Switch的loop,2950也會產生errdiable,將其中一埠shutdown,因此loop解除,ping恢復。

2.switch是2960 version 15

spanning-tree bpduguard disable(default)
-排除HUB會先掛掉的可能,2960會產生errdisable,原因是loopback detect。
spanning-tree bpduguard enable
-排除HUB會先掛掉的可能,2960會產生errdisable,原因是pbduguard。

看來若是私接設備,並且接成loop的話,理當有設定bpduguard enable可以解決loop產生的問題。但保險起見,可以再加入storm-control的機制,因為loop發生時,會產生大量廣播封包造成網路不通。


3.switch設定storm-control

storm-control broadcast level 1 
-broadcast 後端的參數可依packet per sec 或 流量的百份比來設定,但往往pps或level的設定條件該如何定義是令人傷腦筋的一塊
-若超過上述的門檻條件,可設定action為shutdown













沒有留言: