• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

09-IP組播配置指導

目錄

02-IGMP Snooping配置

本章節下載 02-IGMP Snooping配置  (615.59 KB)

02-IGMP Snooping配置

  錄

1 IGMP Snooping

1.1 IGMP Snooping簡介

1.1.1 IGMP Snooping原理

1.1.2 IGMP Snooping端口分類

1.1.3 IGMP Snooping工作機製

1.1.4 協議規範

1.2 IGMP Snooping與硬件適配關係

1.3 IGMP Snooping配置限製和指導

1.4 基於VLAN的IGMP Snooping配置任務簡介

1.5 開啟設備的IGMP Snooping特性

1.6 使能VLAN的IGMP Snooping

1.7 配置IGMP Snooping基本功能

1.7.1 配置IGMP Snooping版本

1.7.2 配置IGMP Snooping轉發表項的全局最大數量

1.7.3 配置IGMP特定組查詢報文的發送間隔

1.8 配置IGMP Snooping端口功能

1.8.1 配置動態端口老化定時器

1.8.2 配置靜態成員端口

1.8.3 配置靜態路由器端口

1.8.4 配置模擬主機加入

1.8.5 配置端口快速離開功能

1.8.6 禁止端口成為動態路由器端口

1.9 配置IGMP Snooping查詢器

1.9.1 開啟IGMP Snooping查詢器

1.9.2 配置IGMP普遍組查詢和響應

1.10 調整IGMP報文

1.10.1 配置IGMP報文的源IP地址

1.10.2 配置IGMP報文的802.1p優先級

1.11 配置IGMP Snooping策略

1.11.1 配置組播組過濾器

1.11.2 配置組播數據報文源端口過濾

1.11.3 配置丟棄未知組播數據報文

1.11.4 配置IGMP成員關係報告報文抑製

1.11.5 配置端口加入的組播組最大數量

1.11.6 配置組播組替換功能

1.12 IGMP Snooping顯示和維護

1.13 IGMP Snooping典型配置舉例

1.13.1 基於VLAN的組策略及模擬主機加入配置舉例

1.13.2 基於VLAN的靜態端口配置舉例

1.13.3 基於VLAN的IGMP Snooping查詢器配置舉例

1.14 IGMP Snooping常見故障處理

1.14.1 二層設備不能實現二層組播

1.14.2 配置的組播組策略不生效

 


1 IGMP Snooping

1.1  IGMP Snooping簡介

IGMP Snooping(Internet Group Management Protocol Snooping,互聯網組管理協議窺探)運行在二層設備上,通過偵聽三層設備與主機之間的IGMP報文來生成二層組播轉發表,從而管理和控製組播數據報文的轉發,實現組播數據報文在二層的按需分發。

1.1.1  IGMP Snooping原理

運行IGMP Snooping的二層設備通過對收到的IGMP報文進行分析,為端口和MAC組播地址建立起映射關係,並根據這樣的映射關係轉發組播數據。

圖1-1所示,當二層設備沒有運行IGMP Snooping時,組播數據在二層網絡中被廣播;當二層設備運行了IGMP Snooping後,已知組播組的組播數據不會在二層網絡中被廣播,而被組播給指定的接收者。

圖1-1 二層設備運行IGMP Snooping前後的對比

 

IGMP Snooping通過二層組播將信息隻轉發給有需要的接收者,可以帶來以下好處:

·     減少了二層網絡中的廣播報文,節約了網絡帶寬;

·     增強了組播信息的安全性;

·     為實現對每台主機的單獨計費帶來了方便。

1.1.2  IGMP Snooping端口分類

圖1-2所示,Device A連接組播源,在Switch A和Switch B上分別運行IGMP Snooping,Host A和Host C為接收者主機(即組播組成員)。根據在網絡中所處位置的不同,IGMP Snooping端口被分為路由器端口和成員端口兩類,以下分別介紹。

圖1-2 IGMP Snooping端口示意圖

 

1. 路由器端口

在運行了IGMP Snooping的二層設備上,朝向上遊三層組播設備的端口稱為路由器端口。如圖1-2中Switch A的Port A1端口和Switch B的Port B1端口。

根據來源不同,路由器端口可分為:

·     動態路由器端口:所有收到IGMP普遍組查詢報文(源地址非0.0.0.0)或PIM Hello報文的端口,都被維護為動態路由器端口。這些端口被記錄在動態路由器端口列表中,每個端口都有一個老化定時器。在老化定時器超時前,動態路由器端口如果收到了IGMP普遍組查詢報文(源地址非0.0.0.0)或PIM Hello報文,該定時器將被重置;否則,該端口將被從動態路由器端口列表中刪除。

·     靜態路由器端口:通過命令行手工配置的路由器端口稱為靜態路由器端口,這些端口被記錄在靜態路由器端口列表中。靜態路由器端口隻能通過命令行手工刪除,不會被老化。

說明

·     本文中提到的路由器端口都是指二層設備上朝向三層組播設備的端口,而不是指路由器上的端口。

·     如果沒有特別指明,本文中提到的路由器端口包括動態路由器端口和靜態路由器端口。

 

2. 成員端口

在運行了IGMP Snooping的二層設備上,朝向下遊組播組成員的端口稱為成員端口。如圖1-2中Switch A的Port A2和 Port A3端口,以及Switch B的Port B2端口。

根據來源不同,成員端口也可分為:

·     動態成員端口:所有收到IGMP成員關係報告報文的端口,都被維護為動態成員端口。這些端口被記錄在動態IGMP Snooping轉發表中,每個端口都有一個老化定時器。在老化定時器超時前,動態成員端口如果收到了IGMP成員關係報告報文,該定時器將被重置;否則,該端口將被從動態IGMP Snooping轉發表中刪除。

·     靜態成員端口:通過命令行手工配置的成員端口稱為靜態成員端口,這些端口被記錄在靜態IGMP Snooping轉發表中。靜態成員端口隻能通過命令行手工刪除,不會被老化。

說明

如果沒有特別指明,本文中提到的成員端口包括動態成員端口和靜態成員端口。

 

1.1.3  IGMP Snooping工作機製

運行了IGMP Snooping的二層設備對不同IGMP動作的具體處理方式如下:

說明

本節中所描述的增刪端口動作均隻針對動態端口,靜態端口隻能通過相應的配置進行增刪,具體步驟請參見“1.8.2  配置靜態成員端口”和“1.8.3  配置靜態路由器端口

 

1. 普遍組查詢

IGMP查詢器定期向本地網段內的所有主機與設備(224.0.0.1)發送IGMP普遍組查詢報文,以查詢該網段有哪些組播組的成員。

在收到IGMP普遍組查詢報文時,二層設備將其通過VLAN內除接收端口以外的其它所有端口轉發出去,並對該報文的接收端口做如下處理:

·     如果在動態路由器端口列表中已包含該動態路由器端口,則重置其老化定時器。

·     如果在動態路由器端口列表中尚未包含該動態路由器端口,則將其添加到動態路由器端口列表中,並啟動其老化定時器。

2. 報告成員關係

以下情況,主機會向IGMP查詢器發送IGMP成員關係報告報文:

·     當組播組的成員主機收到IGMP查詢報文後,會回複IGMP成員關係報告報文。

·     如果主機要加入某個組播組,它會主動向IGMP查詢器發送IGMP成員關係報告報文以聲明加入該組播組。

在收到IGMP成員關係報告報文時,二層設備將其通過VLAN內的所有路由器端口轉發出去,從該報文中解析出主機要加入的組播組地址,並對該報文的接收端口做如下處理:

·     如果不存在該組播組所對應的轉發表項,則創建轉發表項,將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;

·     如果已存在該組播組所對應的轉發表項,但其出端口列表中不包含該端口,則將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;

·     如果已存在該組播組所對應的轉發表項,且其出端口列表中已包含該動態成員端口,則重置其老化定時器。

說明

二層設備不會將IGMP成員關係報告報文通過非路由器端口轉發出去,因為根據主機上的IGMP成員關係報告抑製機製,如果非路由器端口下還有該組播組的成員主機,則這些主機在收到該報告報文後便抑製了自身的報告,從而使二層設備無法獲知這些端口下還有該組播組的成員主機。有關主機上的IGMP成員關係報告抑製機製的詳細介紹,請參見“IP組播配置指導”中的“IGMP”。

 

3. 離開組播組

運行IGMPv1的主機離開組播組時不會發送IGMP離開組報文,因此二層設備無法立即獲知主機離開的信息。但是,由於主機離開組播組後不會再發送IGMP成員關係報告報文,因此當其對應的動態成員端口的老化定時器超時後,二層設備就會將該端口從相應轉發表項的出端口列表中刪除。

運行IGMPv2或IGMPv3的主機離開組播組時,會通過發送IGMP離開組報文,以通知三層組播設備自己離開了某個組播組。當二層設備從某動態成員端口上收到IGMP離開組報文時,首先判斷要離開的組播組所對應的轉發表項是否存在,以及該組播組所對應轉發表項的出端口列表中是否包含該接收端口:

·     如果不存在該組播組對應的轉發表項,或者該組播組對應轉發表項的出端口列表中不包含該端口,二層設備不會向任何端口轉發該報文,而將其直接丟棄;

·     如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中除該端口還有別的成員端口存在,二層設備不會向任何端口轉發該報文,而將其直接丟棄。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以二層設備不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是向該端口發送IGMP特定組查詢報文,並根據IGMP特定組查詢報文調整該端口的老化定時器(老化時間為2×IGMP特定組查詢報文的發送間隔);

·     如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中隻有該端口,二層設備會將該報文通過VLAN內的所有路由器端口轉發出去。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以二層設備不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是向該端口發送IGMP特定組查詢報文,並根據IGMP特定組查詢報文調整該端口的老化定時器(老化時間為2×IGMP特定組查詢報文的發送間隔)。

當IGMP查詢器收到IGMP離開組報文後,從中解析出主機要離開的組播組的地址,並通過接收端口向該組播組發送IGMP特定組查詢報文。二層設備在收到IGMP特定組查詢報文後,將其通過VLAN內的所有路由器端口和該組播組的所有成員端口轉發出去。對於IGMP離開組報文的接收端口(假定為動態成員端口),二層設備在其老化時間內:

·     如果從該端口收到了主機響應該特定組查詢的IGMP成員關係報告報文,則表示該端口下還有該組播組的成員,於是重置其老化定時器;

·     如果沒有從該端口收到主機響應特定組查詢的IGMP成員關係報告報文,則表示該端口下已沒有該組播組的成員。當該端口的老化定時器超時後,將其從該組播組所對應轉發表項的出端口列表中刪除。

1.1.4  協議規範

與IGMP Snooping相關的協議規範有:

·     RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches

1.2  IGMP Snooping與硬件適配關係

本特性的支持情況與設備型號有關,請以設備的實際情況為準。

設備型號

主控板類型

說明

MSR5620

MPU-60

支持

MSR 56-60

MSR 56-80

MPU-100

支持

MPU-100-X1

支持

MPU-100-G

不支持

 

1.3  IGMP Snooping配置限製和指導

對於從Secondary VLAN中收到的主機加入請求,相關的IGMP Snooping轉發表項都將維護在Primary VLAN中,因此IGMP Snooping功能隻需在Primary VLAN中配置既可,在Secondary VLAN中即使配置了也不會生效。有關Primary VLAN和Secondary VLAN的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“Private VLAN”。

二層聚合接口與其各成員端口上的IGMP Snooping配置互不影響,且成員端口上的IGMP Snooping配置隻有當該端口退出聚合組後才會生效,二層聚合接口上的IGMP Snooping配置也不會參與聚合計算。

使能全局IGMP Snooping後,若還需在某指定VLAN內配置其他IGMP Snooping功能,則必須在這些VLAN下使能IGMP Snooping。

對於既可在VLAN視圖下配置,又可在IGMP-Snooping視圖下對多個VLAN進行配置的功能,兩個視圖下配置的優先級相同,最新配置生效。

對於既可在VLAN視圖下配置,又可在IGMP-Snooping視圖下對所有VLAN配置的功能,VLAN視圖下的配置的優先級較高。

對於既可在接口視圖下配置,又可在IGMP-Snooping視圖下配置的功能,IGMP-Snooping視圖下的配置對指定VLAN內的所有端口生效,接口視圖下配置隻對當前接口生效,且接口視圖下的配置優先級較高。

 

1.4  基於VLAN的IGMP Snooping配置任務簡介

基於VLAN的IGMP Snooping配置任務如下:

(1)     開啟設備的IGMP Snooping特性

(2)     使能VLAN的IGMP Snooping

(3)     (可選)配置IGMP Snooping基本功能

¡     配置IGMP Snooping版本

¡     配置IGMP Snooping轉發表項的全局最大數量

¡     配置IGMP特定組查詢報文的發送間隔

(4)     (可選)配置IGMP Snooping端口功能

¡     配置動態端口老化定時器

¡     配置靜態成員端口

¡     配置靜態路由器端口

¡     配置模擬主機加入

¡     配置端口快速離開功能

¡     禁止端口成為動態路由器端口

(5)     (可選)配置IGMP Snooping查詢器

¡     開啟IGMP Snooping查詢器

¡     配置IGMP普遍組查詢和響應

(6)     (可選)調整IGMP報文

¡     配置IGMP報文的源IP地址

¡     配置IGMP報文的802.1p優先級

