帶你走進網絡世界:交換機的工作失誤?廣播風暴詳解

我們都知道交換機的作用是互相交換數據的,但是你們有沒有想到過交換機的這套工作機制存在著一些缺陷?(不瞭解的可以去看一下我這篇文章

《帶你走進網絡世界:硬件篇-二層交換機》

  1. 這個缺陷就是我們今天要講解的"廣播風暴"。
  2. 以下我們通過三個問題來一起了解一下"廣播風暴"。
帶你走進網絡世界:交換機的工作失誤?廣播風暴詳解

何為廣播風暴?

廣播風暴(broadcast storm)簡單的說就是指整個廣播域充斥著大量廣播包,同時還不斷產生新的廣播包(這些廣播包被交換機大量複製),這些廣播包無法被網絡設備處理,並且佔用了網絡設備的大量網絡帶寬、系統資源,導致業務不能正常運行,甚至徹底癱瘓,這就是"廣播風暴"。

廣播風暴是怎樣形成的?

  1. 廣播風暴的成因就是因為網路中出現了"環路"。
  2. 那麼什麼是"環路"?其實這個很好理解,用一根網線連接同一臺交換機的兩個端口(前提是同一廣播域下)這樣就形成了環路了,當然也可以用兩根網線,分別連接兩臺交換機上的兩個端口,就像下面這個圖,這樣就形成了環路了。
  3. 環路的結構有很多種,但是都有一個共同點,交換機發送一個廣播包出去,然後通過某種形式從交換機的另一個接口接收到,然後交換機又把這個廣播包發送出去,就這樣一直死循環下去,這就是環路,也是廣播風暴。
帶你走進網絡世界:交換機的工作失誤?廣播風暴詳解

環路拓撲圖

現在我們舉個例子來說明一下,現在有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抓包就能抓到大量的廣播包了,這個就是廣播風暴的情景。

命令如下:

  • system-view
  • [Huawei]undo stp enable (關閉STP命令)
  • Warning: The global STP state will be changed. Continue? [Y/N] y (這裡按Y)

兩臺交換機都需要關閉STP。

帶你走進網絡世界:交換機的工作失誤?廣播風暴詳解

模擬實驗圖

這是模擬器模擬的廣播風暴情景,不到半分鐘就產生了將近8000個廣播包,這僅僅用兩臺交換機和一臺終端模擬的環境,如果在實際環境下產生廣播風暴的後果可想而知。

帶你走進網絡世界:交換機的工作失誤?廣播風暴詳解

廣播風暴情景

文章上述展示的環路結構拓撲圖,在實際環境中使用率非常高,為什麼這些網絡結構會產生廣播風暴還會用?因為這些結構可以很好地避免“單點故障”。

那怎麼避免由網絡結構帶來的廣播風暴呢?

網絡協議的出現其實很大一部分原因是修補某些技術所出現的一些缺陷,例如IPv6就是為了彌補IPv4地址數量不足而研發的,RIPv2就是因為RIPv1功能太多限制而研發的,而STP協議也是其中之一,STP協議就是為了廣播風暴而生的,下期我將帶大家走進STP的大門,敬請留意。


分享到:


相關文章: