如何透過 Omada 交換器設定 MLD Snooping (控制器模式)

Knowledgebase
Configuration Guide
08-29-2024

內容

目標

要求

介紹

應用場景

MLD 系統如何運作

整體設定原則

設定

結論

 

目標

本文將介紹如何在 Omada SDN 控制器上設定 Omada 交換器的 MLD Snooping。

要求

  • Omada 智慧型、L2+ 和 L3 交換器
  • Omada 控制器(軟體控制器/硬體控制器/雲端控制器,V5.9 以上版本)

介紹

MLD Snooping(Multicast Listener Discovery Snooping)是一種 IPv6 Layer 2 Multicast 協定,監聽 Multicast 設備和用戶主機之間發送的 Multicast 封包,維護 Multicast 封包的輸出連接埠資訊,進而管理和控制在資料連接層上 Multicast 資料封包的轉發。

應用場景

這張圖顯示了一個常見的飯店 IPTV 情境。我們可以看到,IPTV Source 裝置位於區域網路(LAN)內。IPTV Source 裝置連接到存取層(Access)交換器,接著連接到匯聚層(Aggregation)交換器,這樣 Multicast 串流就能夠分發到區域網路中的所有 IPTV 裝置。連接到 IPTV 的存取層交換器也都連接到匯聚層交換器。

MLD 系統如何運作

MLD 系統由幾個部分組成:Multicast Source(IPTV Source)、MLD Querier、MLD Snooping、MLD Receiver。

 

對我們的產品來說,運作 MLD Snooping 的設備就是交換器,Omada 交換器也可以設定為 MLD Snooping MLD Querier。

 

在 MLD Snooping 中,MLD 封包分為三種:MLD Query、MLD Report、MLD Leave。

 

如果 Multicast Source 不支援 Query 功能,它將簡單地廣播所有串流,這會浪費網路資源。啟用 MLD Snooping 功能可以解決此問題。

 

Querier 發送 MLD Query,MLD Query 分為 General Query 和 Specific Query。這裡通常是 General Query,它會詢問是否有任何設備請求任何 Multicast 串流,MLD Query 將由交換器轉發,最終到達 MLD Receiver,例如 IPTV。

 

如果有人想觀看某個頻道,IPTV 會傳送 MLD Report,其中包含該頻道的資訊,來請求這個串流。這樣,IPTV 就會加入該 Multicast 群組。

 

當使用者切換到另一個頻道,即 IPTV 不再需要該串流時,會傳送 MLD Leave 來退出這個 Multicast 群組。

 

對於所有運作 MLD Snooping 的設備,有兩種連接埠角色可以幫助建立 Multicast 群組:Router 連接埠和 Member 連接埠。對於交換器來說,收到 MLD Query 封包的連接埠將成為 Router 連接埠,收到 MLD Report/Leave 的連接埠將成為 Member 連接埠。

 

也可以假設 Router 連接埠是交換器上距離 Querier 最近的連接埠,Member 連接埠是距離 Receiver 最近的連接埠。那麼經過前面提到的 Query 流程,運作 MLD Snooping 的交換器就會建立 Multicast 群組,包括該串流的 Multicast IP、該串流運作的 VLAN、以及參與該群組的連接埠,包括了 Router 連接埠和 Member 連接埠。

 

如前所述,Multicast Source 將簡單地在網路中廣播串流。Multicast 群組建立後,交換器只會向 Router 連接埠和 Member 連接埠轉發對應的 Multicast 串流。且 MLD Report/Leave 封包只會從 Member 連接埠轉發到 Router 連接埠。

整體設定原則

這裡以前面的拓樸為範例,介紹 MLD Snooping 的幾個整體設定原則。這些是我們在設定 MLD Snooping 時提出的一些建議,這將可避免錯誤操作並提高設備效率,帶來更好的使用者體驗。

 

  • 關閉路由器的 MLD 功能。

在這樣的飯店 IPTV 場景中,由於 IPTV Source 在區域網路當中,因此 Multicast 串流不會從 WAN 端進入,路由器實際上不會參與整個 MLD 流程中。

 

如果在路由器上啟用 MLD 功能,那麼它將被辨識為 Querier,因此與其連接的交換器連接埠將成為 Router 連接埠,之後所有 Multicast 串流將被轉發到路由器上,給路由器造成不必要的負載,可能導致路由器 CPU 和記憶體佔用過高,影響路由器原先的正常功能。

 

這就是為什麼建議停用路由器上的 MLD 功能,無論是 TP-Link 路由器還是其他供應商的路由器。

 

  • 啟用丟棄未知 Multicast 群組封包的功能。

設定 MLD Snooping 時,可以選擇轉發或丟棄未知群組的封包。

 

這裡,我們建議您選擇丟棄所有來自未知群組的封包。原因是對於未知群組,沒有一張記錄其 Member 連接埠的表,所以實際上交換器不知道這些封包應該轉發到哪裡。

 

如果選擇轉發,則會被廣播,造成網路資源的浪費,所以最好的方式就是丟棄。

 

  • MLD Snooping Querier 應最接近 Source。

由於 Source 需要來自終端裝置的 Report 來決定哪些串流需要 Multicast,因此需要 MLD Snooping Querier。

 

這裡網路中應該只有一個 Querier,而且只能在距離 IPTV Source 最近的交換器上進行設定。下圖為您提供了更直觀的說明。

 