(7)     (可選)配置IGMP Snooping策略

¡     配置組播組過濾器

¡     配置組播數據報文源端口過濾

¡     配置丟棄未知組播數據報文

¡     配置IGMP成員關係報告報文抑製

¡     配置端口加入的組播組最大數量

¡     配置組播組替換功能

1.5  開啟設備的IGMP Snooping特性

1. 功能簡介

隻有在開啟了設備的IGMP Snooping特性後,才能進行其它的IGMP Snooping相關配置。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟設備的IGMP Snooping特性,並進入IGMP-Snooping視圖。

igmp-snooping

缺省情況下,設備的IGMP Snooping特性處於關閉狀態。

1.6  使能VLAN的IGMP Snooping

1. 配置限製和指導

用戶既可在IGMP-Snooping視圖下對單個或多個VLAN進行配置,也可在VLAN視圖下隻對當前VLAN進行配置,二者的配置優先級相同。

在VLAN內使能了IGMP Snooping之後,IGMP Snooping隻在屬於該VLAN的端口上生效。

2. 使能單個或多個VLAN的IGMP Snooping

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     使能單個或多個VLAN的IGMP Snooping。

enable vlan vlan-list

缺省情況下,VLAN內的IGMP Snooping處於關閉狀態。

3. 使能單個VLAN的IGMP Snooping

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     使能該VLAN的IGMP Snooping。

igmp-snooping enable

缺省情況下,VLAN內的IGMP Snooping處於關閉狀態。

1.7  配置IGMP Snooping基本功能

1.7.1  配置IGMP Snooping版本

1. 功能簡介

配置IGMP Snooping的版本,實際上就是配置IGMP Snooping可以處理的IGMP報文的版本:

·     當IGMP Snooping的版本為2時,IGMP Snooping能夠對IGMPv1和IGMPv2的報文以及IGMPv3的查詢報文進行處理,對IGMPv3的成員關係報文則不進行處理,而是在VLAN內將其廣播;

·     當IGMP Snooping的版本為3時,IGMP Snooping能夠對IGMPv1、IGMPv2和IGMPv3的報文進行處理。

2. 配置限製和指導

當IGMP Snooping的版本由版本3切換到版本2時,係統將清除所有通過動態加入的IGMP Snooping轉發表項;對於在版本3下通過手工配置而靜態加入的IGMP Snooping轉發表項,則分為以下兩種情況進行不同的處理:

·     如果配置的僅僅是靜態加入組播組,而沒有指定組播源,則這些轉發表項將不會被清除;

·     如果配置的是指定了組播源的靜態加入組播源組,則這些轉發表項將會被清除,並且當再次切換回版本3時,這些轉發表項將被重新恢複。

有關靜態加入的詳細配置,請參見“1.8.2  配置靜態成員端口

3. 配置多個VLAN內的IGMP Snooping版本

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     配置多個VLAN內的IGMP Snooping的版本。

version version-number vlan vlan-list

缺省情況下,VLAN內IGMP Snooping的版本為2。

4. 配置單個VLAN內的IGMP Snooping版本

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     配置單個VLAN內的IGMP Snooping版本。

igmp-snooping version version-number

缺省情況下,VLAN內IGMP Snooping的版本為2。

1.7.2  配置IGMP Snooping轉發表項的全局最大數量

1. 功能簡介

用戶可以調整IGMP Snooping轉發表項(包括動態表項和靜態表項)的全局最大數量,當設備上維護的表項數量達到或超過最大數量後,係統不再創建新的表項,也不會主動刪除多餘表項,直至有表項被老化或被手工刪除,所以當設備上維護的表項數量達到或超過最大數量後,為避免此後無法再創建新的表項,建議用戶手工刪除多餘表項。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     配置IGMP Snooping轉發表項的全局最大數量。

entry-limit limit

缺省情況下,IGMP Snooping轉發表項的全局最大數量為4294967295。

1.7.3  配置IGMP特定組查詢報文的發送間隔

1. 功能簡介

合理配置IGMP特定組查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞。

