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

08-IP組播配置指導

目錄

02-IGMP Snooping配置

本章節下載 02-IGMP Snooping配置  (548.55 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 IGMP Snooping Proxying

1.1.5 協議規範

1.2 IGMP Snooping配置任務簡介

1.3 配置IGMP Snooping基本功能

1.3.1 配置準備

1.3.2 使能IGMP Snooping

1.3.3 配置IGMP Snooping版本

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

1.4 配置IGMP Snooping端口功能

1.4.1 配置準備

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

1.4.3 配置靜態端口

1.4.4 配置模擬主機加入

1.4.5 配置端口快速離開

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

1.5 配置IGMP Snooping查詢器

1.5.1 配置準備

1.5.2 使能IGMP Snooping查詢器

1.5.3 配置IGMP查詢和響應

1.5.4 配置IGMP查詢報文源IP地址

1.6 配置IGMP Snooping Proxying

1.6.1 配置準備

1.6.2 使能IGMP Snooping Proxying

1.6.3 配置代理發送IGMP報文的源IP地址

1.7 配置IGMP Snooping策略

1.7.1 配置準備

1.7.2 配置組播組過濾器

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

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

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

1.7.6 配置組播組替換

1.7.7 配置IGMP Snooping主機跟蹤功能

1.8 IGMP Snooping顯示和維護

1.9 IGMP Snooping典型配置舉例

1.9.1 組策略及模擬主機加入配置舉例

1.9.2 靜態端口配置舉例

1.9.3 IGMP Snooping查詢器配置舉例

1.9.4 IGMP Snooping Proxying配置舉例

1.10 常見配置錯誤舉例

1.10.1 設備不能實現二層組播

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

1.11 附錄

1.11.1 設備對組播協議報文的特殊處理規則

 


1 IGMP Snooping

說明

·     本文所涉及的路由器和路由器圖標,代表了一般意義下的路由器或路由交換機.。

·     設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況下為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導”中的“IRF”。

 

1.1  IGMP Snooping簡介

IGMP Snooping(Internet Group Management Protocol Snooping,互聯網組管理協議窺探)是運行在二層設備上的組播約束機製,用於管理和控製組播組。

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. IGMP Snooping相關端口

圖1-2所示,Router A連接組播源,在Device A和Device B上分別運行IGMP Snooping,Host A和Host C為接收者主機(即組播組成員)。

圖1-2 IGMP Snooping相關端口

 

結合圖1-2,介紹一下IGMP Snooping相關的端口概念:

·     路由器端口(Router Port):二層設備上朝向三層組播設備(DR或IGMP查詢器)一側的端口,如Device A和Device B各自的GigabitEthernet3/0/1端口。設備將所有的路由器端口都記錄在路由器端口列表中。

·     成員端口(Member Port):又稱組播組成員端口,表示二層設備上朝向組播組成員一側的端口,如Device A的GigabitEthernet3/0/2和GigabitEthernet3/0/3端口,以及Device B的GigabitEthernet3/0/2端口。設備將所有成員端口都記錄在IGMP Snooping轉發表中。

說明

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

·     如不特別指明,本文中提到的路由器/成員端口均包括動態和靜態端口。

·     在運行了IGMP Snooping的設備上,所有收到源地址不為0.0.0.0的IGMP普遍組查詢報文或PIM Hello報文的端口都將被視為動態路由器端口。有關PIM Hello報文的詳細介紹,請參見“IP組播配置指導”中的“PIM”。

 

2. IGMP Snooping動態端口老化定時器

表1-1 IGMP Snooping動態端口老化定時器

定時器

說明

超時前應收到的報文

超時後交換機的動作

動態路由器端口老化定時器

設備為其每個動態路由器端口都啟動一個定時器,其超時時間就是動態路由器端口老化時間

源地址不為0.0.0.0的IGMP普遍組查詢報文或PIM Hello報文

將該端口從路由器端口列表中刪除

動態成員端口老化定時器

當一個端口動態加入某組播組時,設備為該端口啟動一個定時器,其超時時間就是動態成員端口老化時間

IGMP成員關係報告報文

將該端口從IGMP Snooping轉發表中刪除

 

說明

IGMP Snooping端口老化機製隻針對動態端口,靜態端口永不老化。

 

1.1.3  IGMP Snooping工作機製

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

注意

本節中所描述的增刪端口動作均隻針對動態端口,靜態端口隻能通過相應的配置進行增刪,具體步驟請參見“1.4.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離開組報文時,首先判斷要離開的組播組所對應的轉發表項是否存在,以及該組播組所對應轉發表項的出端口列表中是否包含該接收端口:

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

·     如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中包含該端口,設備會將該報文通過VLAN內的所有路由器端口轉發出去。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以設備不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是重置其老化定時器。

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

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

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

1.1.4  IGMP Snooping Proxying

為了減少上遊設備收到的IGMP報告報文和離開報文的數量,可以通過在邊緣設備上配置IGMP Snooping Proxying(IGMP Snooping代理)功能,使其能夠代理下遊主機來向上遊設備發送報告報文和離開報文。配置了IGMP Snooping Proxying功能的設備稱為IGMP Snooping代理設備,在其上遊設備看來,它就相當於一台主機。

說明

盡管在其上遊設備看來,IGMP Snooping代理設備相當於一台主機,但主機上的IGMP成員關係報告抑製機製在IGMP Snooping代理設備上並不會生效。有關主機上的IGMP成員關係報告抑製機製的詳細介紹,請參見“IP組播配置指導”中的“IGMP”。

 

圖1-3 IGMP Snooping Proxying組網圖

 

圖1-3所示,作為IGMP Snooping代理設備的Switch A,對其上遊的IGMP查詢器Router A來說相當於一台主機,代理下遊主機向Router A發送報告報文和離開報文。

IGMP Snooping代理設備對IGMP報文的處理方式如表1-2所示。

表1-2 IGMP Snooping代理設備對IGMP報文的處理方式

IGMP報文類型

處理方式

普遍組查詢報文

收到普遍組查詢報文後,向本VLAN內除接收端口以外的所有端口轉發;同時根據本地維護的組成員關係生成報告報文,並向所有路由器端口發送

特定組查詢報文

收到針對某組播組的特定組查詢報文時,若該組對應的轉發表項中還有成員端口,則向所有路由器端口回複該組的報告報文

報告報文

從某端口收到某組播組的報告報文時,若已存在該組對應的轉發表項,且其出端口列表中已包含該動態成員端口,則重置其老化定時器;若已存在該組對應的轉發表項,但其出端口列表中不包含該端口,則將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;若尚不存在該組對應的轉發表項,則創建轉發表項,將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器,然後向所有路由器端口發送該組的報告報文

離開報文

從某端口收到某組播組的離開報文後,向該端口發送針對該組的特定組查詢報文。隻有當刪除某組播組對應轉發表項中的最後一個成員端口時,才會向所有路由器端口發送該組的離開報文

 

1.1.5  協議規範

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

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

1.2  IGMP Snooping配置任務簡介

表1-3 IGMP Snooping配置任務簡介

配置任務

說明

詳細配置

配置IGMP Snooping基本功能

使能IGMP Snooping

必選

1.3.2 

配置IGMP Snooping版本

可選

1.3.3 

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

可選

1.3.4 

配置IGMP Snooping端口功能

配置動態端口老化定時器

可選

1.4.2 

配置靜態端口

可選

1.4.3 

配置模擬主機加入

可選

1.4.4 

配置端口快速離開

可選

1.4.5 

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

可選

1.4.6 

配置IGMP Snooping查詢器

使能IGMP Snooping查詢器

可選

1.5.2 

配置IGMP查詢和響應

可選

1.5.3 

配置IGMP查詢報文源IP地址

可選

1.5.4 

配置IGMP Snooping Proxying

使能IGMP Snooping Proxying

可選

1.6.2 

配置代理發送IGMP報文的源IP地址

可選

1.6.3 

配置IGMP Snooping策略

配置組播組過濾器

可選

1.7.2 

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

可選

1.7.3 

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

可選

1.7.4 

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

可選

1.7.5 

配置組播組替換

可選

1.7.6 

配置IGMP Snooping主機跟蹤功能

可選

1.7.7 

 

說明

對於IGMP Snooping的相關配置來說:

·     IGMP-Snooping視圖下的配置對所有VLAN都有效,VLAN視圖下的配置隻對當前VLAN有效。對於某VLAN來說,優先采用該VLAN視圖下的配置,隻有當在該VLAN視圖下沒有進行配置時,才采用IGMP-Snooping視圖下的相應配置。

·     IGMP-Snooping視圖下的配置對所有端口都有效;二層以太網接口視圖下的配置隻對當前端口有效;二層聚合接口視圖下的配置隻對當前接口有效;端口組視圖下的配置對當前端口組中的所有端口有效。對於某端口來說,優先采用二層以太網接口視圖、二層聚合接口視圖或端口組視圖下的配置,隻有當在上述視圖下沒有進行配置時,才采用IGMP-Snooping視圖下的相應配置。

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

 

1.3  配置IGMP Snooping基本功能

1.3.1  配置準備

在配置IGMP Snooping基本功能之前,需完成以下任務:

·     配置相應VLAN

在配置IGMP Snooping基本功能之前,需準備以下數據:

·     IGMP Snooping的版本

1.3.2  使能IGMP Snooping

表1-4 使能IGMP Snooping

操作

命令

說明

進入係統視圖

system-view

-

全局使能IGMP Snooping,並進入IGMP-Snooping視圖

igmp-snooping

必選

缺省情況下,IGMP Snooping處於關閉狀態

退回係統視圖

quit

-

進入VLAN視圖

vlan vlan-id

-

在VLAN內使能IGMP Snooping

igmp-snooping enable

必選

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

 

說明

·     在VLAN內使能IGMP Snooping之前,必須先在係統視圖下全局使能IGMP Snooping,否則將無法在VLAN內使能IGMP Snooping。

·     在VLAN內使能IGMP Snooping之後,不允許在該VLAN所對應的VLAN接口上再使能IGMP和PIM,反之亦然。

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

 

1.3.3  配置IGMP Snooping版本

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

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

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

表1-5 配置IGMP Snooping版本

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

配置IGMP Snooping的版本

igmp-snooping version version-number

必選

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

 

注意

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

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

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

有關靜態加入的詳細配置,請參見“1.4.3  配置靜態端口”。

 

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

用戶可以調整全局IGMP Snooping轉發表項的最大數量,當設備上維護的表項數量達到最大數量後,將不再創建新的表項,直至有表項被老化或被手工刪除。

表1-6 配置全局IGMP Snooping轉發表項的最大數量

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

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

entry-limit limit

必選

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

 

說明

在對全局IGMP Snooping轉發表項的最大數量進行配置時,如果設備上維護的表項數量已超過了配置值,係統將提示用戶刪除多餘表項,但並不會自動刪除任何已存在的表項,同時也不再繼續創建新的表項。

 

1.4  配置IGMP Snooping端口功能

1.4.1  配置準備

在配置IGMP Snooping端口功能之前,需完成以下任務:

·     在VLAN內使能IGMP Snooping

·     配置相應端口組

在配置IGMP Snooping端口功能之前,需準備以下數據:

·     動態路由器端口老化時間

·     動態成員端口老化時間

·     組播組和組播源的地址

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

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

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

如果組播組成員的變動比較頻繁,可以把動態成員端口老化時間設置小一些,反之亦然。

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

表1-7 全局配置動態端口老化定時器

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

配置動態路由器端口老化時間

router-aging-time interval

必選

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

配置動態成員端口老化時間

host-aging-time interval

必選

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

 

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

表1-8 在VLAN內配置動態端口老化定時器

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

配置動態路由器端口老化時間

igmp-snooping router-aging-time interval

必選

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

配置動態成員端口老化時間

igmp-snooping host-aging-time interval

必選

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

 

1.4.3  配置靜態端口

如果某端口所連接的主機需要固定接收發往某組播組或組播源組的組播數據,可以配置該端口靜態加入該組播組或組播源組,成為靜態成員端口。

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

表1-9 配置靜態端口

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入二層以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

配置靜態成員端口

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

必選

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

配置靜態路由器端口

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

必選

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

 

說明

·     靜態成員端口不會對IGMP查詢器發出的查詢報文進行響應;當配置靜態成員端口或取消靜態成員端口的配置時,端口也不會主動發送IGMP成員關係報告報文或IGMP離開組報文。

·     靜態成員端口和靜態路由器端口都不會老化,隻能通過相應的undo命令刪除。

 

1.4.4  配置模擬主機加入

通常情況下,運行IGMP的主機會對IGMP查詢器發出的查詢報文進行響應。如果主機由於某種原因無法響應,就可能導致組播路由器認為該網段沒有該組播組的成員,從而取消相應的轉發路徑。

為避免這種情況的發生,可以將設備的端口配置成為組播組成員(即配置模擬主機加入)。當收到IGMP查詢報文時由模擬主機進行響應,從而保證該設備能夠繼續收到組播報文。

模擬主機加入功能的實現原理如下:

·     在某端口上使能模擬主機加入功能時,設備會通過該端口主動發送一個IGMP成員關係報告報文;

·     在某端口上使能了模擬主機加入功能後,當收到IGMP普遍組查詢報文時,設備會通過該端口響應一個IGMP成員關係報告報文;

·     在某端口上關閉模擬主機加入功能時,設備會通過該端口發送一個IGMP離開組報文。

表1-10 配置模擬主機加入

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入二層以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

配置模擬主機加入組播組或組播源組

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

必選

缺省情況下,沒有配置模擬主機加入組播組或組播源組

 

說明

·     每配置一次模擬主機加入,即相當於啟動了一台獨立的主機。例如,當收到IGMP查詢報文時,每條配置所對應的模擬主機將分別進行響應。

·     與靜態成員端口不同,配置了模擬主機加入的端口會作為動態成員端口而參與動態成員端口的老化過程。

 

1.4.5  配置端口快速離開

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

在設備上,在隻連接有一個接收者的端口上,可以通過使能端口快速離開功能來節約帶寬和資源;而在連接有多個接收者的端口上,如果設備或該端口所在的VLAN已使能了丟棄未知組播數據報文功能,則不要再使能端口快速離開功能,否則,一個接收者的離開將導致該端口下屬於同一組播組的其它接收者無法收到組播數據。

1. 全局配置端口快速離開

表1-11 全局配置端口快速離開

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

使能端口快速離開功能

fast-leave [ vlan vlan-list ]

必選

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

 

2. 在端口上配置端口快速離開

表1-12 在端口上配置端口快速離開

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入二層以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

使能端口快速離開功能

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

必選

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

 

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

目前,在組播用戶接入網絡中存在以下問題:

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

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

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

表1-13 禁止端口成為動態路由器端口

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入二層以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

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

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

必選

缺省情況下,不禁止端口成為動態路由器端口

 

說明

本配置與靜態路由器端口的配置互不影響。

 

1.5  配置IGMP Snooping查詢器

1.5.1  配置準備

在配置IGMP Snooping查詢器之前,需完成以下任務:

·     在VLAN內使能IGMP Snooping

在配置IGMP Snooping查詢器之前,需準備以下數據:

·     發送IGMP普遍組查詢報文的時間間隔

·     發送IGMP特定組查詢報文的時間間隔

·     IGMP普遍組查詢的最大響應時間

·     IGMP普遍組查詢報文的源IP地址

·     IGMP特定組查詢報文的源IP地址

1.5.2  使能IGMP Snooping查詢器

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

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

表1-14 使能IGMP Snooping查詢器

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

使能IGMP Snooping查詢器

igmp-snooping querier

必選

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

 

注意

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

 

1.5.3  配置IGMP查詢和響應

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

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

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

·     對於IGMP普遍組查詢報文來說,通過配置IGMP普遍組查詢的最大響應時間來填充其最大響應時間字段;

·     對於IGMP特定組查詢報文來說,所配置的發送IGMP特定組查詢報文的時間間隔將被填充到其最大響應時間字段。也就是說,IGMP特定組查詢的最大響應時間從數值上與發送IGMP特定組查詢報文的時間間隔相同。

1. 全局配置IGMP查詢和響應

表1-15 全局配置IGMP查詢和響應

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

配置IGMP普遍組查詢的最大響應時間

max-response-time interval

必選

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

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

last-member-query-interval interval

必選

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

 

2. 在VLAN內配置IGMP查詢和響應

表1-16 在VLAN內配置IGMP查詢和響應

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

配置發送IGMP普遍組查詢報文的時間間隔

igmp-snooping query-interval interval

必選

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

配置IGMP普遍組查詢的最大響應時間

igmp-snooping max-response-time interval

必選

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

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

igmp-snooping last-member-query-interval interval

必選

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

 

注意

應確保發送IGMP普遍組查詢報文的時間間隔大於IGMP普遍組查詢的最大響應時間,否則有可能造成對組播組成員的誤刪。

 

1.5.4  配置IGMP查詢報文源IP地址

對於收到源IP地址為0.0.0.0的查詢報文的端口,設備不會將其設置為動態路由器端口,從而影響數據鏈路層組播轉發表項的建立,最終導致組播數據無法正常轉發。

當由二層設備充當IGMP Snooping查詢器時,可以把IGMP查詢報文的源IP地址配置為一個有效的IP地址以避免上述問題的出現。

表1-17 配置IGMP查詢報文源IP地址

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

配置IGMP普遍組查詢報文源IP地址

igmp-snooping general-query source-ip { ip-address | current-interface }

必選

缺省情況下,IGMP普遍組查詢報文的源IP地址為0.0.0.0

配置IGMP特定組查詢報文源IP地址

igmp-snooping special-query source-ip { ip-address | current-interface }

必選

缺省情況下,IGMP特定組查詢報文的源IP地址為0.0.0.0

 

注意

IGMP查詢報文源IP地址的改變可能會影響網段內IGMP查詢器的選舉。

 

1.6  配置IGMP Snooping Proxying

1.6.1  配置準備

在配置IGMP Snooping Proxying之前,需完成以下任務:

·     在VLAN內使能IGMP Snooping

在配置IGMP Snooping Proxying之前,需準備以下數據:

·     代理發送IGMP報告報文的源IP地址

·     代理發送IGMP離開報文的源IP地址

1.6.2  使能IGMP Snooping Proxying

當在有組播需求的VLAN內使能了IGMP Snooping代理功能後,該設備就成為該VLAN內的IGMP Snooping代理設備。

表1-18 使能IGMP Snooping Proxying

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

在VLAN內使能IGMP Snooping代理功能

igmp-snooping proxying enable

必選

缺省情況下,VLAN內的IGMP Snooping代理功能處於關閉狀態

 

1.6.3  配置代理發送IGMP報文的源IP地址

通過本配置可以改變代理發送的IGMP報告報文和離開報文的源IP地址。

表1-19 配置代理發送IGMP報文的源IP地址

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

配置代理發送IGMP報告報文的源IP地址

igmp-snooping report source-ip { ip-address | current-interface }

必選

缺省情況下,代理發送IGMP報告報文的源IP地址為0.0.0.0

配置代理發送IGMP離開報文的源IP地址

igmp-snooping leave source-ip { ip-address | current-interface }

必選

缺省情況下,代理發送IGMP離開報文的源IP地址為0.0.0.0

 

1.7  配置IGMP Snooping策略

1.7.1  配置準備

在配置IGMP Snooping策略之前,需完成以下任務:

·     在VLAN內使能IGMP Snooping

在配置IGMP Snooping策略之前,需準備以下數據:

·     組播組過濾的ACL規則

·     端口加入的組播組最大數量

1.7.2  配置組播組過濾器

在使能了IGMP Snooping的設備上,通過配置組播組過濾器,可以限製用戶對組播節目的點播。

在實際應用中,當用戶點播某個組播節目時,主機會發起一個IGMP成員關係報告報文,該報文到達設備後,進行ACL檢查:如果該接收端口可以加入這個組播組,則將其列入到IGMP Snooping轉發表中;否則設備就丟棄該報文。這樣,未通過ACL檢查的組播數據就不會送到該端口,從而達到控製用戶點播組播節目的目的。

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

表1-20 全局配置組播組過濾

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

配置組播組過濾器

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

必選

缺省情況下,沒有配置全局組播組過濾器,即各VLAN內主機可以加入任意合法的組播組

 

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

表1-21 在端口上配置組播組過濾器

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入二層以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

配置組播組過濾器

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

必選

缺省情況下,端口上沒有配置組播組過濾器,即該端口下的主機可以加入任意合法的組播組

 

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

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

·     當使能了丟棄未知組播數據報文功能時,設備將丟棄所有收到的未知組播數據報文;

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

表1-22 配置丟棄未知組播數據報文

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

使能丟棄未知組播數據報文功能

igmp-snooping drop-unknown

必選

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

 

說明

·     使能丟棄未知組播數據報文功能後,對於組播MAC地址為0100-5E00-00xx(x代表0~F)和0100-5E00-0101的未知組播數據報文,設備不會丟棄,而是仍然在其所屬的VLAN內廣播。

·     使能丟棄未知組播數據報文功能後,仍會向VLAN內的其它路由器端口轉發未知組播數據報文。

 

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

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

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

表1-23 配置IGMP成員關係報告報文抑製

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

使能IGMP成員關係報告報文抑製功能

report-aggregation

必選

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

 

注意

在IGMP Snooping代理設備上,不論是否使能了IGMP成員關係報告報文抑製功能,隻要存在某組播組對應的轉發表項,就會將從下遊收到的針對該組的報告報文都抑製掉。

 

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

通過配置端口加入的組播組最大數量,可以限製用戶點播組播節目的數量,從而控製了端口上的數據流量。

表1-24 配置端口加入的組播組最大數量

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入二層以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

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

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

必選

缺省情況下,端口加入的組播組最大數量為1024

 

說明

在配置端口加入的組播組最大數量時,如果當前端口上的組播組數量已超過配置值,係統將把該端口相關的所有轉發表項從IGMP Snooping轉發表中刪除,該端口下的主機都需要重新加入組播組,直至該端口上的組播組數量達到限製值為止。其中,如果該端口已配置為靜態成員端口,係統會將靜態成員端口的配置重新生效一次;如果在該端口上配置了模擬主機加入,係統在收到模擬主機發來的報告報文之後才會重新建立相應的轉發表項。

 

1.7.6  配置組播組替換

由於某些特殊的原因,當前設備或端口上通過的組播組數目有可能會超過設備或該端口的限定;另外,在某些特定的應用中,設備上新加入的組播組需要自動替換已存在的組播組(一個典型的應用就是“頻道切換”,即用戶通過加入一個新的組播組就能完成離開原組播組並切換到新組播組的動作)。

針對以上情況,可以在設備或者某些端口上使能組播組替換功能。當設備或端口上加入的組播組數量已達到限定值時:

·     若使能了組播組替換功能,則新加入的組播組會自動替代已存在的組播組,替代規則是替代IP地址最小的組播組;

·     若沒有使能組播組替換功能,則自動丟棄新的IGMP成員關係報告報文。

1. 全局配置組播組替換

表1-25 全局配置組播組替換

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

使能組播組替換功能

overflow-replace [ vlan vlan-list ]

必選

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

 

2. 在端口上配置組播組替換

表1-26 在端口上配置組播組替換

操作

命令

說明

進入係統視圖

system-view

-

進入相應視圖

進入二層以太網或二層聚合接口視圖

interface interface-type interface-number

二者必選其一

進入端口組視圖

port-group manual port-group-name

使能組播組替換功能

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

必選

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

 

注意

·     當端口加入的組播組最大數量取缺省值時,組播組替換功能將不會生效,因此在使能組播組替換功能之前,必須先將端口通過的組播組最大數量配置為非缺省值(具體配置過程請參見“1.7.5  配置端口加入的組播組最大數量”)。

·     靜態組播組不能被替換。

 

1.7.7  配置IGMP Snooping主機跟蹤功能

通過使能IGMP Snooping主機跟蹤功能,可以使交換機能夠記錄正在接收組播數據的成員主機信息(包括主機的IP地址、運行時間和超時時間等),以便於網絡管理員對這些主機進行監控和管理。

1. 全局配置IGMP Snooping主機跟蹤功能

表1-27 全局配置IGMP Snooping主機跟蹤功能

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP-Snooping視圖

igmp-snooping

-

全局使能IGMP Snooping主機跟蹤功能

host-tracking

必選

缺省情況下,IGMP Snooping主機跟蹤功能處於關閉狀態

 

2. 在VLAN內配置IGMP Snooping主機跟蹤功能

表1-28 在VLAN內配置IGMP Snooping主機跟蹤功能

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

在VLAN內使能IGMP Snooping主機跟蹤功能

igmp-snooping host-tracking

必選

缺省情況下,IGMP Snooping主機跟蹤功能處於關閉狀態

 

1.8  IGMP Snooping顯示和維護

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

在用戶視圖下執行reset命令可以清除組播組信息。

表1-29 IGMP Snooping顯示和維護

操作

命令

查看IGMP Snooping組的信息(獨立運行模式)

display igmp-snooping group [ vlan vlan-id ] [ slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看IGMP Snooping組的信息(IRF模式)

display igmp-snooping group [ vlan vlan-id ] [ chassis chassis-number slot slot-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ]

查看IGMP Snooping跟蹤的主機信息(獨立運行模式)

display igmp-snooping host vlan vlan-id group group-address [ source source-address ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ]

查看IGMP Snooping跟蹤的主機信息(IRF模式)

display igmp-snooping host vlan vlan-id group group-address [ source source-address ] [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ]

查看IGMP Snooping監聽到的IGMP報文的統計信息

display igmp-snooping statistics [ | { begin | exclude | include } regular-expression ]

清除IGMP Snooping組的動態加入記錄

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

清除IGMP Snooping監聽到的所有IGMP報文的統計信息

reset igmp-snooping statistics

 

1.9  IGMP Snooping典型配置舉例

說明

缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口處於UP狀態

 

1.9.1  組策略及模擬主機加入配置舉例

1. 組網需求

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

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

2. 組網圖

圖1-4 組策略及模擬主機加入配置組網圖

 

3. 配置步驟

配置IP地址

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

配置Router A

# 使能IP組播路由,在各三層接口上使能PIM-DM,並在接口GigabitEthernet3/0/1上使能IGMP

<RouterA> system-view

[RouterA] multicast routing-enable

[RouterA] interface GigabitEthernet 3/0/1

[RouterA-GigabitEthernet3/0/1]port link-mode route

[RouterA-GigabitEthernet3/0/1] igmp enable

[RouterA-GigabitEthernet3/0/1] pim dm

[RouterA-GigabitEthernet3/0/1] quit

[RouterA] interface GigabitEthernet 3/0/2

[RouterA-GigabitEthernet3/0/2]port link-mode route

[RouterA-GigabitEthernet3/0/2] pim dm

[RouterA-GigabitEthernet3/0/2] quit

配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

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

[DeviceA] vlan 100

[DeviceA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/4

[DeviceA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping drop-unknown

[DeviceA-vlan100] quit

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

[DeviceA] acl number 2001

[DeviceA-acl-basic-2001] rule permit source 224.1.1.1 0

[DeviceA-acl-basic-2001] quit

[DeviceA] igmp-snooping

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

[DeviceA-igmp-snooping] quit

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

[DeviceA] interface GigabitEthernet 3/0/3

[DeviceA-GigabitEthernet3/0/3] igmp-snooping host-join 224.1.1.1 vlan 100

[DeviceA-GigabitEthernet3/0/3] quit

[DeviceA] interface GigabitEthernet 3/0/4

[DeviceA-GigabitEthernet3/0/4] igmp-snooping host-join 224.1.1.1 vlan 100

[DeviceA-GigabitEthernet3/0/4] quit

檢驗配置效果

# 查看Device A上VLAN 100內IGMP Snooping組的詳細信息。

[DeviceA] display igmp-snooping group vlan 100 verbose

  Total 1 IP Group(s).

  Total 1 IP Source(s).

  Total 1 MAC Group(s).

 

  Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port

  Subvlan flags: R-Real VLAN, C-Copy VLAN

  Vlan(id):100.

    Total 1 IP Group(s).

    Total 1 IP Source(s).

Total 1 MAC Group(s).

    Router port(s):total 1 port(s).

            GE3/0/1                (D)

    IP group(s):the following ip group(s) match to one mac group.

      IP group address:224.1.1.1

        (0.0.0.0, 224.1.1.1):

          Attribute:    Host Port

          Host port(s):total 2 port(s).

            GE3/0/3                (D)

            GE3/0/4                (D)

    MAC group(s):

      MAC group address:0100-5e01-0101

          Host port(s):total 2 port(s).

            GE3/0/3

            GE3/0/4

由此可見,Device A上的端口GigabitEthernet3/0/3和GigabitEthernet3/0/4已經加入了組播組224.1.1.1。

1.9.2  靜態端口配置舉例

1. 組網需求

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

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

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

說明

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

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

 

2. 組網圖

圖1-5 靜態端口配置組網圖

 

3. 配置步驟

配置IP地址

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

配置Router A

# 使能IP組播路由,在各三層接口上使能PIM-DM,並在接口GigabitEthernet3/0/1上使能IGMP

<RouterA> system-view

[RouterA] multicast routing-enable

[RouterA] interface GigabitEthernet 3/0/1

[RouterA-GigabitEthernet3/0/1]port link-mode route

[RouterA-GigabitEthernet3/0/1] igmp enable

[RouterA-GigabitEthernet3/0/1] pim dm

[RouterA-GigabitEthernet3/0/1] quit

[RouterA] interface GigabitEthernet 3/0/2

[RouterA-GigabitEthernet3/0/2]port link-mode route

[RouterA-GigabitEthernet3/0/2] pim dm

[RouterA-GigabitEthernet3/0/2] quit

配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

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

[DeviceA] vlan 100

[DeviceA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/3

[DeviceA-vlan100] igmp-snooping enable

[DeviceA-vlan100] quit

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

[DeviceA] interface GigabitEthernet 3/0/3

[DeviceA-GigabitEthernet3/0/3] igmp-snooping static-router-port vlan 100

[DeviceA-GigabitEthernet3/0/3] quit

配置Device B

# 全局使能IGMP Snooping。

<DeviceB> system-view

[DeviceB] igmp-snooping

[DeviceB-igmp-snooping] quit

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

[DeviceB] vlan 100

[DeviceB-vlan100] port GigabitEthernet 3/0/1 GigabitEthernet 3/0/2

[DeviceB-vlan100] igmp-snooping enable

[DeviceB-vlan100] quit

配置Device C

# 全局使能IGMP Snooping。

<DeviceC> system-view

[DeviceC] igmp-snooping

[DeviceC-igmp-snooping] quit

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

[DeviceC] vlan 100

[DeviceC-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/5

[DeviceC-vlan100] igmp-snooping enable

[DeviceC-vlan100] quit

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

[DeviceC] interface GigabitEthernet 3/0/3

[DeviceC-GigabitEthernet3/0/3] igmp-snooping static-group 224.1.1.1 vlan 100

[DeviceC-GigabitEthernet3/0/3] quit

[DeviceC] interface GigabitEthernet 3/0/5

[DeviceC-GigabitEthernet3/0/5] igmp-snooping static-group 224.1.1.1 vlan 100

[DeviceC-GigabitEthernet3/0/5] quit

檢驗配置效果

# 查看Device A上VLAN 100內IGMP Snooping組的詳細信息。

[DeviceA] display igmp-snooping group vlan 100 verbose

  Total 1 IP Group(s).

  Total 1 IP Source(s).

  Total 1 MAC Group(s).

 

  Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port

  Subvlan flags: R-Real VLAN, C-Copy VLAN

  Vlan(id):100.

    Total 1 IP Group(s).

    Total 1 IP Source(s).

    Total 1 MAC Group(s).

    Router port(s):total 2 port(s).

            GE3/0/1                (D)

            GE3/0/3                (S)

    IP group(s):the following ip group(s) match to one mac group.

      IP group address:224.1.1.1

        (0.0.0.0, 224.1.1.1):

          Attribute:    Host Port

          Host port(s):total 1 port(s).

            GE3/0/2                (D)

    MAC group(s):

      MAC group address:0100-5e01-0101

          Host port(s):total 1 port(s).

            GE3/0/2

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

# 查看Device C上VLAN 100內IGMP Snooping組的詳細信息。

[DeviceC] display igmp-snooping group vlan 100 verbose

  Total 1 IP Group(s).

  Total 1 IP Source(s).

  Total 1 MAC Group(s).

 

  Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port

  Subvlan flags: R-Real VLAN, C-Copy VLAN

  Vlan(id):100.

    Total 1 IP Group(s).

    Total 1 IP Source(s).

Total 1 MAC Group(s).

    Router port(s):total 1 port(s).

            GE3/0/2                (D)

    IP group(s):the following ip group(s) match to one mac group.

      IP group address:224.1.1.1

        (0.0.0.0, 224.1.1.1):

          Attribute:    Host Port

          Host port(s):total 2 port(s).

            GE3/0/3                (S)

            GE3/0/5                (S)

    MAC group(s):

      MAC group address:0100-5e01-0101

          Host port(s):total 2 port(s).

            GE3/0/3

            GE3/0/5

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

1.9.3  IGMP Snooping查詢器配置舉例

1. 組網需求

·     如圖1-6所示,在一個沒有三層設備的純二層網絡環境中,組播源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,並選擇距組播源較近的Device A來充當IGMP Snooping查詢器。

·     為防止設備在沒有二層組播轉發表項時將組播數據在VLAN內廣播,在所有設備上都使能丟棄未知組播數據報文功能;同時,由於設備不會將收到源IP地址為0.0.0.0的IGMP查詢報文的端口設置為動態路由器端口,從而會影響二層組播轉發表項的建立並導致組播數據無法正常轉發,因此要求通過改變缺省的IGMP查詢報文源IP地址(即0.0.0.0)以避免此問題出現。

2. 組網圖

圖1-6 IGMP Snooping查詢器配置組網圖

 

3. 配置步驟

配置Device A

# 全局使能IGMP Snooping。

<DeviceA> system-view

[DeviceA] igmp-snooping

[DeviceA-igmp-snooping] quit

# 創建VLAN 100,並把端口GigabitEthernet3/0/1到GigabitEthernet3/0/3添加到該VLAN中。

[DeviceA] vlan 100

[DeviceA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/3

# 在VLAN 100內使能IGMP Snooping,並使能丟棄未知組播數據報文功能。

[DeviceA-vlan100] igmp-snooping enable

[DeviceA-vlan100] igmp-snooping drop-unknown

# 在VLAN 100內使能IGMP Snooping查詢器。

[DeviceA-vlan100] igmp-snooping querier

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

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

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

[DeviceA-vlan100] quit

配置Device B

# 全局使能IGMP Snooping。

<DeviceB> system-view

[DeviceB] igmp-snooping

[DeviceB-igmp-snooping] quit

# 創建VLAN 100,並把端口GigabitEthernet3/0/1到GigabitEthernet3/0/4添加到該VLAN中。

[DeviceB] vlan 100

[DeviceB-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/4

# 在VLAN 100內使能IGMP Snooping,並使能丟棄未知組播數據報文功能。

[DeviceB-vlan100] igmp-snooping enable

[DeviceB-vlan100] igmp-snooping drop-unknown

[DeviceB-vlan100] quit

Device C和Device D的配置與Device B相似,配置過程略。

檢驗配置效果

當IGMP Snooping查詢器開始工作之後,除查詢器以外的所有設備都能收到IGMP普遍組查詢報文。通過使用display igmp-snooping statistics命令可以查看IGMP報文的統計信息,例如:

# 查看Device B上收到的IGMP報文的統計信息。

[DeviceB] 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 error IGMP messages:0.

1.9.4  IGMP Snooping Proxying配置舉例

1. 組網需求

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

·     通過配置,使Switch A能夠代理下遊主機向Router A發送的IGMP報告報文和離開報文,以及響應Router A發來的IGMP查詢報文並向下遊主機轉發。

2. 組網圖

圖1-7 IGMP Snooping Proxying配置組網圖

 

3. 配置步驟

配置IP地址

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

配置Router A

# 使能IP組播路由,在各三層接口上使能PIM-DM,並在接口GigabitEthernet3/1/1上使能IGMP

<RouterA> system-view

[RouterA] multicast routing-enable

[RouterA] interface GigabitEthernet 3/1/1

[RouterA-GigabitEthernet3/1/1]port link-mode route

[RouterA-GigabitEthernet3/1/1] igmp enable

[RouterA-GigabitEthernet3/1/1] pim dm

[RouterA-GigabitEthernet3/1/1] quit

[RouterA] interface GigabitEthernet 3/1/2

[RouterA-GigabitEthernet3/1/2]port link-mode route

[RouterA-GigabitEthernet3/1/2] pim dm

[RouterA-GigabitEthernet3/1/2] quit

配置Switch A

# 全局使能IGMP Snooping。

<SwitchA> system-view

[SwitchA] igmp-snooping

[SwitchA-igmp-snooping] quit

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

[SwitchA] vlan 100

[SwitchA-vlan100] port GigabitEthernet 3/0/1 to GigabitEthernet 3/0/4

[SwitchA-vlan100] igmp-snooping enable

[SwitchA-vlan100] igmp-snooping proxying enable

[SwitchA-vlan100] quit

檢驗配置效果

當配置完成後,Host A和Host B分別發送組地址為224.1.1.1的IGMP加入報文,Switch A收到該報文後通過其路由器端口GigabitEthernet3/0/1向Router A也發送該組的加入報文。通過使用display igmp-snooping groupdisplay igmp group命令可以分別查看IGMP Snooping組和IGMP組的信息,例如:

# 查看Switch A上IGMP Snooping組的信息。

[SwitchA] display igmp-snooping group

  Total 1 IP Group(s).

  Total 1 IP Source(s).

  Total 1 MAC Group(s).

  Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port

  Subvlan flags: R-Real VLAN, C-Copy VLAN

  Vlan(id):100.

    Total 1 IP Group(s).

    Total 1 IP Source(s).

    Total 1 MAC Group(s).

    Router port(s):total 1 port(s).

            GE3/0/1                (D)

    IP group(s):the following ip group(s) match to one mac group.

      IP group address:224.1.1.1

        (0.0.0.0, 224.1.1.1):

          Host port(s):total 2 port(s).

            GE3/0/3                (D)

            GE3/0/4                (D)

    MAC group(s):

      MAC group address:0100-5e01-0101

          Host port(s):total 2 port(s).

            GE3/0/3

            GE3/0/4

# 查看Router A上IGMP組的信息。

[RouterA] display igmp group

Total 1 IGMP Group(s).

Interface group report information of VPN-Instance: public net

 GigabitEthernet3/1/1(10.1.1.1):

   Total 1 IGMP Group reported

    Group Address    Last Reporter    Uptime    Expires

    224.1.1.1        0.0.0.0          00:00:06  00:02:04

當Host A離開組播組224.1.1.1時,向Switch A發送該組的IGMP離開報文,但由於Host B仍未離開該組,因此Switch A並不會刪除該組,也不會向Router A發送該組的離開報文,隻是在該組對應轉發表項的成員端口列表中將端口GigabitEthernet3/0/4刪除。通過使用display igmp-snooping group命令可以查看IGMP Snooping組播組的信息,例如:

# 查看Switch A上IGMP Snooping組的信息。

[SwitchA] display igmp-snooping group

  Total 1 IP Group(s).

  Total 1 IP Source(s).

  Total 1 MAC Group(s).

  Port flags: D-Dynamic port, S-Static port, C-Copy port, P-PIM port

  Subvlan flags: R-Real VLAN, C-Copy VLAN

  Vlan(id):100.

    Total 1 IP Group(s).

    Total 1 IP Source(s).

    Total 1 MAC Group(s).

    Router port(s):total 1 port.

            GE3/0/1                (D)

    IP group(s):the following ip group(s) match to one mac group.

      IP group address:224.1.1.1

        (0.0.0.0, 224.1.1.1):

          Host port(s):total 1 port(s).

            GE3/0/3                (D)

    MAC group(s):

      MAC group address:0100-5e01-0101

          Host port(s):total 1 port(s).

            GE3/0/3

1.10  常見配置錯誤舉例

1.10.1  設備不能實現二層組播

1. 故障現象

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

2. 分析

IGMP Snooping沒有使能。

3. 處理過程

使用display current-configuration命令查看IGMP Snooping的運行狀態。

如果是沒有使能IGMP Snooping,則需先在係統視圖下使用igmp-snooping命令全局使能IGMP Snooping,然後在VLAN視圖下使用igmp-snooping enable命令使能VLAN內的IGMP Snooping。

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

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

1. 故障現象

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

2. 分析

·     ACL規則配置不正確;

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

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

3. 處理過程

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

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

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

 

1.11  附錄

1.11.1  設備對組播協議報文的特殊處理規則

支持IGMP Snooping功能的設備使能了三層組播路由後,在不同的情況下對各種組播協議報文的處理有所差異。具體規則如下:

如果設備上隻使能了IGMP,或同時使能了IGMP和PIM:

·     對於IGMP報文,根據報文類型為其維護相應的動態成員端口或動態路由器端口;

·     對於PIM Hello報文,為其維護相應的動態路由器端口。

如果設備上隻使能了PIM:

·     對於IGMP報文,將其當作未知報文在VLAN內進行廣播;

·     對於PIM Hello報文,為其維護相應的動態路由器端口。

在設備上關閉IGMP時:

·     如果未使能PIM,則刪除所有動態成員端口和動態路由器端口;

·     如果已使能PIM,則刪除動態成員端口,隻保留動態路由器端口。

說明

在使能了三層組播路由的設備上,請使用命令display igmp group port-info來查看二層端口信息。有關display igmp group port-info命令的詳細介紹,請參見“IP組播命令參考”中的“IGMP”。

 

在設備上關閉PIM時:

·     如果未使能IGMP,則刪除動態路由器端口;

·     如果已使能IGMP,則保留所有動態成員端口和動態路由器端口。

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

BOB登陆
官網
聯係我們