廣播風(fēng)暴 - 廣播數(shù)據(jù)充斥網(wǎng)絡(luò)無(wú)法處理導(dǎo)致不能運(yùn)行
廣播風(fēng)暴(broadcast storm)簡(jiǎn)單的講是指當(dāng)廣播數(shù)據(jù)充斥網(wǎng)絡(luò)無(wú)法處理,并占用大量網(wǎng)絡(luò)帶寬,導(dǎo)致正常業(yè)務(wù)不能運(yùn)行,甚至徹底癱瘓,這就發(fā)生了“廣播風(fēng)暴”。一個(gè)數(shù)據(jù)幀或包被傳輸?shù)奖镜鼐W(wǎng)段(由廣播域定義)上的每個(gè)節(jié)點(diǎn)就是廣播;由于網(wǎng)絡(luò)拓?fù)涞脑O(shè)計(jì)和連接問(wèn)題,或其他原因?qū)е聫V播在網(wǎng)段內(nèi)大量復(fù)制,傳播數(shù)據(jù)幀,導(dǎo)致網(wǎng)絡(luò)性能下降,甚至網(wǎng)絡(luò)癱瘓,這就是廣播風(fēng)暴。
網(wǎng)絡(luò)通信
要理解什么是廣播風(fēng)暴,就必須先理解網(wǎng)絡(luò)通信技術(shù)。網(wǎng)絡(luò)上的一個(gè)節(jié)點(diǎn),它發(fā)送一個(gè)數(shù)據(jù)幀或包,被傳輸?shù)接蓮V播域定義的本地網(wǎng)段上的每個(gè)節(jié)點(diǎn)就是廣播。
網(wǎng)絡(luò)廣播分為第2層廣播和第3層廣播。第2層廣播也稱硬件廣播,用于在局域網(wǎng)內(nèi)向所有的結(jié)點(diǎn)發(fā)送數(shù)據(jù),通常不會(huì)穿過(guò)局域網(wǎng)的邊界(路由器),除非它變成一個(gè)單播。廣播將是一個(gè)二進(jìn)制的全1或者十六進(jìn)制全F的地址。而第3層廣播用于在這個(gè)網(wǎng)絡(luò)內(nèi)向所有的結(jié)點(diǎn)發(fā)送數(shù)據(jù)。第3層廣播也支持平面的老式廣播。
廣播信息是指以某個(gè)廣播域所有主機(jī)為目的的信息。這些被稱為網(wǎng)絡(luò)廣播,它們所有的主機(jī)位均為ON。硬件組播(multicasting)是一種多點(diǎn)投遞的形式,它使用硬件技術(shù),通過(guò)使用大量組播地址來(lái)通信。當(dāng)某一組機(jī)器需要通信時(shí),選擇一個(gè)組播地址,并配置好相應(yīng)的網(wǎng)絡(luò)接口硬件,識(shí)別組播地址,從而收到該組播地址上分組的拷貝。
廣播(broadcasting)是多點(diǎn)投遞的最普遍的形式,它向每一個(gè)目的站投遞一個(gè)分組的拷貝。它可以通過(guò)多個(gè)單次分組的投遞完成,也可以通過(guò)單獨(dú)的連接傳遞分組的拷貝,直到每個(gè)接收方均收到一個(gè)拷貝為止。在多數(shù)網(wǎng)絡(luò)中,用戶是通過(guò)把分組分送給一個(gè)特殊保留的地址即廣播地址(broadcast address)來(lái)進(jìn)行廣播投遞,它的主要缺點(diǎn)是會(huì)耗費(fèi)大量的主機(jī)資源和網(wǎng)絡(luò)資源。
單播(unicasting)是指只有一個(gè)目的地的數(shù)據(jù)報(bào)傳遞。從投遞目的地的數(shù)量而言,單播和廣播均可看作是組播的一個(gè)子集。單播可以看作僅包括一臺(tái)機(jī)器群組的組播;廣播可以看作包含了所有機(jī)器群組的組播。但從數(shù)據(jù)報(bào)的投遞方式而言,單播、廣播和組播還是有較大的區(qū)別。
硬件基礎(chǔ)
要想正確理解廣播風(fēng)暴的具體含義,必須了解一下工作在網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備的工作原理。工作在網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備,基本上都是交換機(jī)了。
基本常識(shí)
交換機(jī)的定義:交換機(jī)是一種基于MAC(網(wǎng)卡的地址硬件)識(shí)別,能完成封裝轉(zhuǎn)發(fā)數(shù)據(jù)包功能的網(wǎng)絡(luò)設(shè)備。交換機(jī)可以“學(xué)習(xí)”MAC地址,并把其存放在內(nèi)部地址表中,通過(guò)在數(shù)據(jù)幀的始發(fā)者和目標(biāo)接收者之間建立臨時(shí)的交換路徑,使數(shù)據(jù)幀直接由源地址到達(dá)目的地址。集線器,又稱Hub。但是這并不意味著,我們不需要了解Hub的基本知識(shí)。
集線器的定義:集線器(HUB)屬于數(shù)據(jù)通信系統(tǒng)中的基礎(chǔ)設(shè)備,它和雙絞線等傳輸介質(zhì)一樣,是一種不需任何軟件支持或只需很少管理軟件管理的硬件設(shè)備。它被廣泛應(yīng)用到各種場(chǎng)合。集線器工作在區(qū)域網(wǎng)路 - LAN環(huán)境,像網(wǎng)卡一樣,應(yīng)用于OSI參考模型第一層,因此又被稱為物理層設(shè)備。集線器內(nèi)部采用了電器互聯(lián),當(dāng)維護(hù)LAN的環(huán)境是邏輯總線或環(huán)型結(jié)構(gòu)時(shí),完全可以用集線器建立一個(gè)物理上的星型或樹(shù)型網(wǎng)路結(jié)構(gòu)。在這方面,集線器所起的作用相當(dāng)于多連接埠的中繼器。其實(shí),集線器實(shí)際上就是中繼器的一種,其區(qū)別僅在于集線器能夠提供更多的連接埠服務(wù),所以集線器又叫多口中繼器。
區(qū)別
經(jīng)常會(huì)存在這樣一個(gè)技術(shù)誤區(qū),網(wǎng)絡(luò)中使用的是交換機(jī),數(shù)據(jù)全部是點(diǎn)對(duì)點(diǎn)轉(zhuǎn)發(fā)的,為什么還會(huì)產(chǎn)生廣播風(fēng)暴呢?在充分了解了交換機(jī)與集線器的功能區(qū)別后,人們就會(huì)明白,使用交換機(jī)作為網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò),為什么會(huì)出現(xiàn)廣播風(fēng)暴。用集線器組成的網(wǎng)絡(luò)稱為共享式網(wǎng)絡(luò),而用交換機(jī)組成的網(wǎng)絡(luò)稱為交換式網(wǎng)絡(luò)。共享式以太網(wǎng)存在的主要問(wèn)題是所有用戶共享帶寬,每個(gè)用戶的實(shí)際可用帶寬隨網(wǎng)路用戶數(shù)的增加而遞減。
這是因?yàn)楫?dāng)資訊繁忙時(shí),多個(gè)用戶可能同時(shí)“爭(zhēng)用”一個(gè)信道,而一個(gè)信道在某一時(shí)刻只允許一個(gè)用戶占用,所以大量的用戶經(jīng)常處于監(jiān)測(cè)等待狀態(tài),致使信號(hào)傳輸時(shí)產(chǎn)生抖動(dòng)、停滯或失真,嚴(yán)重影響了網(wǎng)絡(luò)的性能。在交換式以太網(wǎng)中,交換機(jī)提供給每個(gè)用戶專用的資訊通道,除非兩個(gè)源連接埠企圖同時(shí)將資訊發(fā)往同一個(gè)目的連接埠,否則多個(gè)源連接埠與目的連接埠之間可同時(shí)進(jìn)行通信而不會(huì)發(fā)生沖突。
通過(guò)實(shí)驗(yàn)測(cè)得,在多服務(wù)器組成的LAN中,處于半雙工通信模式下的交換式以太網(wǎng)的實(shí)際最大傳輸速度是共享式網(wǎng)路的1.7倍,而工作在全雙工狀態(tài)下的交換式以太網(wǎng)的實(shí)際最大傳輸速度可達(dá)到共享式網(wǎng)路的3.8倍。交換機(jī)只是在工作方式上與集線器不同,其他的如連接方式、速度選擇等與集線器基本相同,交換機(jī)同樣從速度上分為10M、100M和1000M幾種,所提供的連接埠數(shù)多為8口、16口和24口幾種。交換機(jī)在區(qū)域網(wǎng)路中主要用于連接工作站、Hub、服務(wù)器或用于分散式主干網(wǎng)。
ARP攻擊
基本定義:
ARP(Address Resolution Protocol,地址解析協(xié)議)是一個(gè)位于TCP/IP協(xié)議棧中的底層協(xié)議,對(duì)應(yīng)于數(shù)據(jù)鏈路層,負(fù)責(zé)將某個(gè)IP地址解析成對(duì)應(yīng)的MAC地址。
基本功能:
ARP協(xié)議的基本功能就是通過(guò)目標(biāo)設(shè)備的IP地址,查詢目標(biāo)設(shè)備的MAC地址,以保證通信的進(jìn)行。
攻擊原理:
ARP攻擊就是通過(guò)偽造IP地址和MAC地址實(shí)現(xiàn)ARP欺騙,能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞,攻擊者只要持續(xù)不斷的發(fā)出偽造的ARP響應(yīng)包就能更改目標(biāo)主機(jī)ARP緩存中的IP-MAC條目,造成網(wǎng)絡(luò)中斷或中間人攻擊。
ARP攻擊主要是存在于局域網(wǎng)網(wǎng)絡(luò)中,局域網(wǎng)中若有一臺(tái)計(jì)算機(jī)感染ARP木馬,則感染該ARP木馬的系統(tǒng)將會(huì)試圖通過(guò)“ARP欺騙”手段截獲所在網(wǎng)絡(luò)內(nèi)其它計(jì)算機(jī)的通信信息,并因此造成網(wǎng)內(nèi)其它計(jì)算機(jī)的通信故障。
某機(jī)器A要向主機(jī)B發(fā)送報(bào)文,會(huì)查詢本地的ARP緩存表,找到B的IP地址對(duì)應(yīng)的MAC地址后,就會(huì)進(jìn)行數(shù)據(jù)傳輸。如果未找到,則A廣播一個(gè)ARP請(qǐng)求報(bào)文(攜帶主機(jī)A的IP地址Ia——物理地址Pa),請(qǐng)求IP地址為Ib的主機(jī)B回答物理地址Pb。網(wǎng)上所有主機(jī)包括B都收到ARP請(qǐng)求,但只有主機(jī)B識(shí)別自己的IP地址,于是向A主機(jī)發(fā)回一個(gè)ARP響應(yīng)報(bào)文。其中就包含有B的MAC地址,A接收到B的應(yīng)答后,就會(huì)更新本地的ARP緩存。接著使用這個(gè)MAC地址發(fā)送數(shù)據(jù)(由網(wǎng)卡附加MAC地址)。因此,本地高速緩存的這個(gè)ARP表是本地網(wǎng)絡(luò)流通的基礎(chǔ),而且這個(gè)緩存是動(dòng)態(tài)的。
對(duì)策
激活防止ARP病毒攻擊。在路由器中打開(kāi)該選項(xiàng),或者為計(jì)算機(jī)安裝防范ARP攻擊的軟件,如360安全衛(wèi)士的局域網(wǎng)ARP攻擊攔截的保護(hù)功能等;對(duì)局域網(wǎng)內(nèi)每一臺(tái)計(jì)算機(jī)綁定網(wǎng)關(guān)的IP和其mac地址;給每一臺(tái)計(jì)算機(jī)安裝最新補(bǔ)丁,最好通過(guò)在局域網(wǎng)內(nèi)架設(shè)補(bǔ)丁服務(wù)器(WSUS)來(lái)確保每一臺(tái)計(jì)算機(jī)都能打上最新的補(bǔ)丁程序,如關(guān)鍵更新、安全更新和Service Pack;給系統(tǒng)管理員帳戶設(shè)置足夠復(fù)雜的強(qiáng)密碼;經(jīng)常更新殺毒軟件的病毒庫(kù)和網(wǎng)絡(luò)軟件防火墻的規(guī)則庫(kù);關(guān)閉一些不需要的服務(wù);不隨意點(diǎn)擊聊天工具里出現(xiàn)的超鏈接、郵件的附件和來(lái)歷不明的程序。
網(wǎng)絡(luò)視頻
部分視頻網(wǎng)絡(luò)傳輸設(shè)備為了便于網(wǎng)絡(luò)視頻點(diǎn)播,常常采用UDP的方式,以廣播數(shù)據(jù)包的形式對(duì)外進(jìn)行發(fā)送,如果在專用網(wǎng)絡(luò)中也使用這種方式,很容易引發(fā)廣播風(fēng)暴,導(dǎo)致網(wǎng)絡(luò)阻塞,因此必須通過(guò)相關(guān)設(shè)置來(lái)杜絕這類(lèi)故障。
對(duì)策:將視頻網(wǎng)絡(luò)傳輸設(shè)備所連接的交換機(jī)端口進(jìn)行一些設(shè)置,對(duì)設(shè)備本身的網(wǎng)絡(luò)傳輸模式以及傳送協(xié)議類(lèi)型進(jìn)行更改,消除網(wǎng)絡(luò)廣播風(fēng)暴。
惡劣環(huán)境
如不合適的溫度、濕度、震動(dòng)和電磁干擾等,尤其是電磁干擾比較嚴(yán)重的環(huán)境下,同樣也有可能會(huì)使網(wǎng)絡(luò)變得不穩(wěn)定,造成數(shù)據(jù)傳輸錯(cuò)誤,引發(fā)廣播風(fēng)暴。
對(duì)策:要嚴(yán)格執(zhí)行接地要求,特別是涉及遠(yuǎn)程線路的網(wǎng)絡(luò)轉(zhuǎn)接設(shè)備,否則達(dá)不到規(guī)定的連接速度,導(dǎo)致在聯(lián)網(wǎng)過(guò)程中產(chǎn)生莫名其妙的故障;另外在建網(wǎng)之初必須考慮盡量避免計(jì)算機(jī)或者網(wǎng)絡(luò)介質(zhì)直接暴露強(qiáng)磁場(chǎng)中,如電磁爐、高壓電纜、電源插頭處等等;定期對(duì)計(jì)算機(jī)進(jìn)行清潔工作。
形成原因
幀的傳輸方式,即單播幀(Unicast Frame)、多播幀(Multicast Frame)和廣播幀(Broadcast Frame)。
1、單播幀
單播幀也稱“點(diǎn)對(duì)點(diǎn)”通信。此時(shí)幀的接收和傳遞只在兩個(gè)節(jié)點(diǎn)之間進(jìn)行,幀的目的MAC地址就是對(duì)方的MAC地址,網(wǎng)絡(luò)設(shè)備(指交換機(jī)和路由器)根據(jù)幀中的目的MAC地址,將幀轉(zhuǎn)發(fā)出去。
2、多播幀
多播幀可以理解為一個(gè)人向多個(gè)人(但不是在場(chǎng)的所有人)說(shuō)話,這樣能夠提高通話的效率。多播占網(wǎng)絡(luò)中的比重并不多,主要應(yīng)用于網(wǎng)絡(luò)設(shè)備內(nèi)部通信、網(wǎng)上視頻會(huì)議、網(wǎng)上視頻點(diǎn)播等。
3、廣播幀
廣播幀可以理解為一個(gè)人對(duì)在場(chǎng)的所有人說(shuō)話,這樣做的好處是通話效率高,信息一下子就可以傳遞到全體。在廣播幀中,幀頭中的目的MAC地址是“FF.FF.FF.FF.FF.FF”,代表網(wǎng)絡(luò)上所有主機(jī)網(wǎng)卡的MAC地址。
廣播幀在網(wǎng)絡(luò)中是必不可少的,如客戶機(jī)通過(guò)DHCP自動(dòng)獲得IP地址的過(guò)程就是通過(guò)廣播幀來(lái)實(shí)現(xiàn)的。而且,由于設(shè)備之間也需要相互通信,因此在網(wǎng)絡(luò)中即使沒(méi)有用戶人為地發(fā)送廣播幀,網(wǎng)絡(luò)上也會(huì)出現(xiàn)一定數(shù)量的廣播幀。
同單播和多播相比,廣播幾乎占用了子網(wǎng)內(nèi)網(wǎng)絡(luò)的所有帶寬。網(wǎng)絡(luò)中不能長(zhǎng)時(shí)間出現(xiàn)大量的廣播幀,否則就會(huì)出現(xiàn)所謂的“廣播風(fēng)暴”(每秒的廣播幀數(shù)在1000以上)。拿開(kāi)會(huì)打一個(gè)比方,在會(huì)場(chǎng)上只能有一個(gè)人發(fā)言,如果所有人都同時(shí)發(fā)言的話,會(huì)場(chǎng)上就會(huì)亂成一鍋粥。廣播風(fēng)暴就是網(wǎng)絡(luò)長(zhǎng)時(shí)間被大量的廣播數(shù)據(jù)包所占用,使正常的點(diǎn)對(duì)點(diǎn)通信無(wú)法正常進(jìn)行,其外在表現(xiàn)為網(wǎng)絡(luò)速度奇慢無(wú)比。出現(xiàn)廣播風(fēng)暴的原因有很多,一塊故障網(wǎng)卡就可能長(zhǎng)時(shí)間地在網(wǎng)絡(luò)上發(fā)送廣播包而導(dǎo)致廣播風(fēng)暴。
使用路由器或三層交換機(jī)能夠?qū)崿F(xiàn)在不同子網(wǎng)間隔離廣播風(fēng)暴的作用。當(dāng)路由器或三層交換機(jī)收到廣播幀時(shí)并不處理它,使它無(wú)法再傳遞到其他子網(wǎng)中,從而達(dá)到隔離廣播風(fēng)暴的目的。因此在由幾百臺(tái)甚至上千臺(tái)電腦構(gòu)成的大中型局域網(wǎng)中,為了隔離廣播風(fēng)暴,都要進(jìn)行子網(wǎng)劃分。
使用vlan完全可以隔離廣播風(fēng)暴。
經(jīng)驗(yàn)總結(jié)
作為網(wǎng)絡(luò)管理員,在面對(duì)網(wǎng)絡(luò)廣播風(fēng)暴發(fā)生時(shí),要冷靜分析廣播風(fēng)暴產(chǎn)生的原因,可使用二分法、排除法、替換法和網(wǎng)線插拔法等多種方法綜合運(yùn)用,一步一步地進(jìn)行故障排除,快速定位引發(fā)廣播風(fēng)暴的故障點(diǎn),查出引發(fā)廣播風(fēng)暴的原因,及時(shí)采取相應(yīng)措施來(lái)消滅廣播風(fēng)暴??偟膩?lái)看,要解決廣播風(fēng)暴的問(wèn)題,可以從以下幾個(gè)方面入手:
一、在局域網(wǎng)中安裝WSUS補(bǔ)丁服務(wù)器,保證局域網(wǎng)所有計(jì)算機(jī)都能及時(shí)打上最新的補(bǔ)丁。
二、最好在局域網(wǎng)內(nèi)安裝網(wǎng)絡(luò)版的防毒服務(wù)器,如無(wú)條件,起碼也得保證單機(jī)版的防毒軟件的病毒庫(kù)是經(jīng)常更新的。
三、檢查每一臺(tái)計(jì)算機(jī)的網(wǎng)卡、網(wǎng)線和交換機(jī)的每一個(gè)端口,檢查是否有故障。
四、當(dāng)廣播風(fēng)暴發(fā)生時(shí),觀察交換機(jī)的指示燈不啻為很好的方法,可直接觀察網(wǎng)絡(luò)連通性及網(wǎng)絡(luò)流量。
要避免廣播風(fēng)暴,可以采用恰當(dāng)劃分VLAN、縮小廣播域、隔離廣播風(fēng)暴,還可在千兆以太網(wǎng)口上啟用廣播風(fēng)暴控制,最大限度地避免網(wǎng)絡(luò)再次陷入癱瘓。當(dāng)端口接受到大量的廣播、單播或組播的包時(shí),就會(huì)發(fā)生廣播風(fēng)暴。轉(zhuǎn)發(fā)這些包會(huì)導(dǎo)致網(wǎng)絡(luò)速度變慢或超時(shí),在交換機(jī)上借助對(duì)端口的廣播風(fēng)暴控制可以有效避免硬件損壞或鏈路故障導(dǎo)致的廣播風(fēng)暴的網(wǎng)絡(luò)癱瘓。
從實(shí)際經(jīng)驗(yàn)來(lái)看,90%以上的網(wǎng)絡(luò)廣播風(fēng)暴是病毒所致,因此,在局域網(wǎng)中配備防病毒系統(tǒng),購(gòu)置IDS入侵檢測(cè)系統(tǒng)、網(wǎng)絡(luò)流量檢測(cè)工具等,以加強(qiáng)網(wǎng)絡(luò)病毒的防治,加強(qiáng)對(duì)網(wǎng)絡(luò)線路運(yùn)行狀態(tài)的監(jiān)控,及時(shí)發(fā)現(xiàn)和處理網(wǎng)絡(luò)上的異常流量和病毒攻擊等問(wèn)題,并制定計(jì)算機(jī)安全管理制度,確保網(wǎng)絡(luò)線路的正常運(yùn)行。
