如何透過交換器排除群播和廣播風暴

Zyxel小編 Corey
Zyxel小編 Corey 文章數: 197  Zyxel Employee
First Answer First Comment Friend Collector Fifth Anniversary

前言

本文將示範如何查看哪個設備在網路中引起群播或廣播風暴以及網路中是否存在迴圈。我們將了解群播風暴和廣播風暴,它從哪裡來,如何找到群播/廣播風暴。如何利用交換器事件日誌、端口鏡像(mirroring)和 Wireshark 尋找到引起風暴的設備。

文章大綱

1)簡介

1.1 什麼是群播和廣播風暴?
1.2 群播和廣播風暴從何而來?
1.3 如何知道是否存在群播/廣播風暴

2) 如何尋找群播/廣播風暴來源

2.1 尋找風暴 - 交換器事件日誌
2.2 尋找風暴 - 端口鏡像
2.3 尋找風暴 - Wireshark

3)如何解決群播和廣播風暴

3.1 啟用風暴控制
3.2 啟用 IGMP Snooping(僅針對群播風暴)
3.3 解決故障設備行為

1)簡介

1.1 什麼是群播和廣播風暴?

廣播/群播風暴是指淹沒網路的大量廣播和群播流量。當存在大量此類封包時,可能會影響網路的性能,並且會消耗內部網路設備的大量資源,因此可能會導致網路連線異常。這些問題被稱為“廣播風暴”和“群播風暴”。

1.2 群播和廣播風暴從何而來?

廣播封包通過網路發送到相同廣播領域下的所有網路設備。大多數設備不需要這些廣播封包,並且會丟棄它們。它主要用於讓網路中的其他網路設備知道特定設備的存在,或者讓其他設備知道它們可以進行通信。廣播封包的一個範例是 DHCP Discover 封包。

群播封包以廣播類型的形式出現。它將向特定廣播域(224.0.0.0 到 239.255.255.255)中的所有設備發送數據,通常用於串流影片。 Chromecast、Apple TV、IPTV 等都使用群播流量通過 IP 傳輸影像。

1.3 如何知道是否存在群播/廣播風暴

a) 你會在日誌中發現群播/廣播風暴的紀錄
b) 網絡緩慢或不穩定,通常僅發生於網路的某些部分

2) 如何定位群播/廣播風暴

定位群播/廣播風暴非常簡單 - 您可以查看交換器的日誌。
對於獨立管理交換器和 Nebula 交換器,廣播和群播風暴都會由交換器記錄在日誌系統中。

2.1 尋找風暴 - 交換器事件日誌

這是尋找廣播/群播風暴的最簡單方法。在此範例中,可以看到我們的網路中正在發生群播風暴。
進入 整個站點 > 監控 > 交換器 > 事件日誌,我們可以看到 Port 23 上的 SW1 (GS1920-24) 和 Port 10 上的 SW2 上不斷發生群播風暴。

如果進入 SW1,我們可以看到 Port 23 是上行線路,因此這意味著群播風暴已從其他位置傳輸到上行線路端口。這是風暴的正常行為,因為它可能來自上行線路端口後面的任何地方。

如果我們查看 SW2,可以看到 Port 10 不是上行線路,而是連接到一台設備。

如果我們點擊 Port 10 進入 Nebula 的 Port 10 頁面,然後向下滾動到位於頁面右側下方的 MAC 表格,就能找出哪個 MAC 地址導致了這次的群播風暴。

我們可以透過網站查詢這個裝置屬於哪個廠牌 : https://macvendors.com

現在我們已經找到了風暴的來源,接下來需要找出該設備製造這些群播風暴的原因。這可以通過調查設備來完成,或者我們可以致電該產品相關技術人員。

2.2 尋找風暴 - 端口鏡像

在某些情況下,您無法使用交換器日誌找到風暴來源設備。因此你需要配置鏡像端口,或者使用Wireshark 在你的PC上抓包。

如何使用端口鏡像請看這篇文章:Nebula 診斷工具 - 鏡像端口和封包擷取