二層設備所發送的IGMP特定組查詢報文,其報文的最大響應時間字段由所配置的IGMP特定組查詢報文的發送間隔來填充,在主機在收到IGMP特定組查詢報文後,會為其所加入的該組播組啟動一個定時器,定時器的值在0到最大響應時間(該時間值由主機從所收到的IGMP特定組查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。

2. 全局配置IGMP特定組查詢報文的發送間隔

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置IGMP特定組查詢報文的發送間隔。

last-member-query-interval interval

缺省情況下,IGMP特定組查詢報文的發送間隔為1秒。

3. 在VLAN內配置IGMP特定組查詢報文的發送間隔

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置IGMP特定組查詢報文的發送間隔。

igmp-snooping last-member-query-interval interval

缺省情況下,IGMP特定組查詢報文的發送間隔為1秒。

1.8  配置IGMP Snooping端口功能

1.8.1  配置動態端口老化定時器

1. 功能簡介

對於動態路由器端口,如果在其老化時間內沒有收到IGMP普遍組查詢報文或者PIM Hello報文,二層設備將把該端口從動態路由器端口列表中刪除。

對於動態成員端口,如果在其老化時間內沒有收到該組播組的IGMP成員關係報告報文,二層設備將把該端口從該組播組所對應轉發表項的出端口列表中刪除。

2. 配置限製和指導

請根據網絡環境合理設置動態端口的老化時間,比如網絡中組播組成員變動比較頻繁,可以把動態成員端口老化時間設置小一些,避免一些無效表項老化時間過長。

如果動態路由器端口收到的是PIMv2 Hello報文,那麼該端口的老化時間將由PIMv2 Hello報文所攜帶的參數決定,而不受本節配置的影響。

如果二層設備向動態成員端口主動發送IGMP特定組查詢報文,則該端口的老化時間將根據該IGMP特定組查詢報文進行調整,調整的老化時間為2×IGMP特定組查詢報文的發送間隔。二層設備IGMP特定組查詢報文發送間隔的配置,請參見“1.7.3  配置IGMP特定組查詢報文的發送間隔”。

3. 全局配置動態端口老化定時器

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置動態路由器端口老化時間。

router-aging-time seconds

缺省情況下,動態路由器端口的老化時間為260秒。

(4)     全局配置動態成員端口老化時間。

host-aging-time seconds

缺省情況下,動態成員端口的老化時間為260秒。

4. 在VLAN內配置動態端口老化定時器

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置動態路由器端口老化時間。

igmp-snooping router-aging-time seconds

缺省情況下,動態路由器端口的老化時間為260秒。

(4)     在VLAN內配置動態成員端口老化時間。

igmp-snooping host-aging-time seconds

缺省情況下,動態成員端口的老化時間為260秒。

1.8.2  配置靜態成員端口

1. 功能簡介

如果某端口所連接的主機需要固定接收發往某組播組或組播源組的組播數據,可以配置該端口靜態加入該組播組或組播源組,成為靜態成員端口。靜態成員端口不會對IGMP查詢器發出的查詢報文進行響應;當配置靜態成員端口或取消靜態成員端口的配置時,端口也不會主動發送IGMP成員關係報告報文或IGMP離開組報文。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置靜態成員端口。

igmp-snooping static-group group-address [ source-ip source-address ] vlan vlan-id

缺省情況下,端口不是靜態成員端口。

1.8.3  配置靜態路由器端口

1. 功能簡介

可以通過將二層設備上的端口配置為靜態路由器端口,從而使二層設備上收到的所有組播數據可以通過該端口被轉發出去。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置靜態路由器端口。

igmp-snooping static-router-port vlan vlan-id

缺省情況下,端口不是靜態路由器端口。

1.8.4  配置模擬主機加入

1. 功能簡介

在二層設備的端口上配置了模擬主機加入後,該模擬主機就可以模仿真實的組播組成員主機,對IGMP查詢器發出的查詢報文進行響應,包括:

·     啟動模擬主機時,該端口會主動發送一個IGMP成員關係報告報文。

·     在模擬主機的運行過程中,當收到IGMP查詢報文時,該端口會響應一個IGMP成員關係報告報文。

·     停止模擬主機時,該端口會發送一個IGMP離開組報文。

在二層設備的端口上配置了模擬主機加入後,模擬主機所采用的IGMP版本與IGMP Snooping的版本一致,並且該端口將作為動態成員端口參與動態成員端口的老化過程。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置模擬主機加入。

igmp-snooping host-join group-address [ source-ip source-address ] vlan vlan-id

缺省情況下,未配置模擬主機加入組。

1.8.5  配置端口快速離開功能

1. 功能簡介

端口快速離開是指當端口收到主機發來的離開指定組播組的IGMP離開組報文時,直接將該端口從相應轉發表項的出端口列表中刪除。此後,二層設備不會向該端口發送或轉發針對該組播組的IGMP特定組查詢報文。

2. 配置限製和指導

對於一個VLAN,隻有當一個端口下隻有一個接收者時,才建議配置本功能;否則,當一個端口下有多個接收者時,其中一個接收者的離開會觸發該端口的快速離開,從而導致屬於同一組播組的其它接收者無法收到組播數據。

同時開啟了二層和三層組播功能的網絡中,當端口上的組播組成員需要快速離開時,隻需通過本功能開啟二層組播的端口快速離開功能,不建議同時開啟三層組播的IPv6組播組成員快速離開功能(通過mld fast-leave命令),否則可能會導致同VLAN內的其他端口上組播業務中斷。有關mld fast-leave命令的詳細介紹,請參見“IP組播命令參考”中的“MLD”。

3. 全局配置端口快速離開功能

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局開啟端口快速離開功能。

fast-leave [ vlan vlan-list ]

缺省情況下,端口快速離開功能處於關閉狀態。

4. 在端口上配置端口快速離開功能

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     在端口上開啟端口快速離開功能。

igmp-snooping fast-leave [ vlan vlan-list ]

缺省情況下,端口快速離開功能處於關閉狀態。

1.8.6  禁止端口成為動態路由器端口

1. 功能簡介

在組播用戶接入網絡中,用戶主機在某些情況下(比如測試)也會發出IGMP普遍組查詢報文或PIM Hello報文:

·     如果二層設備收到了某用戶主機發來的IGMP普遍組查詢報文或PIM Hello報文,那麼接收報文的端口就將成為動態路由器端口,從而使VLAN內的所有組播報文都會向該端口轉發,導致該主機收到大量無用的組播報文。

·     同時,用戶主機發送IGMP普遍組查詢報文或PIM Hello報文,也會影響該接入網絡中三層設備上的組播路由協議狀態(如影響IGMP查詢器或DR的選舉),嚴重時可能導致網絡中斷。

當禁止一個端口成為動態路由器端口後,即使該端口收到了IGMP普遍組查詢報文或PIM Hello報文,該端口也不會成為動態路由器端口,從而能夠有效解決上述問題,提高網絡的安全性和對組播用戶的控製能力。

2. 配置限製和指導

禁止端口成為動態路由器端口的配置與靜態路由器端口的配置互不影響。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     禁止端口成為動態路由器端口。

igmp-snooping router-port-deny [ vlan vlan-list ]

缺省情況下,端口可以成為動態路由器端口。

1.9  配置IGMP Snooping查詢器

1.9.1  開啟IGMP Snooping查詢器

1. 功能簡介

在運行了IGMP的組播網絡中,會有一台三層組播設備充當IGMP查詢器,負責發送IGMP查詢報文,使三層組播設備能夠在網絡層建立並維護組播轉發表項,從而在網絡層正常轉發組播數據。

但是,在一個沒有三層組播設備的網絡中,由於二層設備並不支持IGMP,因此無法實現IGMP查詢器的相關功能。為了解決這個問題,可以在二層設備上開啟IGMP Snooping查詢器,使二層設備能夠在數據鏈路層建立並維護組播轉發表項,從而在數據鏈路層正常轉發組播數據。

2. 配置限製和指導

請避免在運行了IGMP的網絡中配置IGMP Snooping查詢器,因為盡管IGMP Snooping查詢器並不參與IGMP查詢器的選舉,但在運行了IGMP的網絡中,配置IGMP Snooping查詢器不但沒有實際的意義,反而可能會由於其發送的IGMP普遍組查詢報文的源IP地址較小而影響IGMP查詢器的選舉。有關IGMP查詢器的詳細介紹,請參見“IP組播配置指導”中的“IGMP”。

3. 在VLAN內開啟IGMP Snooping查詢器

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     開啟IGMP Snooping查詢器。

igmp-snooping querier

缺省情況下,IGMP Snooping查詢器處於關閉狀態。

1.9.2  配置IGMP普遍組查詢和響應

1. 功能簡介

可以根據網絡的實際情況來修改IGMP普遍組查詢報文的發送間隔。

合理配置IGMP普遍組查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞。

對於IGMP普遍組查詢報文,其報文最大響應時間字段由所配置的IGMP普遍組查詢的最大響應時間來填充,在主機收到IGMP普遍組查詢報文後,會為其所加入的每個組播組都啟動一個定時器,定時器的值在0到最大響應時間(該時間值由主機從所收到的IGMP普遍組查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。

2. 配置限製和指導

為避免誤刪組播組成員,請確保IGMP普遍組查詢報文的發送間隔大於IGMP普遍組查詢的最大響應時間,否則配置雖能生效但係統會給出提示。

3. 全局配置IGMP普遍組查詢和響應

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置IGMP普遍組查詢的最大響應時間。

max-response-time seconds

缺省情況下,IGMP普遍組查詢的最大響應時間為10秒。

4. 在VLAN內配置IGMP普遍組查詢和響應

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置IGMP普遍組查詢報文的發送間隔。

igmp-snooping query-interval interval

缺省情況下,IGMP普遍組查詢報文的發送間隔為125秒。

(4)     在VLAN內配置IGMP普遍組查詢的最大響應時間。

igmp-snooping max-response-time seconds

缺省情況下,IGMP普遍組查詢的最大響應時間為10秒。

1.10  調整IGMP報文

1.10.1  配置IGMP報文的源IP地址

1. 功能簡介

由於IGMP Snooping查詢器有可能發出源IP地址為0.0.0.0的查詢報文,而收到此類查詢報文的端口將不會被維護為動態路由器端口,從而影響動態IGMP Snooping轉發表項的建立,最終導致組播數據無法正常轉發。因此,用戶可在IGMP Snooping查詢器上通過本配置將IGMP查詢報文的源IP地址配置為一個有效的IP地址以避免上述問題。IGMP查詢報文源IP地址的改變可能會影響網段內IGMP查詢器的選舉。

用戶也可以改變模擬主機發送的IGMP成員關係報告報文或IGMP離開組報文的源IP地址。

2. 在VLAN內配置IGMP報文的源IP地址

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     配置IGMP普遍組查詢報文的源IP地址。

igmp-snooping general-query source-ip ip-address

缺省情況下,IGMP普遍組查詢報文的源IP地址為當前VLAN接口的IP地址;若當前VLAN接口沒有IP地址,則采用0.0.0.0。

(4)     配置IGMP特定組查詢報文的源IP地址。

igmp-snooping special-query source-ip ip-address

缺省情況下,以收到過IGMP普遍組查詢報文的源IP地址作為IGMP特定組查詢報文的源IP地址;否則,采用VLAN綁定的VLAN接口的IP地址;若該VLAN接口沒有IP地址,則采用0.0.0.0。

(5)     配置IGMP成員關係報告報文的源IP地址。

igmp-snooping report source-ip ip-address

缺省情況下,IGMP成員關係報告報文的源IP地址為當前VLAN接口的IP地址;若當前VLAN接口沒有IP地址,則采用0.0.0.0。

(6)     配置IGMP離開組報文的源IP地址。

igmp-snooping leave source-ip ip-address

缺省情況下,IGMP離開組報文的源IP地址為當前VLAN接口的IP地址;若當前VLAN接口沒有IP地址,則采用0.0.0.0。

1.10.2  配置IGMP報文的802.1p優先級

1. 功能簡介

當二層設備的出端口發生擁塞時,二層設備通過識別報文的802.1p優先級,優先發送優先級較高的報文。用戶可以通過本配置改變IGMP報文(包括本設備生成的以及途經本設備的)的802.1p優先級。

2. 全局配置IGMP報文的802.1p優先級

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置IGMP報文的802.1p優先級。

dot1p-priority priority

3. 在VLAN內配置IGMP報文的802.1p優先級

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內配置IGMP報文的802.1p優先級。

igmp-snooping dot1p-priority priority

1.11  配置IGMP Snooping策略

1.11.1  配置組播組過濾器

1. 功能簡介

在使能了IGMP Snooping的二層設備上,通過配置組播組過濾器,可以限製用戶對組播節目的點播。本配置隻對動態組播組有效,對靜態組播組無效。

在實際應用中,配置本功能後,當用戶點播某個組播節目時,主機會發起一個IGMP成員關係報告報文,該報文將在二層設備上接受組播組過濾器的檢查。隻有通過了檢查,二層設備才會將該主機所屬的端口加入到出端口列表中,用戶才能收到所點播節目的組播流量。

2. 全局配置組播組過濾器

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局配置組播組過濾器。

group-policy ipv4-acl-number [ vlan vlan-list ]

缺省情況下,未配置組播組過濾器,即主機可以加入任意合法的組播組。

3. 在端口上配置組播組過濾器

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     在端口上配置組播組過濾器。

igmp-snooping group-policy ipv4-acl-number [ vlan vlan-list ]

缺省情況下,未配置組播組過濾器,即主機可以加入任意合法的組播組。

1.11.2  配置組播數據報文源端口過濾

1. 功能簡介

通過配置組播數據報文源端口過濾功能,可以允許或禁止端口作為組播源端口:

·     開啟該功能後,端口不能連接組播源,因為該端口將過濾掉所有的組播數據報文(但允許組播協議報文通過),因此隻能連接組播數據接收者。

·     關閉該功能後,端口既能連接組播源,也能連接組播數據接收者。

2. 配置限製和指導

配置組播數據報文源端口過濾在全局配置或在端口上配置的優先級相同,最新配置生效。

3. 全局配置組播數據報文源端口過濾

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     開啟指定端口的組播數據報文源端口過濾功能。

source-deny port interface-list

缺省情況下,組播數據報文源端口過濾功能處於關閉狀態。

4. 在端口上配置組播數據報文源端口過濾

(1)     進入係統視圖。

system-view

(2)     進入二層以太網接口視圖。

interface interface-type interface-number

(3)     開啟當前端口的組播數據報文源端口過濾功能。

igmp-snooping source-deny

缺省情況下,組播數據報文源端口過濾功能處於關閉狀態。

1.11.3  配置丟棄未知組播數據報文

1. 功能簡介

未知組播數據報文是指在IGMP Snooping轉發表中不存在對應轉發表項的那些組播數據報文:

·     當開啟了丟棄未知組播數據報文功能時,二層設備隻向其路由器端口轉發未知組播數據報文,不在VLAN內廣播;如果二層設備沒有路由器端口,未知組播數據報文會被丟棄,不再轉發。

·     當關閉了丟棄未知組播數據報文功能時,二層設備將在未知組播數據報文所屬的VLAN內廣播該報文。

2. 配置限製和指導

在開啟了丟棄未知IPv4組播數據報文功能之後,未知IPv6組播數據報文也將被丟棄。

在VLAN視圖下開啟了丟棄未知組播數據報文的功能之後,仍會向該VLAN內的其它路由器端口轉發未知組播數據報文。

3. 在VLAN內配置丟棄未知組播數據報文

(1)     進入係統視圖。

system-view

(2)     進入VLAN視圖。

vlan vlan-id

(3)     在VLAN內開啟丟棄未知組播數據報文功能。

igmp-snooping drop-unknown

缺省情況下,丟棄未知組播數據報文功能處於關閉狀態,即對未知組播數據報文進行廣播。

1.11.4  配置IGMP成員關係報告報文抑製

1. 功能簡介

當二層設備收到來自某組播組成員的IGMP成員關係報告報文時,會將該報文轉發給與其直連的三層設備。這樣,當二層設備上存在屬於某組播組的多個成員時,與其直連的三層設備會收到這些成員發送的相同IGMP成員關係報告報文。

當開啟了IGMP成員關係報告報文抑製功能後,在一個查詢間隔內二層設備隻會把收到的某組播組內的第一個IGMP成員關係報告報文轉發給三層設備,而不繼續向三層設備轉發來自同一組播組的其它IGMP成員關係報告報文,這樣可以減少網絡中的報文數量。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     開啟IGMP成員關係報告報文抑製功能。

report-aggregation

缺省情況下,IGMP成員關係報告報文抑製功能處於開啟狀態。

1.11.5  配置端口加入的組播組最大數量

1. 功能簡介

通過配置端口加入的組播組最大數量,可以限製用戶點播組播節目的數量,從而控製了端口上的數據流量。本配置隻對動態組播組有效,對靜態組播組無效。

在配置端口加入的組播組最大數量時,如果當前端口上的組播組數量已超過配置值,係統將把該端口相關的所有轉發表項從IGMP Snooping轉發表中刪除,該端口下的主機都需要重新加入組播組,直至該端口上的組播組數量達到限製值,係統將自動丟棄新的IGMP成員關係報告報文。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     配置端口加入的組播組最大數量。

igmp-snooping group-limit limit [ vlan vlan-list ]

缺省情況下,未對端口加入的組播組最大數量進行限製。

1.11.6  配置組播組替換功能

1. 功能簡介

當端口上的組播組數目達到配置端口加入的組播組最大數量時,會自動丟棄新的IGMP成員關係報告報文。組播組替換功能開啟後,當端口收到新的IGMP成員關係報告報文時,會自動離開IP地址最小的組播組並加入新的組播組。本功能主要應用於頻道切換,以實現從一個組播組切換到另一個組播組。

2. 配置限製和指導

本配置隻對動態組播組有效,對靜態組播組無效。

當設備上維護的IGMP Snooping轉發表項達到或超過配置的IGMP Snooping轉發表項的全局最大數量並且端口新加入的組播組不在設備維護的組播組列表中時,組播組替換功能不能生效。

3. 全局配置組播組替換功能

(1)     進入係統視圖。

system-view

(2)     進入IGMP-Snooping視圖。

igmp-snooping

(3)     全局開啟組播組替換功能。

overflow-replace [ vlan vlan-list ]

缺省情況下,組播組替換功能處於關閉狀態。

4. 在端口上配置組播組替換功能

(1)     進入係統視圖。

system-view

(2)     進入二層接口視圖。

¡     進入二層以太網接口視圖。

interface interface-type interface-number

¡     進入二層聚合接口視圖。

interface bridge-aggregation interface-number

(3)     在端口上開啟組播組替換功能。

igmp-snooping overflow-replace [ vlan vlan-list ]

缺省情況下,組播組替換功能處於關閉狀態。

1.12  IGMP Snooping顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IGMP Snooping的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以清除IGMP Snooping的信息。

表1-1 IGMP Snooping顯示和維護

操作

命令

顯示IGMP Snooping的狀態信息

display igmp-snooping [ global | vlan vlan-id ]

顯示動態IGMP Snooping組播組的信息

(獨立運行模式)

display igmp-snooping group [ group-address | source-address ] * [ vlan vlan-id ] [ verbose ] [ slot slot-number  ]

(IRF模式)

display igmp-snooping group [ group-address | source-address ] * [ vlan vlan-id ] [ verbose ] [ chassis chassis-number slot slot-number ]

顯示動態路由器端口的信息

(獨立運行模式)

display igmp-snooping router-port [ verbose | vlan vlan-id[ slot slot-number ]

(IRF模式)

display igmp-snooping router-port [ verbose | vlan vlan-id] [ chassis chassis-number slot slot-number ]

顯示靜態IGMP Snooping組播組的信息

(獨立運行模式)

display igmp-snooping static-group [ group-address | source-address ] * [ vlan vlan-id ] [ verbose ] [ slot slot-number ]

(IRF模式)

display igmp-snooping static-group [ group-address | source-address ] * [ vlan vlan-id ] [ verbose ] [ chassis chassis-number slot slot-number ]

顯示靜態路由器端口的信息

(獨立運行模式)

display igmp-snooping static-router-port [ vlan vlan-id ] [ slot slot-number ]

(IRF模式)

display igmp-snooping static-router-port [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

顯示IGMP Snooping監聽到的IGMP報文和PIM hello報文的統計信息

display igmp-snooping statistics

顯示IPv4二層組播快速轉發表信息

(獨立運行模式)

display l2-multicast fast-forwarding cache [ vlan vlan-id ] [ source-address | group-address ] * [ slot slot-number ]

(IRF模式)

display l2-multicast fast-forwarding cache [ vlan vlan-id ] [ source-address | group-address ] * [ chassis chassis-number slot slot-number ]

顯示二層組播的IP組播組信息

(獨立運行模式)

display l2-multicast ip [ group group-address | source source-address ] * [ vlan vlan-id ] [ slot slot-number ]

(IRF模式)

display l2-multicast ip [ group group-address | source source-address ] * [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

顯示二層組播的IP轉發表信息

(獨立運行模式)

display l2-multicast ip forwarding [ group group-address | source source-address ] * [ vlan vlan-id ] [ slot slot-number ]

(IRF模式)

display l2-multicast ip forwarding [ group group-address | source source-address ] * [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

顯示二層組播的MAC組播組信息

(獨立運行模式)

display l2-multicast mac [ mac-address ] [ vlan vlan-id ] [ slot slot-number ]

(IRF模式)

display l2-multicast mac [ mac-address ] [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

顯示二層組播的MAC轉發表信息

(獨立運行模式)

display l2-multicast mac forwarding [ mac-address ] [ vlan vlan-id ] [ slot slot-number ]

(IRF模式)

display l2-multicast mac forwarding [ mac-address ] [ vlan vlan-id ] [ chassis chassis-number slot slot-number ]

清除動態IGMP Snooping組播組的信息

reset igmp-snooping group { group-address [ source-address ] | all } [ vlan vlan-id ]

清除動態路由器端口的信息

reset igmp-snooping router-port { all | vlan vlan-id}

清除IGMP Snooping監聽到的IGMP報文和PIM hello報文的統計信息

reset igmp-snooping statistics

清除IPv4二層組播快速轉發表中的轉發項

(獨立運行模式)

reset l2-multicast fast-forwarding cache [ vlan vlan-id ] { { source-address | group-address } * | all } [ slot slot-number ]

(IRF模式)

reset l2-multicast fast-forwarding cache [ vlan vlan-id ] { { source-address | group-address } * | all } [ chassis chassis-number slot slot-number ]

 

1.13  IGMP Snooping典型配置舉例

1.13.1  基於VLAN的組策略及模擬主機加入配置舉例

1. 組網需求

·     如圖1-3所示,Router A通過GigabitEthernet1/0/2接口連接組播源(Source),通過GigabitEthernet1/0/1接口連接Switch A;Router A上運行IGMPv2,Switch A上運行版本2的IGMP Snooping,並由Router A充當IGMP查詢器。

·     通過配置,使Host A和Host B能且隻能接收發往組播組224.1.1.1的組播數據,並且當Host A和Host B發生意外而臨時中斷接收組播數據時,發往組播組224.1.1.1組播數據也能不間斷地通過Switch A的接口GigabitEthernet1/0/3和GigabitEthernet1/0/4轉發出去;同時,使Switch A將收到的未知組播數據直接丟棄,避免在其所屬的VLAN 100內廣播。

2. 組網圖

圖1-3 基於VLAN的組策略及模擬主機加入配置組網圖

3. 配置步驟

(1)     配置IP地址

請按照圖1-3配置各接口的IP地址和子網掩碼,具體配置過程略。

(2)     配置Router A

# 使能IP組播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,並在接口GigabitEthernet1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] igmp enable

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

(3)     配置Switch A

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchA] vlan 100

[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping drop-unknown

[SwitchA-vlan100] quit

# 配置組播組過濾器,以限定VLAN 100內的主機隻能加入組播組224.1.1.1。

[SwitchA] acl basic 2001

[SwitchA-acl-ipv4-basic-2001] rule permit source 224.1.1.1 0

[SwitchA-acl-ipv4-basic-2001] quit

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] group-policy 2001 vlan 100

[SwitchA-igmp-snooping] quit

# 在GigabitEthernet1/0/3和GigabitEthernet1/0/4上分別配置模擬主機加入組播組224.1.1.1。

[SwitchA] interface gigabitethernet 1/0/3

[SwitchA-GigabitEthernet1/0/3] igmp-snooping host-join 224.1.1.1 vlan 100

[SwitchA-GigabitEthernet1/0/3] quit

[SwitchA] interface gigabitethernet 1/0/4

[SwitchA-GigabitEthernet1/0/4] igmp-snooping host-join 224.1.1.1 vlan 100

[SwitchA-GigabitEthernet1/0/4] quit

4. 驗證配置

假設組播源分別向組播組224.1.1.1和224.2.2.2發送的組播數據,Host A和Host B也都申請加入這兩個組播組。

# 顯示Switch A上VLAN 100內動態IGMP Snooping組播組的信息。

[SwitchA] display igmp-snooping group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

      GE1/0/3                             (00:03:23)

      GE1/0/4                             (00:04:10)

由此可見,Host A和Host B所在的端口GigabitEthernet1/0/4和GigabitEthernet1/0/3均已加入組播組224.1.1.1,但都未加入組播組224.2.2.2,這表明組播組過濾器已生效。

1.13.2  基於VLAN的靜態端口配置舉例

1. 組網需求

·     如圖1-4所示,Router A通過GigabitEthernet1/0/2接口連接組播源(Source),通過GigabitEthernet1/0/1接口連接Switch A;Router A上運行IGMPv2,Switch A、Switch B和Switch C上都運行版本2的IGMP Snooping,並由Router A充當IGMP查詢器。

·     Host A和Host C均為組播組224.1.1.1的固定接收者(Receiver),通過將Switch C上的端口GigabitEthernet1/0/3和GigabitEthernet1/0/5配置為組播組224.1.1.1的靜態成員端口,可以增強組播數據在傳輸過程中的可靠性。

·     假設由於受STP等鏈路層協議的影響,為了避免出現環路,Switch A—Switch C的轉發路徑在正常情況下是阻斷的,組播數據隻能通過Switch A—Switch B—Switch C的路徑傳遞給連接在Switch C上的接收者;要求通過將Switch A的端口GigabitEthernet1/0/3配置為靜態路由器端口,以保證當Switch A—Switch B—Switch C的路徑出現阻斷時,組播數據可以幾乎不間斷地通過Switch A—Switch C的新路徑傳遞給接收者。

說明

如果沒有配置靜態路由器端口,那麼當Switch A—Switch B—Switch C的路徑出現阻斷時,至少需要等待一個IGMP查詢和響應周期完成後,組播數據才能通過Switch A—Switch C的新路徑傳遞給接收者,組播數據的傳輸在這個過程中將中斷。

有關STP(Spanning Tree Protocol,生成樹協議)的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“生成樹”。

 

2. 組網圖

圖1-4 基於VLAN的靜態端口配置組網圖

3. 配置步驟

(1)     配置IP地址

請按照圖1-4配置各接口的IP地址和子網掩碼,具體配置過程略。

(2)     配置Router A

# 使能IP組播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,並在接口GigabitEthernet1/0/1上使能IGMP。

<RouterA> system-view

[RouterA] multicast routing

[RouterA-mrib] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] igmp enable

[RouterA-GigabitEthernet1/0/1] quit

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] pim dm

[RouterA-GigabitEthernet1/0/2] quit

(3)     配置Switch A

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到該VLAN中,並在該VLAN內使能IGMP Snooping。

[SwitchA] vlan 100

[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] quit

# 把GigabitEthernet1/0/3配置為靜態路由器端口。

[SwitchA] interface gigabitethernet 1/0/3

[SwitchA-GigabitEthernet1/0/3] igmp-snooping static-router-port vlan 100

[SwitchA-GigabitEthernet1/0/3] quit

(4)     配置Switch B

# 開啟設備的IGMP Snooping特性。

<SwitchB> system-view

[SwitchB] igmp-snooping

[SwitchB-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1和GigabitEthernet1/0/2添加到該VLAN中,並在該VLAN內使能IGMP Snooping。

[SwitchB] vlan 100

[SwitchB-vlan100] port gigabitethernet 1/0/1 gigabitethernet 1/0/2

[SwitchB-vlan100] igmp-snooping enable

[SwitchB-vlan100] quit

(5)     配置Switch C

# 開啟設備的IGMP Snooping特性。

<SwitchC> system-view

[SwitchC] igmp-snooping

[SwitchC-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/5添加到該VLAN中,並在該VLAN內使能IGMP Snooping。

[SwitchC] vlan 100

[SwitchC-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/5

[SwitchC-vlan100] igmp-snooping enable

[SwitchC-vlan100] quit

# 分別在端口GigabitEthernet1/0/3和GigabitEthernet1/0/5上配置靜態加入組播組224.1.1.1。

[SwitchC] interface gigabitethernet 1/0/3

[SwitchC-GigabitEthernet1/0/3] igmp-snooping static-group 224.1.1.1 vlan 100

[SwitchC-GigabitEthernet1/0/3] quit

[SwitchC] interface gigabitethernet 1/0/5

[SwitchC-GigabitEthernet1/0/5] igmp-snooping static-group 224.1.1.1 vlan 100

[SwitchC-GigabitEthernet1/0/5] quit

4. 驗證配置

# 顯示Switch A上VLAN 100內靜態路由器端口的信息。

[SwitchA] display igmp-snooping static-router-port vlan 100

VLAN 100:

  Router ports (1 in total):

    GE1/0/3

由此可見,Switch A上的端口GigabitEthernet1/0/3已經成為了靜態路由器端口。

# 顯示Switch C上VLAN 100內靜態IGMP Snooping組播組的信息。

[SwitchC] display igmp-snooping static-group vlan 100

Total 1 entries.

 

VLAN 100: Total 1 entries.

  (0.0.0.0, 224.1.1.1)

    Host ports (2 in total):

      GE1/0/3

      GE1/0/5

由此可見,Switch C上的端口GigabitEthernet1/0/3和GigabitEthernet1/0/5已經成為了組播組224.1.1.1的靜態成員端口。

1.13.3  基於VLAN的IGMP Snooping查詢器配置舉例

1. 組網需求

·     如圖1-5所示,在一個沒有三層設備的純二層網絡環境中,組播源Source 1和Source 2分別向組播組224.1.1.1和225.1.1.1發送組播數據,Host A和Host C是組播組224.1.1.1的接收者(Receiver),Host B和Host D則是組播組225.1.1.1的接收者;所有接收者均使用IGMPv2,所有交換機上都運行版本2的IGMP Snooping,並選擇距組播源較近的Switch A來充當IGMP Snooping查詢器。

·     為防止交換機在沒有二層組播轉發表項時將組播數據在VLAN內廣播,在所有交換機上都開啟丟棄未知組播數據報文功能;同時,由於交換機不會將收到源IP地址為0.0.0.0的IGMP查詢報文的端口設置為動態路由器端口,從而會影響二層組播轉發表項的建立並導致組播數據無法正常轉發,因此需要將IGMP查詢報文的源IP地址配置為非0.0.0.0以避免此問題。

2. 組網圖

圖1-5 基於VLAN的IGMP Snooping查詢器配置組網圖

3. 配置步驟

(1)     配置Switch A

# 開啟設備的IGMP Snooping特性。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchA] vlan 100

[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping drop-unknown

# 在VLAN 100內開啟IGMP Snooping查詢器。

[SwitchA-vlan100] igmp-snooping querier

[SwitchA-vlan100] quit

# 在VLAN 100內將IGMP普遍組查詢和特定組查詢報文的源IP地址均配置為192.168.1.1。

[SwitchA-vlan100] igmp-snooping general-query source-ip 192.168.1.1

[SwitchA-vlan100] igmp-snooping special-query source-ip 192.168.1.1

[SwitchA-vlan100] quit

(2)     配置Switch B

# 開啟設備的IGMP Snooping特性。

<SwitchB> system-view

[SwitchB] igmp-snooping

[SwitchB-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchB] vlan 100

[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4

[SwitchB-vlan100] igmp-snooping enable

[SwitchB-vlan100] igmp-snooping drop-unknown

[SwitchB-vlan100] quit

(3)     配置Switch C

# 開啟設備的IGMP Snooping特性。

<SwitchC> system-view

[SwitchC] igmp-snooping

[SwitchC-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchC] vlan 100

[SwitchC-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3

[SwitchC-vlan100] igmp-snooping enable

[SwitchC-vlan100] igmp-snooping drop-unknown

[SwitchC-vlan100] quit

(4)     配置Switch D

# 開啟設備的IGMP Snooping特性。

<SwitchD> system-view

[SwitchD] igmp-snooping

[SwitchD-igmp-snooping] quit

# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/2添加到該VLAN中;在該VLAN內使能IGMP Snooping,並開啟丟棄未知組播數據報文功能。

[SwitchD] vlan 100

[SwitchD-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/2

[SwitchD-vlan100] igmp-snooping enable

[SwitchD-vlan100] igmp-snooping drop-unknown

[SwitchD-vlan100] quit

4. 驗證配置

當IGMP Snooping查詢器開始工作之後,除查詢器以外的所有交換機都能收到IGMP普遍組查詢報文。

# 顯示Switch B上收到的IGMP報文的統計信息。

[SwitchB] display igmp-snooping statistics

Received IGMP general queries:  3

Received IGMPv1 reports:  0

Received IGMPv2 reports:  12

Received IGMP leaves:  0

Received IGMPv2 specific queries:  0

Sent     IGMPv2 specific queries:  0

Received IGMPv3 reports:  0

Received IGMPv3 reports with right and wrong records:  0

Received IGMPv3 specific queries:  0

Received IGMPv3 specific sg queries:  0

Sent     IGMPv3 specific queries:  0

Sent     IGMPv3 specific sg queries:  0

Received PIMv2 hello:  0

Received error IGMP messages:  0

1.14  IGMP Snooping常見故障處理

1.14.1  二層設備不能實現二層組播

1. 故障現象

二層設備不能實現IGMP Snooping二層組播功能。

2. 故障分析

IGMP Snooping沒有使能。

3. 處理過程

(1)     使用display igmp-snooping命令查看IGMP Snooping的運行狀態。

(2)     如果是沒有使能IGMP Snooping,則需先在係統視圖下使用igmp-snooping命令開啟設備的IGMP Snooping特性,然後在VLAN視圖下使用igmp-snooping enable命令使能VLAN內的IGMP Snooping。

(3)     如果隻是沒有在相應VLAN下使能IGMP Snooping,則隻需在VLAN視圖下使用igmp-snooping enable命令使能VLAN內的IGMP Snooping。

1.14.2  配置的組播組策略不生效

1. 故障現象

配置了組播組策略,隻允許主機加入某些特定的組播組,但主機仍然可以收到發往其它組播組的組播數據。

2. 故障分析

·     ACL規則配置不正確;

·     組播組策略應用不正確;

·     沒有開啟丟棄未知組播數據報文的功能,使得屬於過濾策略之外的組播數據報文(即未知組播數據報文)被廣播。

3. 處理過程

(1)     使用display acl命令查看所配置的ACL規則,檢查其是否與所要實現的組播組過濾策略相符合。

(2)     在IGMP-Snooping視圖或相應的接口視圖下使用display this命令查看是否應用了正確的組播組策略。如果沒有,則使用group-policyigmp-snooping group-policy命令應用正確的組播組策略。

(3)     使用display igmp-snooping命令查看是否已開啟丟棄未知組播數據報文的功能。如果沒有開啟,則使用drop-unknownigmp-snooping drop-unknown命令開啟丟棄未知組播數據報文功能。

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們