這裡可以看到,Querier 會向其他人發送 MLD Query,這意味著它不會收到其他人的 MLD Query,所以 Querier 上沒有 Router 連接埠,因為我們知道啟用了 MLD Snooping 的交換器將 MLD Report 轉發到 Router 連接埠,因此在這種情況下,該 Querier 不會將 MLD Report 轉發給任何人。

 

另一台交換器不會收到任何 MLD Report,因此不會建立 Multicast 群組,雖然 Multicast Source 持續發送串流,但這些串流會被視為未知群組的串流,因為在這個交換器上沒有建立任何Multicast 群組,所以這些串流會被丟棄。

 

將最接近 Multicast Source 的交換器設定為 Querier 可以避免這個問題。這樣,MLD Snooping 就能在整個網路中生效,同時節省網路資源,並確保 Multicast 功能正常運作。

 

  • Fast Leave 和 Report Suppression 應靠近終端裝置。

Fast Leave 會在交換器收到終端裝置的 MLD Leave 時立即將連接埠從 MLD 群組中刪除,以便 IPTV 可以更快地切換到另一個頻道,為使用者提供流暢的體驗。

 

如果未啟用,則在收到 MLD Leave 後將發送另一個 Specific Query,來確定是否有更多 IPTV 請求此串流。

 

對於 Fast Leave ,您需要確保埠上僅連接一台 IPTV 裝置。這樣,在接收到 MLD Leave 訊息後立即停止串流,不會影響其他正在觀看相同頻道的 IPTV。

 

在圖中所示的情境下,如果一個 Member 埠上連接了多台 IPTV,則不建議啟用 Fast Leave。啟用 Fast Leave 會在接收到 MLD Leave 訊息時立即停止串流,這樣會打斷仍在觀看的其他電視機的串流。

 

如果在任何較高層級的 Uplink 交換器上啟用 Fast Leave,效果也是一樣的。因此,請記得僅在存取交換器上啟用 Fast Leave,並且僅對連接到單一 IPTV 的埠上進行設定。

 

Report Suppression 會收集來自不同 Member 連接埠的相同串流的 MLD Report,最終透過 Router 連接埠且只發出一份 MLD Report,進而減少 Uplink 的負載。

 

在大型 Multicast 網路中,例如安裝超過三到四百台 IPTV 的情況下,就會建議啟用 Report Suppression 功能。

 

對於 Report Suppression,在存取交換器上啟用這項功能能夠節省整個網路的資源。這樣可以從一開始就降低 MLD Report 封包的總數,並節省 Uplink 的頻寬。

 

在最核心的交換器上啟用 Report Suppression,但不在存取交換器上啟用,將會沒有意義以及效果。

 

如果您需要啟用這兩個功能,請記得將它們設定在靠近 IPTV 的交換器上。

設定

說明:本文介紹的所有 CLI 指令僅實現基本功能,更詳細的設定和參數請查看 CLI 指南。

 

步驟 1. 建立 MLD VLAN。

登入 Omada 控制器。前往 設定 > 有線網路 > LAN > 網路,點擊 建立新的 LAN

 

設定為 VLAN,選擇為僅交換器,然後勾選啟用 MLD Snooping。然後點擊 儲存

 

步驟 2. 透過 CLI 範本設定其餘參數。

前往 設定 > CLI 設定 > 設定 CLI,點擊 建立新的設備 CLI 設定檔

 

輸入名稱、說明,然後輸入 CLI 指令。

 

請注意,您也可以選擇從其他交換器的設定檔中複製 CLI 指令。

 

以下是參考 應用場景 中的拓樸和前面提到的原理(IPTV VLAN ID=200)來設定 MLD Snooping 的 CLI 指令:

 

匯聚交換器:

ipv6 mld snooping drop-unknown

 

連接 IPTV 的存取交換器:

ipv6 mld snooping drop-unknown

ipv6 mld snooping vlan-config 200 report-suppression

ipv6 mld snooping vlan-config 200 immediate-leave(如果這台交換器上的所有埠都只連接到一台 IPTV,則可以使用此指令。如果不是這種情況,請不要使用此指令,而是使用下面的指令透過連接埠啟用。)

interface gigabitEthernet 1/0/1

ipv6 mld snooping immediate-leave

 

連接 IPTV Source 的存取交換器:

ipv6 mld snooping drop-unknown

ipv6 mld snooping vlan-config 200 querier

 

若要想要查詢更多用於設定其他參數的 CLI 指令,請參閱產品支援頁面上的 CLI 指南。

 

步驟 3. 套用設備 CLI 設定檔。

使用連接 IPTV 的存取交換器為範例。

 

輸入完指令後,點擊 下一步,然後選擇要套用 CLI 的設備,這裡使用 SG2210P 為範例。

 

點擊 儲存,您將看到剛剛建立的 CLI 範本,點擊 套用 將其套用到所選的設備上。

 

然後您也可以透過點擊查看右上角的 查看 CLI 細節 來檢查它是否已成功套用。

 

欲了解更多可設定的參數,請查閱產品支援頁面上的 CLI 指南。另外,請記得依據之前提到的原則,為拓撲結構中不同位置的交換器設定不同的參數和功能。

結論

到這裡我們就透過一個範例完成了在 Omada 交換器上設定 MLD Snooping 的功能介紹。

了解每個功能和設定的更多詳細資訊,請前往 檔案下載 下載您的產品手冊。

 

 

 

Please Rate this Document

Related Documents