2.3 尋找風暴 - Wireshark

在某些情況下,您無法使用交換器日誌找到風暴來源。因此你需要配置一個端口鏡像,或者使用Wireshark 在你的 PC 上擷取封包。

首先,通過網路線將 PC 連接到網路,開啟 Wireshark 並選擇您正在使用的網路介面卡。在以下範例中,使用 WiFi 網路介面卡來擷取封包,但最好通過網路線將電腦直接連接到交換器。然後使用過濾器過濾群播和廣播封包:

multicast and broadcast

我們可以查看特定設備的廣播封包,如果這些封包快速塞滿 Wireshark 日誌(即每秒超過 30 個封包),表示網路可能發生封包,需要通過進一步研究該設備及其發送這些封包的原因來解決此問題。

下圖範例大約每秒產生一個廣播封包,表示網路正常,沒有出現風暴問題。

點選擷取封包,下方可以查看詳細資訊,找到其中的 Src 即可查詢到哪個裝置(MAC 位址)發出該封包。

使用工具 Advanced IP scanner ,通過我們找到的 MAC 地址找出該設備的 IP 地址:

3)如何解決群播和廣播風暴

現在我們已經找到了群播或廣播風暴的源頭,當然,我們需要解決它。解決群播/廣播風暴的主要方法有四種:

a) 確認網絡中是否存在迴圈並消除迴圈 - 群播/廣播風暴隨後就會消失

b) 啟用風暴控制 - 限制每秒通過端口發送的群播和廣播封包的數量,以便在風暴封包發生之前將其丟棄

c) 啟用 IGMP 偵聽(僅適用於群播風暴)- 控制和引導群播流量僅發送到請求它們的設備,避免將流量送給不需要的設備

d) 斷開設備與網路的連接或聯繫供應商以查看該設備發生了什麼情況,因為用群播/廣播封包淹沒網路是不正常的

3.1 啟用風暴控制

3.1.1 本地管理模式

前往 Advanced Application -> Broadcast Storm Control 然後配置群播/廣播風暴所在的端口:

在需要的端口上啟用風暴控制,並從每秒 50 個封包的值開始,如果仍然遇到風暴,則減少到 30 個。

建議在只有連接一台裝置的端口上面啟用設定,若端口串接 HUB ,無法確認設備數量,因此也無法準確限制。

3.1.2 Nebula 管理模式

前往 整個站點 > Devices > 交換器,將群播/廣播風暴所在的端口設置風暴控制

在需要的端口上啟用風暴控制,並從每秒 50 個封包的值開始,如果仍然遇到風暴,則減少到 30 個。

建議在只有連接一台裝置的端口上面啟用設定,若端口串接 HUB ,無法確認設備數量,因此也無法準確限制。

3.2 啟用 IGMP Snooping(僅針對群播風暴)

IGMP 監聽是一個很大的主題,我們不會在這邊深入討論它的理論。簡單來說,只要開啟功能,Switch 就能監聽 Multicast 流量,將豐包只傳送給需要的裝置。您可以在下面找到配置此功能的位置。

3.2.1 Nebula 管理模式

前往 整個站點 > 設定 > 交換器 > IGMP進階設定

啟用該頁面最上方的 IGMP snooping,完成記得點選 Save。

3.2.2 本地管理模式

前往 Advanced Application -> Multicast -> IPv4 Multicast -> IGMP Snooping

勾選 "Active",點選 "Apply",最後記得點擊右上角 "Save" 保存設定檔。

沒有點擊 "Save",交換器重啟設定將遺失。

了解更多 IG Snooping 設定可以參考此篇文章 : How to configure IGMP Snooping for multicast clients in the same LAN

3.3 解決故障設備行為

如果持續發生的群播/廣播風暴正在影響您的網絡,您需要立刻中斷設備與網路的連接。
您還可以聯繫引起風暴的設備的製造商(供應商)技術人員,找出引起風暴的原因,並嘗試由設備製造商(供應商)技術人員解決。