加入收藏 設(shè)為首頁 聯(lián)系我們 歡迎光臨本網(wǎng)站!
郵箱:support@zcecs.com
地址:北京市西城區(qū)南濱河路27號貴都國際中心A座1111室
搞網(wǎng)絡(luò)技術(shù)的人對泛洪這個概念應(yīng)該不陌生,本質(zhì)上是網(wǎng)絡(luò)設(shè)備將從某個接口上收到的數(shù)據(jù)從除本接口之外的設(shè)備所有接口發(fā)送出去,之所以發(fā)生這樣的情況是因為數(shù)據(jù)報文在網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)表中無法找到與數(shù)據(jù)包目標地址一致的表項,此時就將數(shù)據(jù)包從所有接口發(fā)送出去,以期找到目標主機來接收數(shù)據(jù)包,可以理解為二層轉(zhuǎn)發(fā)行為。有人對這種轉(zhuǎn)發(fā)現(xiàn)象叫泛洪,也有人叫做洪泛,是一個意思。泛洪技術(shù)不需要網(wǎng)絡(luò)設(shè)備維持網(wǎng)絡(luò)的拓撲結(jié)構(gòu)和相關(guān)路由表項,僅要求接收到信息的節(jié)點以廣播方式轉(zhuǎn)發(fā)數(shù)據(jù)包,然后級聯(lián)設(shè)備傳遞下去。泛洪在數(shù)據(jù)中心網(wǎng)絡(luò)中是一種常見現(xiàn)象,很多時候泛洪轉(zhuǎn)發(fā)都是良性的,對網(wǎng)絡(luò)無影響。以太網(wǎng)標準對網(wǎng)絡(luò)設(shè)備的要求也是允許流量有短時間的泛洪,尤其是框式設(shè)備是不可避免的,只要在極短的時間內(nèi)就結(jié)束泛洪,都是一種正常的網(wǎng)絡(luò)現(xiàn)象。
從技術(shù)實現(xiàn)上來看,很容易將泛洪和流量廣播混淆。其實,兩者有著本質(zhì)區(qū)別。廣播報文的目的地址是全網(wǎng)用戶,使用廣播地址,在所有端口發(fā)送數(shù)據(jù)包,行為是主動的,可以理解為三層的行為,在很多協(xié)議的交互過程中都要用到廣播。比如:ARP學(xué)習(xí),當(dāng)不知道目的IP地址對應(yīng)的MAC地址時,就通過廣播ARP報文來獲取;DHCP協(xié)議獲取地址,每次向DHCP服務(wù)器獲取地址時,都要通過廣播方式發(fā)出,等待DHCP服務(wù)器的回應(yīng),還有OSFP/BGP/ISIS的Hello報文,LLDP/STP/VRRP等協(xié)議的狀態(tài)監(jiān)測報文,雖然目的地址不是廣播的,而是組播地址,其實也是采用廣播的方式發(fā)送的。泛洪的目的地址不是廣播地址,針對具體的單播地址,只是在網(wǎng)絡(luò)設(shè)備上沒有查找到轉(zhuǎn)發(fā)表項,所以才有泛洪行為,這也是和以太網(wǎng)盡力去轉(zhuǎn)發(fā)的宗旨相符的。廣播本質(zhì)就是要全網(wǎng)轉(zhuǎn)發(fā)的,而泛洪是一種轉(zhuǎn)發(fā)查找的結(jié)果,是一個被動產(chǎn)生的結(jié)果,我們當(dāng)然希望網(wǎng)絡(luò)中泛洪的流量越少越好。廣播報文如果處理不好,容易占用過多網(wǎng)絡(luò)帶寬,甚至引起廣播風(fēng)暴,對網(wǎng)絡(luò)業(yè)務(wù)造成嚴重影響,而泛洪報文如果處理不好,也會占用過多網(wǎng)絡(luò)帶寬,對網(wǎng)絡(luò)業(yè)務(wù)造成影響,有時網(wǎng)絡(luò)帶寬雖沒有被占滿,過多的無用流量沖向了服務(wù)器,也會對服務(wù)器的轉(zhuǎn)發(fā)性能造成影響,導(dǎo)致業(yè)務(wù)處理特別慢,直至業(yè)務(wù)中斷。廣播和泛洪,兩者對網(wǎng)絡(luò)的影響比較類同。
數(shù)據(jù)中心的網(wǎng)絡(luò)是允許泛洪流量存在的,確切地說應(yīng)該是做不到完全避免,尤其在轉(zhuǎn)發(fā)表項建立之前,流量就是依靠泛洪來學(xué)習(xí)的,當(dāng)學(xué)習(xí)到完整的轉(zhuǎn)發(fā)表項之后,泛洪流量自然消失。在最新的網(wǎng)絡(luò)技術(shù)中,比如VXLAN技術(shù)中,也是利用了泛洪模式進行地址學(xué)習(xí),目的是為了學(xué)習(xí)VTEP和MAC的對應(yīng)關(guān)系。當(dāng)然,在EVPN環(huán)境中,節(jié)省掉泛洪的學(xué)習(xí)過程。數(shù)據(jù)中心的網(wǎng)絡(luò)要具有一定的網(wǎng)絡(luò)帶寬冗余,避免流量出現(xiàn)短時的泛洪,將帶寬打滿,影響到正常流量的交互。數(shù)據(jù)中心的網(wǎng)絡(luò)流量長時間的泛洪有兩個來源:一是網(wǎng)絡(luò)結(jié)構(gòu)特殊或者網(wǎng)絡(luò)設(shè)備出現(xiàn)問題,轉(zhuǎn)發(fā)表項在網(wǎng)絡(luò)設(shè)備上長時間學(xué)習(xí)不到,產(chǎn)生大量的流量泛洪;二是出現(xiàn)泛洪攻擊,很多網(wǎng)絡(luò)攻擊方法也是利用泛洪的特征來實現(xiàn)的。比如:SYN泛洪攻擊,是利用偽造的IP地址向被攻擊端設(shè)備發(fā)出請求,而被攻擊端設(shè)備發(fā)出的響應(yīng)報文將永遠發(fā)送不到目的地,被攻擊端在等待關(guān)閉這個連接的過程中消耗了資源,如果有成千上萬的這種連接,主機資源將被耗盡,從而達到攻擊的目的;UDP泛洪攻擊是攻擊者發(fā)送大量的UDP包給服務(wù)器,服務(wù)器發(fā)送大量回復(fù);ARP報文泛洪類似于UDP泛洪,同樣是惡意用戶發(fā)出大量的ARP報文,造成三層網(wǎng)絡(luò)設(shè)備的ARP表項溢出,影響正常用戶的轉(zhuǎn)發(fā)。長時間的流量泛洪對網(wǎng)絡(luò)的傷害是巨大的,消耗掉大量的網(wǎng)絡(luò)帶寬資源,讓正常的網(wǎng)絡(luò)業(yè)務(wù)無法轉(zhuǎn)發(fā),甚至導(dǎo)致整個數(shù)據(jù)中心的網(wǎng)絡(luò)陷入癱瘓。
泛洪的現(xiàn)象產(chǎn)生的原因和攻擊類型五花八門,每種情況的泛洪從技術(shù)上來講都是有差別的,所以需要區(qū)別對待。正因為這樣,對于不同的攻擊類型,也是有相應(yīng)的預(yù)防措施的。為了抵御泛洪攻擊的入侵,數(shù)據(jù)中心網(wǎng)絡(luò)可以針對不同類型的泛洪制定相應(yīng)預(yù)防措施。比較有效的方式就是提升網(wǎng)絡(luò)設(shè)備的防攻擊性能,同時增加網(wǎng)絡(luò)過濾,根據(jù)RFC 2827里關(guān)于過濾應(yīng)用的描述,部署針對輸入源的過濾,ISP拒絕將一個源IP地址不屬于其來源子網(wǎng)的數(shù)據(jù)包進行更遠路由。還可以增加專用防火墻,對各種網(wǎng)絡(luò)協(xié)議攻擊進行過濾,保護后面的網(wǎng)絡(luò)設(shè)備免受干擾。還有,將廣播域縮小,比如采用全三層轉(zhuǎn)發(fā)互連的方式,避免產(chǎn)生廣播域,這樣即便有泛洪產(chǎn)生,由于廣播域很小,對網(wǎng)絡(luò)帶寬的占用也不會很嚴重。具體在抑制泛洪方面,已經(jīng)有不少的技術(shù)實現(xiàn)可參考,在此不再逐一詳述。
我們要理性看待泛洪這個現(xiàn)象,雖然泛洪的現(xiàn)象給數(shù)據(jù)中心造成的危害是巨大的,但也不要對泛洪談虎色變,只有產(chǎn)生持續(xù)性的流量泛洪才能對網(wǎng)絡(luò)業(yè)務(wù)帶來實質(zhì)性影響。當(dāng)一個數(shù)據(jù)中心的網(wǎng)絡(luò)在沒有增加新業(yè)務(wù)的情況下,帶寬利用率卻持續(xù)下降時,就要注意是否有長時間的流量泛洪發(fā)生。當(dāng)一個數(shù)據(jù)中心同一個廣播域中的服務(wù)器訪問速度都開始變慢時,也要查看是否有泛洪發(fā)生,判斷是否發(fā)生了泛洪方法也很簡單,只要將筆記本通過網(wǎng)線接入到網(wǎng)絡(luò)設(shè)備的任意端口上,進行抓包,如果轉(zhuǎn)發(fā)到了大量的持續(xù)性的,并非轉(zhuǎn)發(fā)到筆記本連接端口的報文,就證明了流量泛洪的發(fā)生,這時就要根據(jù)泛洪的產(chǎn)生原因,采取相應(yīng)的解決措施,盡快消除流量泛洪,減輕網(wǎng)絡(luò)帶寬的占用。