小區(qū)監(jiān)控、門(mén)禁、對(duì)講運(yùn)行中整網(wǎng)癱瘓?匪夷所思的原因終于被我抓到了!
本期分享的案例是有線網(wǎng)絡(luò)的相關(guān)問(wèn)題。
背景介紹
粉絲是個(gè)專做弱電智能化的工程商,某小區(qū)項(xiàng)目做完后,時(shí)不時(shí)會(huì)發(fā)生監(jiān)控、門(mén)禁、對(duì)講運(yùn)行癱瘓問(wèn)題,持續(xù)好幾年了。來(lái)看看這位朋友的反饋:

問(wèn)題很復(fù)雜,當(dāng)然是要付費(fèi)解決。OK,一起進(jìn)入正題吧。
網(wǎng)絡(luò)拓?fù)?/h4>
典型的小區(qū)弱電智能化拓?fù)?,?jiǎn)化如下:

問(wèn)題現(xiàn)象
出現(xiàn)問(wèn)題時(shí),大部分終端均會(huì)掉線,如下圖的監(jiān)控、對(duì)講等設(shè)備離線:

沒(méi)什么可說(shuō)的,問(wèn)題很顯性就是掉線。
排查分析
問(wèn)題排查比較久,這邊我就單刀直入的給予分析情況了。
(1) 這三個(gè)業(yè)務(wù)VLAN中存在未知單播幀廣播泛洪,該幀目的均為不存在網(wǎng)絡(luò)中的MAC設(shè)備,總體泛洪數(shù)量打10W+包/秒,業(yè)務(wù)完全癱瘓;


(2) 未知單播幀當(dāng)廣播轉(zhuǎn)發(fā)當(dāng)然是符合預(yù)期的,但是為什么量這么大?大概率只有一種可能—未知單播幀被回彈導(dǎo)致風(fēng)暴。進(jìn)一步發(fā)現(xiàn),泛洪的未知單播幀的源MAC是0201,這個(gè)MAC地址是核心交換機(jī)的MAC:

什么意思?意思是核心把這個(gè)未知單播幀向下廣播轉(zhuǎn),卻又被下聯(lián)網(wǎng)絡(luò)回彈了,造成風(fēng)暴。
(3) 為了佐證這個(gè)猜想,我們直接在匯聚交換機(jī)上查看MAC地址漂移記錄就行,相關(guān)命令:dis mac-address flapping record

可以明確看到,在VLAN20這個(gè)業(yè)務(wù)網(wǎng)絡(luò)中,源MAC為0201的核心交換發(fā)出來(lái)的未知單播幀,在1、5、20這幾個(gè)下聯(lián)口之間不斷漂移。即:
- 上聯(lián)核心將未知單播幀以廣播的形式發(fā)給匯聚,匯聚向下1、5、20轉(zhuǎn)發(fā);
- 但匯聚下聯(lián)口收到該報(bào)文后又彈回來(lái),該未知單播幀報(bào)文在1、5、20口之間形成了巨大環(huán)路,整個(gè)VLAN20充斥著該未知單播幀,業(yè)務(wù)癱瘓;
- 至于為什么報(bào)文會(huì)回彈回來(lái),我猜測(cè)八成和無(wú)線網(wǎng)橋有關(guān):

但沒(méi)有條件進(jìn)一步收集證據(jù)分析,我這里也就不點(diǎn)明了。
原因定位及解決方案
根本原因:VLAN20、21、22等業(yè)務(wù)VLAN充斥著大量的未知單播包,以10W/秒的速率泛洪造成整網(wǎng)癱瘓,這是目前比較能明確看到的現(xiàn)象。
解決方案:既然是泛洪,便做抑制解決,在各個(gè)匯聚交換機(jī)上對(duì)“未知單播幀”做抑制,相關(guān)命令:unicast-suppression pps 1 //端口使能,每秒只轉(zhuǎn)發(fā)1個(gè)包。

后續(xù)情況:

目前來(lái)看已解決,問(wèn)題閉環(huán)。

























