========phanx.com=========
Author: phanx
Updated: 2006-4-2
=========================
最近寫一個方案.正好有關(guān)這個,于是舊事重提.
記得我還在川大網(wǎng)管中心的時候,曾經(jīng)遇到過這樣的一個故障.
拓?fù)鋱D如下:
+-------------+
| L3 Switch |
+-------------+
|
|
+-------------+
| L2 Switch |-------------------+
+-------------+ |
| |
| |
+-------------+ +-------------+
| L2 Switch 1 | . . . . . . | L2 Switch N |
+-------------+ ( Many ) +-------------+
|
+--------+
| Switch |
+--------+
L3 Switch 為 某園區(qū)的核心交換機, L2 Switch 為某宿舍樓的主交換機,
L2 Switch 1 - N 為該宿舍樓的樓層交換機. Switch 為某樓層交換機
L2 Switch N 下連的某寢室的小交換機.
當(dāng)該寢室的A同學(xué)不小心將一根長網(wǎng)線的兩頭都接到了Switch上,由于這種
家用小交換機是MDI/MDI-X自適應(yīng)的,所以直通線也可以將這個小交換機的
兩個接口連通了. 這樣的后果就是,當(dāng)小交換機收到一個廣播數(shù)據(jù)包
(例如ARP請求),它就開始對它的接受這個包的源端口以外的端口進行洪泛。
這時候,被回環(huán)的端口1和2就會收到來自對方的廣播包,就會產(chǎn)生二次洪泛,
在二此洪泛的時候,由于源端口是1和2,所以同時也會對這個廣播包原來的端口
也進行洪泛, 相應(yīng)也會產(chǎn)生三次洪泛,四次洪泛等等。這樣,上聯(lián)的交換機就會
收到來自這臺小交換機大量的數(shù)據(jù)包,造成嚴(yán)重的擁塞以及資源消耗。
對于這臺小交換機未建立CAM表的時候,單播包也會產(chǎn)生同樣的結(jié)果。
記得當(dāng)時這個小小的環(huán)路,影響到了該園區(qū)的核心交換機,后果是很嚴(yán)重的.
所以當(dāng)時開玩笑說,在川大,當(dāng)黑客太簡單了.拿根網(wǎng)線,兩頭往交換機上一插,
網(wǎng)絡(luò)就得癱瘓半天.
當(dāng)時覺得和生成樹(STP)協(xié)議有關(guān), Huawei的交換機采用的是RSTP協(xié)議,并且默認(rèn)
不啟用,所以認(rèn)為開啟生成樹協(xié)議應(yīng)該可以解決這個問題,但是開啟生成樹后
同樣還是遇到了這種問題, 就歸于Huawei VRP的BUG了.
其實這不是VRP的BUG, 僅僅靠默認(rèn)的STP并不能解決這種自回環(huán)的環(huán)路問題,
我們還需要STP的一個擴展功能, BPDU GUARD(BPDU 防護). Huawei叫做
BPDU Protection (BPDU 保護) 呵呵,換湯不換藥啦.
BPDU GUARD的功能是當(dāng)這個端口收到任何的BPDU就馬上設(shè)為Error-Disabled狀態(tài).
我們知道,當(dāng)交換機STP功能啟用的時候,默認(rèn)所有端口都會參與STP,并發(fā)送和
接受BPDU. 當(dāng)BPDU GUARD開啟后,在正常情況下,一個下聯(lián)寢室的端口是不會收到
任何BPDU的,因為PC和小交換機都不支持STP,所以不會收發(fā)BPDU. 當(dāng)這個端口下
如果有自回環(huán)的環(huán)路,那么它發(fā)出去的BPDU在小交換機上回環(huán)后就會被自己接收到,
這個時候BPDU GUARD就會把它立刻設(shè)為Error-Disabled狀態(tài),這個端口就相當(dāng)于被
關(guān)閉了,不會轉(zhuǎn)發(fā)任何數(shù)據(jù),也就切斷了環(huán)路,保護了整個網(wǎng)絡(luò).
Cisco的交換機上的配置方法是:
Switch(config)# interface FastEthernet0/1
Switch(config-if)# spanning-tree bpduguard enable
或者
Switch(config-if)# spanning-tree bpdu-guard enable
(根據(jù)IOS版本不同,有的是bpduguard,有的是bpdu-guard)
對于Huawei交換機上配飾稍有不同. Huawei交換機默認(rèn)沒有啟用生成樹協(xié)議.
(Huawei用的是RSTP),所以首先要在系統(tǒng)視圖下啟用STP
[Quidway] stp enable
然后Huawei的BPDU Protection和Cisco不一樣,Cisco是既可在全局下配置,
也可在單獨的端口下配置, Huawei則是只能在系統(tǒng)視圖(即全局模式)下.
因為Huawei是在系統(tǒng)視圖下啟用 BPDU Guard后,會在所有的邊緣口(Edge Port)
下生效. 邊緣口的意思是這個接口只用于連接主機(PC),不用于連接其它交換機
(當(dāng)然,小交換機不算真正的交換機,因為小交換機不支持STP.)
默認(rèn)所有的端口都是非邊緣口. 所以需要將連接寢室的那些端口設(shè)為邊緣口,
然后在系統(tǒng)視圖下啟用BPDU Protection.
[Quidway-Ethernet0/2] stp edge-port enable
[Quidway] stp bpdu-protection
建議對所有寢室的端口都這樣做,這樣就可以避免這個問題再發(fā)生了.
這里再多說幾句,其實當(dāng)時想到的一個方法是做廣播抑制.
Huawei只支持針對廣播的抑制,Cisco是風(fēng)暴抑制,支持單播,組播和廣播.
但是當(dāng)時做了以后發(fā)現(xiàn)完全沒有效果,而且CPU還是100%.
這次我在Cisco的3750上測試風(fēng)暴抑制發(fā)現(xiàn)效果很好,我設(shè)定的是廣播風(fēng)暴超過
20%開始抑制, 而且CPU在 6% - 7% 左右.
測試結(jié)果:
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Blocking 20.00% 20.00% 50.06%
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Blocking 20.00% 20.00% 49.99%
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Blocking 20.00% 20.00% 36.97%
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Forwarding 20.00% 20.00% 0.00%
Switch#sh proc cpu
CPU utilization for five seconds: 6%/0%; one minute: 7%; five minutes: 7%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
1 0 5 0 0.00% 0.00% 0.00% 0 Chunk Manager
2 0 2351 0 0.00% 0.00% 0.00% 0 Load Meter
3 0 11662 0 0.00% 0.00% 0.00% 0 MDFS LC Download
4 9042 1248 7245 0.00% 0.04% 0.05% 0 Check heaps
5 9 2 4500 0.00% 0.00% 0.00% 0 Pool Manager
6 0 2 0 0.00% 0.00% 0.00% 0 Timers
7 67689 23267 2909 0.00% 0.00% 0.10% 0 ARP Input
8 0 1 0 0.00% 0.00% 0.00% 0 AAA_SERVER_DEADT
9 0 2 0 0.00% 0.00% 0.00% 0 AAA high-capacit
10 0 1 0 0.00% 0.00% 0.00% 0 Policy Manager
11 17 4 4250 0.00% 0.00% 0.00% 0 Entity MIB API
12 0 1 0 0.00% 0.00% 0.00% 0 IFS Agent Manage
13 0 198 0 0.00% 0.00% 0.00% 0 IPC Dynamic Cach
14 0 1 0 0.00% 0.00% 0.00% 0 IPC Zone Manager
15 8 11751 0 0.00% 0.00% 0.00% 0 IPC Periodic Tim
16 0 11751 0 0.00% 0.00% 0.00% 0 IPC Deferred Por
17 0 1 0 0.00% 0.00% 0.00% 0 IPC Seat Manager
18 0 2943 0 0.00% 0.00% 0.00% 0 HC Counter Timer
19 0 1 0 0.00% 0.00% 0.00% 0 HRPC asic-stats
20 8 11752 0 0.00% 0.00% 0.00% 0 Dynamic ARP Insp
21 0 2 0 0.00% 0.00% 0.00% 0 XML Proxy Client
--More--
這說明Huawei的這個功能確實存在問題,呵呵, 國貨當(dāng)自強啊.