那我們先來看下官方術語:廣播風暴(broadcast storm)簡單的講是指當廣播數據充斥網絡無法處理,并占用大量網絡帶寬,導緻正常業務不能運行,甚至徹底癱瘓,這就發生了“廣播風暴”。一個數據幀或包被傳輸到本地網段 (由廣播域定義)上的每個節點就是廣播;由于網絡拓撲的設計和連接問題,或其他原因導緻廣播在網段内大量複制,傳播數據幀,導緻網絡性能下降,甚至網絡癱瘓,這就是廣播風暴。
是不是沒看懂,說實話,面對着這麼多專業術語,我也是看得似懂非懂,那怎麼辦,别着急,接着往下看,我舉個非常簡單的例子,你就會明白了,那我們先來看下什麼是廣播。
什麼是廣播?
舉例說明:小明是五年級三班的學生,小明所在的學校有好幾千個學生。有一天,教導處主任要找小明有急事,但主任并不知道小明是哪個班的,那怎麼辦呢?主任隻能跑到教導處發廣播通知,通知内容是:“小明同學,小明同學,教導處主任找你有急事,請聽到廣播後,馬上到教導處來一趟。”請注意,廣播是學校所有學生都能聽得到的,但其他學生聽到廣播後,沒不會有什麼反應,因為找的是小明,并不是自己。隻有小明聽到廣播後,會做出反應,馬上會跑到教導處找到主任,“報告主任,我是五年級三班的小明同學”。這時主任就知道小明同學是五年級三班的學生,下次要是再找小明有事,就不會去發廣播,而是直接到五年級三班的教室去找小明,對小明而言,小明也知道了主任的辦公室在教導處,要是找主任有事,也會直接去教導處。
怎麼樣,這下明白什麼是廣播了吧。那我們運用到網絡中來。
舉例說明:假如A電腦(台普通的電腦)想要訪問B電腦(某台文件服務器)上的文件,但是A電腦以前從來沒訪問過B電腦上的文件,也不知道B電腦具體在哪個位置,這是第一次訪問,A電腦隻知道B電腦的IP地址或主機名(相當于上面例子中,隻知道那個學生叫小明),那該怎麼辦呢?這時A電腦會向局域網中所有的電腦發送一條廣播數據包,數據包裡面包含自己的IP地址或主機名、MAC地址(源MAC地址)、B電腦的IP地址(目标IP地址)或主機名,(相當于上面例子中,告訴所有學生,我是教導處主任,我現在在教導處,我找小明同學有事)。這條數據包隻要在同一網段的電腦都會收到。但其它電腦收到這條數據包通常都會将包丢棄,因為這包不是發給自己的,隻有B電腦收到包後,會返回一個數據包,數據包中包含自己的IP地址、自己的MAC地址、A電腦的IP地址、A電腦的MAC地址,當A電腦收到B電腦返回數據包後,就可以直接向B電腦發送請求數據,訪問文件。B電腦收到請求後,也會直接把文件發送給A電腦。而不是向局域網中所有電腦發送廣播。
現在明白網絡中的廣播是怎麼傳輸的了吧。現在來說說廣播風暴,那就很簡單了。
又回到原來的話題,什麼是廣播風暴?用我們自己的話來講,就是當局域網中設備過多,而恰好多台電腦同時發送廣播,這時網絡中到處充斥着數據無法處理,并占用大量網絡帶寬,導緻正常業務不能運行,甚至徹底癱瘓,這就我們所說的廣播風暴”【請注意:在網絡中,任何設備都可以有意識(人為操作)或無意識(電腦後台自己操作)的發送廣播數據,這裡跟上面的例子學校隻能在教導處發送廣播不一樣】。
怎麼樣,現在明白什麼是廣播風暴了吧,要是還不明白,那我再舉個簡單的例子。
某條高速公路4車道,平時車流量剛好能保持正常運行,但要是碰上十一長假,所有的車都擠向這條高速,因為路的寬度是固定的,那結果也是可想而知道,勢必會造成道路擁堵,交通癱瘓。
怎樣避免廣播風暴?說了這麼多,終于明白了什麼是廣播風暴,那究竟要怎麼避免廣播風暴呢?
- 劃分子網
- 使用VLAN(其它VLAN就是在使用子網,隻是VLAN更加靈活,更加方便,但設置也比劃分子網複雜)
廣播風暴是怎樣形成的?
- 廣播風暴的成因就是因為網路中出現了"環路"。
- 那麼什麼是"環路"?其實這個很好理解,用一根網線連接同一台交換機的兩個端口(前提是同一廣播域下)這樣就形成了環路了,當然也可以用兩根網線,分别連接兩台交換機上的兩個端口,就像下面這個圖,這樣就形成了環路了。
- 環路的結構有很多種,但是都有一個共同點,交換機發送一個廣播包出去,然後通過某種形式從交換機的另一個接口接收到,然後交換機又把這個廣播包發送出去,就這樣一直死循環下去,這就是環路,也是廣播風暴。
現在我們舉個例子來說明一下,現在有A、B、C、D四台交換機。
當A接收到一個廣播包之後,A會把這個廣播包以泛洪(廣播)的形式發送出去,意思就是B、C都會接收到這個廣播包,然後B和C又會以泛洪的形式再發送出去給C,然後C接收到這個廣播包之後,C會把從D哪裡接收到的廣播包發送個B,再把B接收到的廣播包發送給D,然後B和D就接收到了對方的廣播包,然後B又會把從C那裡接收到的廣播包發送給A,D會把從C那裡接收到的廣播包發送個A,然後A又會把廣播包發送出去,就這樣一直死循環下去,而且交換機每接收發送一次就會産生一個新的廣播包,這就是我們所說的廣播風暴形成的原因。
拓展閱讀:廣播風暴産生的環境不僅僅是在交換機上,路由器也會産生廣播風暴。
廣播風暴形成後會産生什麼樣的後果
廣播風暴産生後,廣播包一直得不到網絡設備的處理,就會導緻交換機因為轉發和接收這些廣播包而把自身的帶寬和系統資源耗光,然後廣播風暴所在的廣播域會被這些廣播包充斥滿導緻網絡中斷業務癱瘓等後果,可以說廣播風暴所到之地寸草不生。
模拟實驗:模拟廣播風暴的實驗非常簡單,隻需要按照下圖,把拓撲建立好,然後把SW1、SW2兩台交換機的STP功能關閉掉,在用PC2随意ping一個IP地址(發送廣播包),然後交換機就會收到廣播包,這樣模拟廣播風暴的實驗就完成了,我們再用Wireshark抓包就能抓到大量的廣播包了,這個就是廣播風暴的情景。
命令如下:
- <Huawei>system-view
- [Huawei]undo stp enable (關閉STP命令)
- Warning: The global STP state will be changed. Continue? [Y/N] y (這裡按Y)
兩台交換機都需要關閉STP。
模拟實驗圖
這是模拟器模拟的廣播風暴情景,不到半分鐘就産生了将近8000個廣播包,這僅僅用兩台交換機和一台終端模拟的環境,如果在實際環境下産生廣播風暴的後果可想而知。
廣播風暴情景
文章上述展示的環路結構拓撲圖,在實際環境中使用率非常高,為什麼這些網絡結構會産生廣播風暴還會用?因為這些結構可以很好地避免“單點故障”。
以太網是一個支持廣播的網絡,廣播報文在網絡中以泛洪的形式被送達到網絡的每一個角落,以保證網絡中每個設備都能夠接受到它。每台二層設備在接收到廣播報文以後,都會向除接收端口以外的其它所有接口重發這個廣播報文。一旦以太網絡中有環路,反複重複發送的數據将會以泛洪的形式占據大量的網絡資源,這種簡單的廣播機制就會引發災難性後果,對整個以太網或該廣播域造成影響。
以太網産生環路後可能會有如下現象産生:
A、本設備無法在交換機上上線,嚴重者會幹擾以太網中其它設備的上線。
B、網管上看MAC地址上報情況異常。
C、使用串口登錄設備進行操作時,操作比較慢。
D、電腦CPU占用率超過70%。
E、 通過ping命令進行網絡測試時丢包嚴重。
F、設備上發生環路的LAN的接口指示燈頻繁閃爍。
G、設備部署環路檢測後,設備出現環路告警。
本類故障的常見原因主要為設備線纜連接錯誤導緻環路,當然也有少數原因是以太網中某個設備自身産生的。
,