淺談數(shù)據(jù)中心網(wǎng)絡(luò)泛洪技術(shù)

責(zé)任編輯:cres

作者:harbor

2017-12-11 13:22:38

來源:企業(yè)網(wǎng)D1Net

原創(chuàng)

泛洪在數(shù)據(jù)中心網(wǎng)絡(luò)中是一種常見現(xiàn)象,很多時(shí)候泛洪轉(zhuǎn)發(fā)都是良性的,對網(wǎng)絡(luò)無影響。以太網(wǎng)標(biāo)準(zhǔn)對網(wǎng)絡(luò)設(shè)備的要求也是允許流量有短時(shí)間的泛洪,尤其是框式設(shè)備是不可避免的,只要在極短的時(shí)間內(nèi)就結(jié)束泛洪,都是一種正常的網(wǎng)絡(luò)現(xiàn)象。

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

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號