02-IGMP Snooping配置
本章節下載: 02-IGMP Snooping配置 (581.72 KB)
1.6.2 使能IGMP Snooping Proxying
1.7.11 配置IGMP Snooping協議中發送IGMP報文的DSCP優先級
1.9.4 IGMP Snooping Proxying配置舉例
IGMP Snooping是Internet Group Management Protocol Snooping(互聯網組管理協議窺探)的簡稱,它是運行在二層設備上的組播約束機製,用於管理和控製組播組。
運行IGMP Snooping的二層設備通過對收到的IGMP報文進行分析,為端口和MAC組播地址建立起映射關係,並根據這樣的映射關係轉發組播數據。
如圖1-1所示,當二層設備沒有運行IGMP Snooping時,組播數據在二層被廣播;當二層設備運行了IGMP Snooping後,已知組播組的組播數據不會在二層被廣播,而在二層被組播給指定的接收者。
IGMP Snooping通過二層組播將信息隻轉發給有需要的接收者,可以帶來以下好處:
· 減少了二層網絡中的廣播報文,節約了網絡帶寬;
· 增強了組播信息的安全性;
· 為實現對每台主機的單獨計費帶來了方便。
如圖1-2所示,Router A連接組播源,在Switch A和Switch B上分別運行IGMP Snooping,Host A和Host C為接收者主機(即組播組成員)。
結合圖1-2,介紹一下IGMP Snooping相關的端口概念:
· 路由器端口(Router Port):交換機上朝向三層組播設備(DR或IGMP查詢器)一側的端口,如Switch A和Switch B各自的GigabitEthernet1/0/1端口。交換機將本設備上的所有路由器端口都記錄在路由器端口列表中。
· 成員端口(Member Port):又稱組播組成員端口,表示交換機上朝向組播組成員一側的端口,如Switch A的GigabitEthernet1/0/2和GigabitEthernet1/0/3端口,以及Switch B的GigabitEthernet1/0/2端口。交換機將本設備上的所有成員端口都記錄在IGMP Snooping轉發表中。
· 本文中提到的路由器端口都是指交換機上朝向組播路由器的端口,而不是指路由器上的端口。
· 如不特別指明,本文中提到的路由器/成員端口均包括動態和靜態端口。
· 在運行了IGMP Snooping的交換機上,所有收到源地址不為0.0.0.0的IGMP普遍組查詢報文或PIM Hello報文的端口都將被視為動態路由器端口。有關PIM Hello報文的詳細介紹,請參見“IP組播配置指導”中的“PIM”。
表1-1 IGMP Snooping動態端口老化定時器
定時器 |
說明 |
超時前應收到的報文 |
超時後交換機的動作 |
動態路由器端口老化定時器 |
交換機為其每個動態路由器端口都啟動一個定時器,其超時時間就是動態路由器端口老化時間 |
源地址不為0.0.0.0的IGMP普遍組查詢報文或PIM Hello報文 |
將該端口從路由器端口列表中刪除 |
動態成員端口老化定時器 |
當一個端口動態加入某組播組時,交換機為該端口啟動一個定時器,其超時時間就是動態成員端口老化時間 |
IGMP成員關係報告報文 |
將該端口從IGMP Snooping轉發表中刪除 |
IGMP Snooping端口老化機製隻針對動態端口,靜態端口永不老化。
運行了IGMP Snooping的交換機對不同IGMP動作的具體處理方式如下:
IGMP查詢器定期向本地網段內的所有主機與路由器(224.0.0.1)發送IGMP普遍組查詢報文,以查詢該網段有哪些組播組的成員。
在收到IGMP普遍組查詢報文時,交換機將其通過VLAN內除接收端口以外的其它所有端口轉發出去,並對該報文的接收端口做如下處理:
· 如果在路由器端口列表中已包含該動態路由器端口,則重置其老化定時器。
· 如果在路由器端口列表中尚未包含該動態路由器端口,則將其添加到路由器端口列表中,並啟動其老化定時器。
以下情況,主機會向IGMP查詢器發送IGMP成員關係報告報文:
· 當組播組的成員主機收到IGMP查詢報文後,會回複IGMP成員關係報告報文。
· 如果主機要加入某個組播組,它會主動向IGMP查詢器發送IGMP成員關係報告報文以聲明加入該組播組。
在收到IGMP成員關係報告報文時,交換機將其通過VLAN內的所有路由器端口轉發出去,從該報文中解析出主機要加入的組播組地址,並對該報文的接收端口做如下處理:
· 如果不存在該組播組所對應的轉發表項,則創建轉發表項,將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;
· 如果已存在該組播組所對應的轉發表項,但其出端口列表中不包含該端口,則將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;
· 如果已存在該組播組所對應的轉發表項,且其出端口列表中已包含該動態成員端口,則重置其老化定時器。
交換機不會將IGMP成員關係報告報文通過非路由器端口轉發出去,因為根據主機上的IGMP成員關係報告抑製機製,如果非路由器端口下還有該組播組的成員主機,則這些主機在收到該報告報文後便抑製了自身的報告,從而使交換機無法獲知這些端口下還有該組播組的成員主機。有關主機上的IGMP成員關係報告抑製機製的詳細介紹,請參見“IP組播配置指導”中的“IGMP”。
運行IGMPv1的主機離開組播組時不會發送IGMP離開組報文,因此交換機無法立即獲知主機離開的信息。但是,由於主機離開組播組後不會再發送IGMP成員關係報告報文,因此當其對應的動態成員端口的老化定時器超時後,交換機就會將該端口對應的轉發表項從轉發表中刪除。
運行IGMPv2或IGMPv3的主機離開組播組時,會通過發送IGMP離開組報文,以通知組播路由器自己離開了某個組播組。當交換機從某動態成員端口上收到IGMP離開組報文時,首先判斷要離開的組播組所對應的轉發表項是否存在,以及該組播組所對應轉發表項的出端口列表中是否包含該接收端口:
· 如果不存在該組播組對應的轉發表項,或者該組播組對應轉發表項的出端口列表中不包含該端口,交換機不會向任何端口轉發該報文,而將其直接丟棄;
· 如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中包含該端口,交換機會將該報文通過VLAN內的所有路由器端口轉發出去。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以交換機不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是重置其老化定時器。
當IGMP查詢器收到IGMP離開組報文後,從中解析出主機要離開的組播組的地址,並通過接收端口向該組播組發送IGMP特定組查詢報文。交換機在收到IGMP特定組查詢報文後,將其通過VLAN內的所有路由器端口和該組播組的所有成員端口轉發出去。對於IGMP離開組報文的接收端口(假定為動態成員端口),交換機在其老化時間內:
· 如果從該端口收到了主機響應該特定組查詢的IGMP成員關係報告報文,則表示該端口下還有該組播組的成員,於是重置其老化定時器;
· 如果沒有從該端口收到主機響應特定組查詢的IGMP成員關係報告報文,則表示該端口下已沒有該組播組的成員,則在其老化時間超時後,將其從該組播組所對應轉發表項的出端口列表中刪除。
為了減少上遊設備收到的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內除接收端口以外的所有端口轉發;同時根據本地維護的組成員關係生成報告報文,並向所有路由器端口發送 |
特定組查詢報文 |
收到針對某組播組的特定組查詢報文時,若該組對應的轉發表項中還有成員端口,則向所有路由器端口回複該組的報告報文 |
報告報文 |
從某端口收到某組播組的報告報文時,若已存在該組對應的轉發表項,且其出端口列表中已包含該動態成員端口,則重置其老化定時器;若已存在該組對應的轉發表項,但其出端口列表中不包含該端口,則將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器;若尚不存在該組對應的轉發表項,則創建轉發表項,將該端口作為動態成員端口添加到出端口列表中,並啟動其老化定時器,然後向所有路由器端口發送該組的報告報文 |
離開報文 |
從某端口收到某組播組的離開報文後,向該端口發送針對該組的特定組查詢報文。隻有當刪除某組播組對應轉發表項中的最後一個成員端口時,才會向所有路由器端口發送該組的離開報文 |
與IGMP Snooping相關的協議規範有:
· RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
表1-3 IGMP Snooping配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置IGMP Snooping基本功能 |
使能IGMP Snooping |
必選 |
|
配置IGMP Snooping版本 |
可選 |
||
配置靜態組播MAC地址表項 |
可選 |
||
配置IGMP Snooping端口功能 |
配置動態端口老化定時器 |
可選 |
|
配置靜態端口 |
可選 |
||
配置模擬主機加入 |
可選 |
||
配置端口快速離開 |
可選 |
||
禁止端口成為動態路由器端口 |
可選 |
||
配置IGMP Snooping查詢器 |
使能IGMP Snooping查詢器 |
可選 |
|
配置IGMP查詢和響應 |
可選 |
||
配置IGMP查詢報文源IP地址 |
可選 |
||
配置IGMP Snooping Proxying |
使能IGMP Snooping Proxying |
可選 |
|
配置代理發送IGMP報文的源IP地址 |
可選 |
||
配置IGMP Snooping策略 |
配置組播組過濾器 |
可選 |
|
配置組播數據報文源端口過濾 |
可選 |
||
配置丟棄未知組播數據報文 |
可選 |
||
配置IGMP成員關係報告報文抑製 |
可選 |
||
配置端口加入的組播組最大數量 |
可選 |
||
配置組播組替換 |
可選 |
||
配置IGMP報文的802.1p優先級 |
可選 |
||
配置組播用戶控製策略 |
可選 |
||
配置IGMP Snooping主機跟蹤功能 |
可選 |
||
配置IGMP Snooping協議中發送IGMP報文的DSCP優先級 |
可選 |
對於IGMP Snooping的相關配置來說:
· IGMP-Snooping視圖下的配置對所有VLAN都有效,VLAN視圖下的配置隻對當前VLAN有效。對於某VLAN來說,優先采用該VLAN視圖下的配置,隻有當在該VLAN視圖下沒有進行配置時,才采用IGMP-Snooping視圖下的相應配置。
· IGMP-Snooping視圖下的配置對所有端口都有效;二層以太網端口視圖下的配置隻對當前端口有效;二層聚合接口視圖下的配置隻對當前接口有效;端口組視圖下的配置對當前端口組中的所有端口有效。對於某端口來說,優先采用二層以太網端口視圖、二層聚合接口視圖或端口組視圖下的配置,隻有當在上述視圖下沒有進行配置時,才采用IGMP-Snooping視圖下的相應配置。
· 二層聚合接口與其各成員端口上的配置互不影響,且成員端口上的配置隻有當該端口退出聚合組後才會生效,二層聚合接口上的配置也不會參與聚合計算。
在配置IGMP Snooping基本功能之前,需完成以下任務:
· 配置相應VLAN
在配置IGMP Snooping基本功能之前,需準備以下數據:
· 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。
· 對於S5500-EI係列交換機,在VLAN內使能IGMP Snooping之後,不允許在該VLAN所對應的VLAN接口上再使能IGMP和PIM,反之亦然。
· 在指定VLAN內使能了IGMP Snooping之後,IGMP Snooping功能隻在屬於該VLAN的端口上生效。
配置IGMP Snooping的版本,實際上就是配置IGMP Snooping可以處理的IGMP報文的版本:
· 當IGMP Snooping的版本為2時,IGMP Snooping能夠對IGMPv1和IGMPv2的報文進行處理,對IGMPv3的報文則不進行處理,而是在VLAN內將其廣播;
· 當IGMP Snooping的版本為3時,IGMP Snooping能夠對IGMPv1、IGMPv2和IGMPv3的報文進行處理。
操作 |
命令 |
說明 |
進入係統視圖 |
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時,這些轉發表項將被重新恢複。
在二層組播中,除了可通過二層組播協議(如IGMP Snooping)動態建立組播MAC地址表項外,還可以通過手工方式配置組播MAC地址表項,將端口與組播MAC地址進行靜態綁定,以便靈活控製組播信息送達的目的端口。
表1-6 係統視圖下配置靜態組播MAC地址表項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置靜態組播MAC地址表項 |
mac-address multicast mac-address interface interface-list vlan vlan-id |
必選 缺省情況下,沒有配置靜態組播MAC地址表項 |
表1-7 接口視圖下配置靜態組播MAC地址表項
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入以太網或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 進入以太網端口或二層聚合接口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組的所有接口生效 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置靜態組播MAC地址表項 |
mac-address multicast mac-address vlan vlan-id |
必選 缺省情況下,沒有配置靜態組播MAC地址表項 |
· 係統視圖下的配置對指定接口有效,而接口視圖下的配置隻對當前接口(或當前端口組內的所有接口)有效。
· 可手工配置的組播MAC地址表項為除0100-5Exx-xxxx以外的任意合法的組播MAC地址(組播MAC地址就是最高字節的最低比特位為1的MAC地址),其中x代表0~F的任意一個十六進製數。
在配置IGMP Snooping端口功能之前,需完成以下任務:
· 在VLAN內使能IGMP Snooping
· 配置相應端口組
在配置IGMP Snooping端口功能之前,需準備以下數據:
· 動態路由器端口老化時間
· 動態成員端口老化時間
· 組播組和組播源的地址
對於動態路由器端口,如果在其老化時間超時前沒有收到IGMP普遍組查詢報文或者PIM Hello報文,交換機將把該端口從路由器端口列表中刪除。
對於動態成員端口,如果在其老化時間超時前沒有收到該組播組的IGMP成員關係報告報文,交換機將把該端口從該組播組所對應轉發表項的出端口列表中刪除。
如果組播組成員的變動比較頻繁,可以把動態成員端口老化時間設置小一些,反之亦然。
表1-8 全局配置動態端口老化定時器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
配置動態路由器端口老化時間 |
router-aging-time interval |
必選 缺省情況下,動態路由器端口的老化時間為105秒 |
配置動態成員端口老化時間 |
host-aging-time interval |
必選 缺省情況下,動態成員端口的老化時間為260秒 |
表1-9 在VLAN內配置動態端口老化定時器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
配置動態路由器端口老化時間 |
igmp-snooping router-aging-time interval |
必選 缺省情況下,動態路由器端口的老化時間為105秒 |
配置動態成員端口老化時間 |
igmp-snooping host-aging-time interval |
必選 缺省情況下,動態成員端口的老化時間為260秒 |
如果某端口所連接的主機需要固定接收發往某組播組或組播源組的組播數據,可以配置該端口靜態加入該組播組或組播源組,成為靜態成員端口。
可以通過將交換機上的端口配置為靜態路由器端口,從而使交換機上所有收到的組播數據可以通過該端口被轉發出去。
操作 |
命令 |
說明 |
|
進入係統視圖 |
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命令刪除。
通常情況下,運行IGMP的主機會對IGMP查詢器發出的查詢報文進行響應。如果主機由於某種原因無法響應,就可能導致組播路由器認為該網段沒有該組播組的成員,從而取消相應的轉發路徑。
為避免這種情況的發生,可以將交換機的端口配置成為組播組成員(即配置模擬主機加入)。當收到IGMP查詢報文時由模擬主機進行響應,從而保證該交換機能夠繼續收到組播報文。
模擬主機加入功能的實現原理如下:
· 在某端口上使能模擬主機加入功能時,交換機會通過該端口主動發送一個IGMP成員關係報告報文;
· 在某端口上使能了模擬主機加入功能後,當收到IGMP普遍組查詢報文時,交換機會通過該端口響應一個IGMP成員關係報告報文;
· 在某端口上關閉模擬主機加入功能時,交換機會通過該端口發送一個IGMP離開組報文。
操作 |
命令 |
說明 |
|
進入係統視圖 |
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查詢報文時,每條配置所對應的模擬主機將分別進行響應。
· 與靜態成員端口不同,配置了模擬主機加入的端口會作為動態成員端口而參與動態成員端口的老化過程。
端口快速離開是指當交換機從某端口收到主機發送的離開某組播組的IGMP離開組報文時,直接把該端口從對應轉發表項的出端口列表中刪除。此後,當交換機收到對該組播組的IGMP特定組查詢報文時,交換機將不再向該端口轉發。
在交換機上,在隻連接有一個接收者的端口上,可以通過使能端口快速離開功能來節約帶寬和資源;而在連接有多個接收者的端口上,如果交換機或該端口所在的VLAN已使能了丟棄未知組播數據報文功能,則不要再使能端口快速離開功能,否則,一個接收者的離開將導致該端口下屬於同一組播組的其它接收者無法收到組播數據。
表1-12 全局配置端口快速離開
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
使能端口快速離開功能 |
fast-leave [ vlan vlan-list ] |
必選 缺省情況下,端口快速離開功能處於關閉狀態 |
表1-13 在端口上配置端口快速離開
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
使能端口快速離開功能 |
igmp-snooping fast-leave [ vlan vlan-list ] |
必選 缺省情況下,端口快速離開功能處於關閉狀態 |
目前,在組播用戶接入網絡中存在以下問題:
· 如果交換機收到了某用戶主機發來的IGMP普遍組查詢報文或PIM Hello報文,那麼該主機所在的端口就將成為動態路由器端口,從而使VLAN內的所有組播報文都會向該端口轉發,導致該用戶主機收到的組播報文失控。
· 同時,用戶主機發送IGMP普遍組查詢報文或PIM Hello報文,也會影響該接入網絡中三層設備上的組播路由協議狀態(如影響IGMP查詢器或DR的選舉),嚴重時可能導致網絡中斷。
當禁止某端口成為動態路由器端口後,即使該端口收到了IGMP普遍組查詢報文或PIM Hello報文,該端口也不會成為動態路由器端口,從而能夠有效解決上述問題,提高網絡的安全性和對組播用戶的控製能力。
表1-14 禁止端口成為動態路由器端口
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
禁止端口成為動態路由器端口 |
igmp-snooping router-port-deny [ vlan vlan-list ] |
必選 缺省情況下,不禁止端口成為動態路由器端口 |
本配置與靜態路由器端口的配置互不影響。
在配置IGMP Snooping查詢器之前,需完成以下任務:
· 在VLAN內使能IGMP Snooping
在配置IGMP Snooping查詢器之前,需準備以下數據:
· 發送IGMP普遍組查詢報文的時間間隔
· 發送IGMP特定組查詢報文的時間間隔
· IGMP普遍組查詢的最大響應時間
· IGMP普遍組查詢報文的源IP地址
· IGMP特定組查詢報文的源IP地址
在運行了IGMP的組播網絡中,會有一台三層組播設備充當IGMP查詢器,負責發送IGMP查詢報文,使三層組播設備能夠在網絡層建立並維護組播轉發表項,從而在網絡層正常轉發組播數據。
但是,在一個沒有三層組播設備的網絡中,由於二層設備並不支持IGMP,因此無法實現IGMP查詢器的相關功能。為了解決這個問題,可以在二層設備上使能IGMP Snooping查詢器,使二層設備能夠在數據鏈路層建立並維護組播轉發表項,從而在數據鏈路層正常轉發組播數據。
表1-15 使能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”。
可以根據網絡的實際情況來修改發送IGMP普遍組查詢報文的時間間隔。
在收到IGMP查詢報文(包括普遍組查詢和特定組查詢)後,主機會為其所加入的每個組播組都啟動一個定時器,定時器的值在0到最大響應時間(該時間值由主機從所收到的IGMP查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。
合理配置IGMP查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞:
· 對於IGMP普遍組查詢報文來說,通過配置IGMP普遍組查詢的最大響應時間來填充其最大響應時間字段;
· 對於IGMP特定組查詢報文來說,所配置的發送IGMP特定組查詢報文的時間間隔將被填充到其最大響應時間字段。也就是說,IGMP特定組查詢的最大響應時間從數值上與發送IGMP特定組查詢報文的時間間隔相同。
表1-16 全局配置IGMP查詢和響應
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
配置IGMP普遍組查詢的最大響應時間 |
max-response-time interval |
必選 缺省情況下,IGMP普遍組查詢的最大響應時間為10秒 |
配置發送IGMP特定組查詢報文的時間間隔 |
last-member-query-interval interval |
必選 缺省情況下,發送IGMP特定組查詢報文的時間間隔為1秒 |
表1-17 在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普遍組查詢的最大響應時間,否則有可能造成對組播組成員的誤刪。
對於收到源IP地址為0.0.0.0的查詢報文的端口,交換機不會將其設置為動態路由器端口,從而影響數據鏈路層組播轉發表項的建立,最終導致組播數據無法正常轉發。
當由二層設備充當IGMP Snooping查詢器時,可以把IGMP查詢報文的源IP地址配置為一個有效的IP地址以避免上述問題的出現。
表1-18 配置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查詢器的選舉。
在配置IGMP Snooping Proxying之前,需完成以下任務:
· 在VLAN內使能IGMP Snooping
在配置IGMP Snooping Proxying之前,需準備以下數據:
· 代理發送IGMP報告報文的源IP地址
· 代理發送IGMP離開報文的源IP地址
當在有組播需求的VLAN內使能了IGMP Snooping代理功能後,該設備就成為該VLAN內的IGMP Snooping代理設備。
表1-19 使能IGMP Snooping Proxying
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
在VLAN內使能IGMP Snooping代理功能 |
igmp-snooping proxying enable |
必選 缺省情況下,VLAN內的IGMP Snooping代理功能處於關閉狀態 |
通過本配置可以改變代理發送的IGMP報告報文和離開報文的源IP地址。
表1-20 配置代理發送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 |
在配置IGMP Snooping策略之前,需完成以下任務:
· 在VLAN內使能IGMP Snooping
在配置IGMP Snooping策略之前,需準備以下數據:
· 組播組過濾的ACL規則
· 端口加入的組播組最大數量
· IGMP報文的802.1p優先級
在使能了IGMP Snooping的交換機上,通過配置組播組過濾器,可以限製用戶對組播節目的點播。
在實際應用中,當用戶點播某個組播節目時,主機會發起一個IGMP成員關係報告報文,該報文到達交換機後,進行ACL檢查:如果該接收端口可以加入這個組播組,則將其列入到IGMP Snooping轉發表中;否則交換機就丟棄該報文。這樣,未通過ACL檢查的組播數據就不會送到該端口,從而達到控製用戶點播組播節目的目的。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
配置組播組過濾器 |
group-policy acl-number [ vlan vlan-list ] |
必選 缺省情況下,沒有配置全局組播組過濾器,即各VLAN內主機可以加入任意合法的組播組 |
表1-22 在端口上配置組播組過濾器
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置組播組過濾器 |
igmp-snooping group-policy acl-number [ vlan vlan-list ] |
必選 缺省情況下,端口上沒有配置組播組過濾器,即該端口下的主機可以加入任意合法的組播組 |
· 當在組播VLAN中配置組播組過濾器時,需在sub-vlan上進行配置,在主VLAN上配置不會生效。
· 當使用IGMP v3的用戶點播多個組播組時,組播組過濾器功能可能不能正確對用戶點播的組播組進行過濾,因為IGMP v3會將多個組播組的report信息在一個報文中發送,從而導致組播組過濾的失效。
通過配置組播數據報文源端口過濾功能,可以允許或禁止端口作為組播源端口:
· 使能了該功能後,端口下不能連接組播源,因為該端口將過濾掉所有的組播數據報文(但允許組播協議報文通過),隻能連接組播數據接收者;
· 關閉了該功能後,端口下既可以連接組播源,也可以連接組播數據接收者。
表1-23 全局配置組播數據報文源端口過濾
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
使能組播數據報文源端口過濾功能 |
source-deny port interface-list |
必選 缺省情況下,組播數據報文源端口過濾功能處於關閉狀態 |
表1-24 在端口上配置組播數據報文源端口過濾
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網端口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
使能組播數據報文源端口過濾功能 |
igmp-snooping source-deny |
必選 缺省情況下,組播數據報文源端口過濾功能處於關閉狀態 |
未知組播數據報文是指在IGMP Snooping轉發表中不存在對應轉發表項的那些組播數據報文,當交換機收到發往未知組播組的報文時,數據報文會在未知組播數據報文所屬的VLAN內廣播,這樣會占用大量的網絡帶寬,影響轉發效率。
此時用戶可以在交換機上啟動丟棄未知組播數據報文功能,當交換機收到未知組播數據報文時,隻向其路由器端口轉發,不在VLAN內廣播。如果交換機沒有路由器端口,數據報文會被丟棄,不再轉發
表1-25 在VLAN內配置丟棄未知組播數據報文
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
使能丟棄未知組播數據報文功能 |
igmp-snooping drop-unknown |
必選 缺省情況下,丟棄未知組播數據報文的功能處於關閉狀態,即對未知組播數據報文進行廣播 |
當二層設備收到來自某組播組成員的IGMP成員關係報告報文時,會將該報文轉發給與其直連的三層設備。這樣,當二層設備上存在屬於某組播組的多個成員時,與其直連的三層設備會收到這些成員發送的相同IGMP成員關係報告報文。
當使能了IGMP成員關係報告報文抑製功能後,在一個查詢間隔內二層設備隻會把收到的某組播組內的第一個IGMP成員關係報告報文轉發給三層設備,而不繼續向三層設備轉發來自同一組播組的其它IGMP成員關係報告報文,這樣可以減少網絡中的報文數量。
表1-26 配置IGMP成員關係報告報文抑製
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
使能IGMP成員關係報告報文抑製功能 |
report-aggregation |
必選 缺省情況下,IGMP成員關係報告報文抑製功能處於使能狀態 |
在IGMP Snooping代理設備上,不論是否使能了IGMP成員關係報告報文抑製功能,隻要存在某組播組對應的轉發表項,就會將從下遊收到的針對該組的報告報文都抑製掉。
通過配置端口加入的組播組最大數量,可以限製用戶點播組播節目的數量,從而控製了端口上的數據流量。
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
配置端口加入的組播組最大數量 |
igmp-snooping group-limit limit [ vlan vlan-list ] |
必選 S5500-EI係列交換機端口加入的組播組最大數量為2000,S5500-SI係列交換機端口加入的組播組最大數量為1000 |
在配置端口加入的組播組最大數量時,如果當前端口上的組播組數量已超過配置值,係統將把該端口相關的所有轉發表項從IGMP Snooping轉發表中刪除,該端口下的主機都需要重新加入組播組,直至該端口上的組播組數量達到限製值為止。其中,如果該端口已配置為靜態成員端口,係統會將靜態成員端口的配置重新生效一次;如果在該端口上配置了模擬主機加入,係統在收到模擬主機發來的報告報文之後才會重新建立相應的轉發表項。
由於某些特殊的原因,當前交換機或端口上通過的組播組數目有可能會超過交換機或該端口的限定;另外,在某些特定的應用中,交換機上新加入的組播組需要自動替換已存在的組播組(一個典型的應用就是“頻道切換”,即用戶通過加入一個新的組播組就能完成離開原組播組並切換到新組播組的動作)。
針對以上情況,可以在交換機或者某些端口上使能組播組替換功能。當交換機或端口上加入的組播組數量已達到限定值時:
· 若使能了組播組替換功能,則新加入的組播組會自動替代已存在的組播組,替代規則是替代IP地址最小的組播組;
· 若沒有使能組播組替換功能,則自動丟棄新的IGMP成員關係報告報文。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
使能組播組替換功能 |
overflow-replace [ vlan vlan-list ] |
必選 缺省情況下,組播組替換功能處於關閉狀態 |
表1-29 在端口上配置組播組替換
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入相應視圖 |
進入二層以太網或二層聚合接口視圖 |
interface interface-type interface-number |
二者必選其一 |
進入端口組視圖 |
port-group manual port-group-name |
||
使能組播組替換功能 |
igmp-snooping overflow-replace [ vlan vlan-list ] |
必選 缺省情況下,組播組替換功能處於關閉狀態 |
在使能組播組替換功能之前,必須首先配置端口通過的組播組的最大數量(具體配置過程請參見“1.7.6 配置端口加入的組播組最大數量”),否則組播組替換功能將不會生效。
可以通過本配置來改變IGMP報文的802.1p優先級。當交換機的出端口發生擁塞時,交換機通過識別報文的802.1p優先級,優先發送優先級較高的報文。
表1-30 全局配置IGMP報文的802.1p優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
配置IGMP報文的802.1p優先級 |
dot1p-priority priority-number |
必選 缺省情況下,IGMP報文的802.1p優先級為0 |
表1-31 在VLAN內配置IGMP報文的802.1p優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
配置IGMP報文的802.1p優先級 |
igmp-snooping dot1p-priority priority-number |
必選 缺省情況下,IGMP報文的802.1p優先級為0 |
組播用戶控製策略通常配置在接入交換機上,是基於用戶權限控製來實現的,即隻有通過授權的用戶才能收到相應的組播流,從而達到限製用戶對組播節目點播的目的。在實際應用中,用戶先要通過接入交換機向RADIUS服務器發起認證(如802.1X認證),當認證通過後再根據用戶的點播行為進行策略檢查:
· 當用戶點播組播節目時,主機會發送IGMP成員關係報告報文,接入交換機收到該報文後對其攜帶的組播組和組播源地址進行策略檢查,若該報文通過檢查則允許該用戶加入該組播組;否則,接入交換機將丟棄該報文。
· 當用戶停止點播組播節目時,主機會發送IGMP離開報文,接入交換機收到該報文後對其攜帶的組播組和組播源地址進行策略檢查,若該報文通過檢查則允許該用戶離開該組播組;否則,接入交換機將丟棄該報文。
表1-32 配置組播用戶控製策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建User Profile,並進入User-Profile視圖 |
user-profile profile-name |
- |
配置組播用戶控製策略 |
igmp-snooping access-policy acl-number |
必選 缺省情況下,沒有配置組播用戶控製策略,即用戶可以加入/離開任意合法的組播組 |
退回係統視圖 |
quit |
- |
激活該User Profile |
user-profile profile-name enable |
必選 缺省情況下,User Profile處於未激活狀態 |
· 有關user-profile和user-profile enable命令的詳細介紹,請參見“安全命令參考”中的“User Profile”。
· 組播用戶控製策略與組播組過濾器在功能上類似,二者的區別在於:前者是基於用戶權限的組播控製,需要與認證、授權功能結合使用,能夠控製組播用戶的加入與離開;後者是基於設備端口的組播控製,無需與認證、授權功能結合使用,隻能控製組播用戶的加入。
通過使能IGMP Snooping主機跟蹤功能,可以使交換機能夠記錄正在接收組播數據的成員主機信息(包括主機的IP地址、運行時間和超時時間等),以便於網絡管理員對這些主機進行監控和管理。
表1-33 全局配置IGMP Snooping主機跟蹤功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
全局使能IGMP Snooping主機跟蹤功能 |
host-tracking |
必選 缺省情況下,IGMP Snooping主機跟蹤功能處於關閉狀態 |
表1-34 在VLAN內配置IGMP Snooping主機跟蹤功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
在VLAN內使能IGMP Snooping主機跟蹤功能 |
igmp-snooping host-tracking |
必選 缺省情況下,IGMP Snooping主機跟蹤功能處於關閉狀態 |
在IPv4報文頭中,包含一個8bit的ToS字段,用於標識IP報文的服務類型。RFC 2474對這8個bit進行了定義,將前6個bit定義為DSCP優先級,最後2個bit作為保留位。在報文傳輸的過程中,DSCP優先級可以被網絡設備識別,並作為報文傳輸優先程度的參考。
用戶可以對IGMP Snooping協議中發送的MLD報文的DSCP優先級進行配置。
表1-35 配置發送的IGMP報文的DSCP優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IGMP-Snooping視圖 |
igmp-snooping |
- |
配置發送的IGMP報文的DSCP優先級 |
dscp dscp-value |
必選 缺省情況下,發送的IGMP報文的DSCP優先級為48 |
此配置僅用於配置交換機自身生成的IGMP報文的DSCP優先級,不會對交換機轉發的IGMP報文的DSCP優先級進行修改。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IGMP Snooping的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除組播組信息。
表1-36 IGMP Snooping顯示和維護
命令 |
|
查看IGMP Snooping組的信息 |
display igmp-snooping group [ vlan vlan-id ] [ 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 ] |
查看靜態組播MAC地址表信息 |
display mac-address [ mac-address [ vlan vlan-id ] | [ multicast ] [ vlan vlan-id ] [ count ] ] [ | { 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 |
· reset igmp-snooping group命令隻對使能了IGMP Snooping的VLAN有效,而對VLAN接口上使能了IGMP的VLAN無效。
· reset igmp-snooping group命令隻能清除動態加入記錄,而無法清除靜態加入記錄。
· 如圖1-4所示,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內廣播。
請按照圖1-4配置各接口的IP地址和子網掩碼,具體配置過程略。
(2) 配置Router A
# 使能IP組播路由,在各接口上使能PIM-DM,並在端口GigabitEthernet1/0/1上使能IGMP。
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] igmp enable
[RouterA-GigabitEthernet1/0/1] pim dm
[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 number 2001
[SwitchA-acl-basic-2001] rule permit source 224.1.1.1 0
[SwitchA-acl-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) 檢驗配置效果
# 查看Switch A上VLAN 100內IGMP Snooping組的詳細信息。
[SwitchA] 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
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).
GE1/0/1 (D) ( 00:01:30 )
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).
GE1/0/3 (D) ( 00:03:23 )
GE1/0/4 (D) ( 00:04:10 )
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 2 port(s).
GE1/0/3
GE1/0/4
由此可見,Switch A上的端口GigabitEthernet1/0/3和GigabitEthernet1/0/4已經加入了組播組224.1.1.1。
· 如圖1-5所示,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,生成樹協議)的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“生成樹”。
(1) 配置IP地址
請按照圖1-5配置各接口的IP地址和子網掩碼,具體配置過程略。
(2) 配置Router A
# 使能IP組播路由,在各接口上使能PIM-DM,並在端口GigabitEthernet1/0/1上使能IGMP。
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] igmp enable
[RouterA-GigabitEthernet1/0/1] pim dm
[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
(6) 檢驗配置效果
# 查看Switch A上VLAN 100內IGMP Snooping組的詳細信息。
[SwitchA] 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
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).
GE1/0/1 (D) ( 00:01:30 )
GE1/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).
GE1/0/2 (D) ( 00:03:23 )
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 1 port(s).
GE1/0/2
由此可見,Switch A上的端口GigabitEthernet1/0/3已經成為了靜態路由器端口。
# 查看Switch C上VLAN 100內IGMP Snooping組的詳細信息。
[SwitchC] 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
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).
GE1/0/2 (D) ( 00:01:23 )
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).
GE1/0/3 (S)
GE1/0/5 (S)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 2 port(s).
GE1/0/3
GE1/0/5
由此可見,Switch C上的端口GigabitEthernet1/0/3和GigabitEthernet1/0/5已經成為了組播組224.1.1.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,並選擇距組播源較近的Switch A來充當IGMP Snooping查詢器。
· 為防止交換機在沒有二層組播轉發表項時將組播數據在VLAN內廣播,在所有交換機上都使能丟棄未知組播數據報文功能;同時,由於交換機不會將收到源IP地址為0.0.0.0的IGMP查詢報文的端口設置為動態路由器端口,從而會影響二層組播轉發表項的建立並導致組播數據無法正常轉發,因此要求通過改變缺省的IGMP查詢報文源IP地址(即0.0.0.0)以避免此問題出現。
圖1-6 IGMP Snooping查詢器配置組網圖
(1) 配置Switch A
# 全局使能IGMP Snooping功能。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# 創建VLAN 100,並把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到該VLAN中。
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
# 在VLAN 100內使能IGMP Snooping,並使能丟棄未知組播數據報文功能。
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping drop-unknown
# 在VLAN 100內使能IGMP Snooping查詢器。
[SwitchA-vlan100] igmp-snooping querier
# 在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中。
[SwitchB] vlan 100
[SwitchB-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
# 在VLAN 100內使能IGMP Snooping,並使能丟棄未知組播數據報文功能。
[SwitchB-vlan100] igmp-snooping enable
[SwitchB-vlan100] igmp-snooping drop-unknown
[SwitchB-vlan100] quit
Switch C和Switch D的配置與Switch B相似,配置過程略。
(3) 檢驗配置效果
當IGMP Snooping查詢器開始工作之後,除查詢器以外的所有交換機都能收到IGMP普遍組查詢報文。通過使用display igmp-snooping statistics命令可以查看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 error IGMP messages:0.
· 如圖1-7所示,Router A通過GigabitEthernet1/0/2端口連接組播源(Source),通過GigabitEthernet1/0/1端口連接Switch A;Router A上運行IGMPv2,Switch A上運行版本2的IGMP Snooping,並由Router A充當IGMP查詢器。
· 通過配置,使Switch A能夠代理下遊主機向Router A發送的IGMP報告報文和離開報文,以及響應Router A發來的IGMP查詢報文並向下遊主機轉發。
圖1-7 IGMP Snooping Proxying配置組網圖
(1) 配置IP地址
請按照圖1-7配置各接口的IP地址和子網掩碼,具體配置過程略。
(2) 配置Router A
# 使能IP組播路由,在各接口上使能PIM-DM,並在端口GigabitEthernet1/0/1上使能IGMP。
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] igmp enable
[RouterA-GigabitEthernet1/0/1] pim dm
[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,並使能IGMP Snooping Proxying。
[SwitchA] vlan 100
[SwitchA-vlan100] port gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] igmp-snooping proxying enable
[SwitchA-vlan100] quit
(4) 檢驗配置效果
當配置完成後,Host A和Host B分別發送組地址為224.1.1.1的IGMP加入報文,Switch A收到該報文後通過其路由器端口GigabitEthernet1/0/1向Router A也發送該組的加入報文。通過使用display igmp-snooping group和display 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
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.
GE1/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.
GE1/0/3 (D)
GE1/0/4 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 2 port.
GE1/0/3
GE1/0/4
# 查看Router A上IGMP組的信息。
[RouterA] display igmp group
Total 1 IGMP Group(s).
Interface group report information of VPN-Instance: public net
GigabitEthernet1/0/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發送該組的離開報文,隻是在該組對應轉發表項的成員端口列表中將端口GigabitEthernet1/0/3刪除。通過使用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
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.
GE1/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.
GE1/0/4 (D)
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 1 port.
GE1/0/4
· 如圖1-8所示,三層交換機Switch A分別通過接口Vlan-interface101和Vlan-interface102連接組播源Source 1和Source 2,通過接口Vlan-interface103連接RADIUS服務器,並通過接口Vlan-interface104連接二層交換機Switch B;Switch A上運行IGMPv2,Switch B上運行版本2的IGMP Snooping,連接在Switch A上的組播源和連接在Switch B上的主機都使用802.1X進行認證。
· 通過在Switch A上配置組播源控製策略,禁止由Source 2發往組播組224.1.1.1的組播數據進入網絡;通過在Switch B上配置組播用戶控製策略,使接收者(Receiver)Host A隻能加入/離開組播組224.1.1.1。
(1) 配置IP地址
請按照圖1-8配置各接口的IP地址和子網掩碼,具體配置過程略。
(2) 配置Switch A
# 分別創建VLAN 101~104,並將端口GigabitEthernet 1/0/1~GigabitEthernet 1/0/4依次加入VLAN 101~104中。
<SwitchA> system-view
[SwitchA] vlan 101
[SwitchA-vlan101] port gigabitethernet 1/0/1
[SwitchA-vlan101] quit
[SwitchA] vlan 102
[SwitchA-vlan102] port gigabitethernet 1/0/2
[SwitchA-vlan102] quit
[SwitchA] vlan 103
[SwitchA-vlan103] port gigabitethernet 1/0/3
[SwitchA-vlan103] quit
[SwitchA] vlan 104
[SwitchA-vlan104] port gigabitethernet 1/0/4
[SwitchA-vlan104] quit
# 使能IP組播路由,在接口Vlan-interface101、Vlan-interface102和Vlan-interface104上使能PIM-DM,並在接口Vlan-interface104上使能IGMP。
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim dm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 102
[SwitchA-Vlan-interface102] pim dm
[SwitchA-Vlan-interface102] quit
[SwitchA] interface vlan-interface 104
[SwitchA-Vlan-interface104] pim dm
[SwitchA-Vlan-interface104] igmp enable
[SwitchA-Vlan-interface104] quit
# 創建名為policy1的QoS策略,不允許來自組播源2.1.1.1的組播數據向組播組224.1.1.1發送。
[SwitchA] acl number 3001
[SwitchA-acl-adv-3001] rule permit udp source 2.1.1.1 0 destination 224.1.1.1 0
[SwitchA-acl-adv-3001] quit
[SwitchA] traffic classifier classifier1
[SwitchA-classifier-classifier1] if-match acl 3001
[SwitchA-classifier-classifier1] quit
[SwitchA] traffic behavior behavior1
[SwitchA-behavior-behavior1] filter deny
[SwitchA-behavior-behavior1] quit
[SwitchA] qos policy policy1
[SwitchA-qospolicy-policy1] classifier classifier1 behavior behavior1
[SwitchA-qospolicy-policy1] quit
# 創建名為profile1的User Profile,在該User Profile下應用QoS策略policy1,並將該User Profile激活。
[SwitchA] user-profile profile1
[SwitchA-user-profile-profile1] qos apply policy policy1 inbound
[SwitchA-user-profile-profile1] quit
[SwitchA] user-profile profile1 enable
# 創建名為scheme1的RADIUS認證方案,配置RADIUS服務器的類型為extended類型;指定主RADIUS認證/授權服務器和計費服務器的IP地址均為3.1.1.1,共享密鑰均為123321;並配置發送給RADIUS服務器的用戶名不需要攜帶域名。
[SwitchA] radius scheme scheme1
[SwitchA-radius-scheme1] server-type extended
[SwitchA-radius-scheme1] primary authentication 3.1.1.1
[SwitchA-radius-scheme1] key authentication 123321
[SwitchA-radius-scheme1] primary accounting 3.1.1.1
[SwitchA-radius-scheme1] key accounting 123321
[SwitchA-radius-scheme1] user-name-format without-domain
[SwitchA-radius-scheme1] quit
# 創建名為domain1的ISP域,指定lan-access用戶的RADIUS認證、授權和計費方案均為scheme1;並將該域指定為係統缺省的ISP域。
[SwitchA] domain domain1
[SwitchA-isp-domian1] authentication lan-access radius-scheme scheme1
[SwitchA-isp-domian1] authorization lan-access radius-scheme scheme1
[SwitchA-isp-domian1] accounting lan-access radius-scheme scheme1
[SwitchA-isp-domian1] quit
[SwitchA] domain default enable domain1
# 全局使能802.1X,並在端口GigabitEthernet1/0/1和GigabitEthernet1/0/2上分別使能802.1X。
[SwitchA] dot1x
[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] dot1x
[SwitchA-GigabitEthernet1/0/1] quit
[SwitchA] interface gigabitethernet 1/0/2
[SwitchA-GigabitEthernet1/0/2] dot1x
[SwitchA-GigabitEthernet1/0/2] quit
(3) 配置Switch B
# 全局使能IGMP Snooping。
<SwitchB> system-view
[SwitchB] igmp-snooping
[SwitchB-igmp-snooping] quit
# 創建VLAN 104,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/3添加到該VLAN中;在該VLAN內使能IGMP Snooping。
[SwitchB] vlan 104
[SwitchB-vlan104] port gigabitethernet 1/0/1 to gigabitethernet 1/0/3
[SwitchB-vlan104] igmp-snooping enable
[SwitchB-vlan104] quit
# 創建名為profile2的User Profile,在該User Profile下配置隻允許用戶加入/離開組播組224.1.1.1,並將該User Profile激活。
[SwitchB] acl number 2001
[SwitchB-acl-basic-2001] rule permit source 224.1.1.1 0
[SwitchB-acl-basic-2001] quit
[SwitchB] user-profile profile2
[SwitchB-user-profile-profile2] igmp-snooping access-policy 2001
[SwitchB-user-profile-profile2] quit
[SwitchB] user-profile profile2 enable
# 創建名為scheme2的RADIUS認證方案,配置RADIUS服務器的類型為extended類型;指定主RADIUS認證/授權服務器和計費服務器的IP地址均為3.1.1.1,共享密鑰均為321123;並配置發送給RADIUS服務器的用戶名不需要攜帶域名。
[SwitchB] radius scheme scheme2
[SwitchB-radius-scheme2] server-type extended
[SwitchB-radius-scheme2] primary authentication 3.1.1.1
[SwitchB-radius-scheme2] key authentication 321123
[SwitchB-radius-scheme2] primary accounting 3.1.1.1
[SwitchB-radius-scheme2] key accounting 321123
[SwitchB-radius-scheme2] user-name-format without-domain
[SwitchB-radius-scheme2] quit
# 創建名為domain2的ISP域,指定lan-access用戶的RADIUS認證、授權和計費方案均為scheme2;並將該域指定為係統缺省的ISP域。
[SwitchB] domain domain2
[SwitchB-isp-domian2] authentication lan-access radius-scheme scheme2
[SwitchB-isp-domian2] authorization lan-access radius-scheme scheme2
[SwitchB-isp-domian2] accounting lan-access radius-scheme scheme2
[SwitchB-isp-domian2] quit
[SwitchB] domain default enable domain2
# 全局使能802.1X,並在端口GigabitEthernet1/0/2和GigabitEthernet1/0/3上分別使能802.1X。
[SwitchB] dot1x
[SwitchB] interface gigabitethernet 1/0/2
[SwitchB-GigabitEthernet1/0/2] dot1x
[SwitchB-GigabitEthernet1/0/2] quit
[SwitchB] interface gigabitethernet 1/0/3
[SwitchB-GigabitEthernet1/0/3] dot1x
[SwitchB-GigabitEthernet1/0/3] quit
(4) 配置RADIUS服務器
請在RADIUS服務器上進行與Switch A和Switch B相對應的配置,具體配置過程可參考RADIUS服務器的配置手冊。
(5) 檢驗配置效果
配置完成後,所有的組播源和用戶主機都向RADIUS服務器發起802.1X認證。當認證通過後,Source 1向組播組224.1.1.1、Source 2向組播組224.1.1.2分別發送不同的組播數據,而Host A則分別發起了對組播組224.1.1.1和224.1.1.2的加入。通過使用display igmp-snooping group命令可以查看IGMP Snooping組的信息:
# 查看Switch B上VLAN 104內IGMP Snooping組的詳細信息。
[SwitchB] 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
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).
GE1/0/1 (D) ( 00:01:30 )
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).
GE1/0/3 (D) ( 00:04:10 )
MAC group(s):
MAC group address:0100-5e01-0101
Host port(s):total 1 port(s).
GE1/0/3
由此可見,Switch B上的端口GigabitEthernet1/0/3隻加入了組播組224.1.1.1,而未加入組播組224.1.1.2。
此後由於管理員的操作失誤,Source 2也開始向組播組224.1.1.1發送組播數據。通過使用display multicast forwarding-table命令可以查看組播轉發表的信息:
# 查看Switch A上有關組播組224.1.1.1的組播轉發表信息。
[SwitchA] display multicast forwarding-table 224.1.1.1
Multicast Forwarding Table of VPN-Instance: public net
Total 1 entry
Total 1 entry matched
00001. (1.1.1.1, 224.1.1.1)
MID: 0, Flags: 0x0:0
Uptime: 00:08:32, Timeout in: 00:03:26
Incoming interface: Vlan-interface101
List of 1 outgoing interfaces:
1: Vlan-interface104
Matched 19648 packets(20512512 bytes), Wrong If 0 packets
Forwarded 19648 packets(20512512 bytes)
由此可見,Switch A上隻有組播源組(1.1.1.1,224.1.1.1)的轉發表項,而沒有組播源組(2.1.1.1,224.1.1.1)的轉發表項,說明Source 2發往組播組224.1.1.1的組播數據沒能進入網絡。
交換機不能實現IGMP Snooping二層組播功能。
IGMP Snooping沒有使能。
(1) 使用display current-configuration命令查看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。
配置了組播組策略,隻允許主機加入某些特定的組播組,但主機仍然可以收到發往其它組播組的組播數據。
· ACL規則配置不正確;
· 組播組策略應用不正確;
· 沒有使能丟棄未知組播數據報文的功能,使得屬於過濾策略之外的組播數據報文(即未知組播數據報文)被廣播。
(1) 使用display acl命令查看所配置的ACL規則,檢查其是否與所要實現的組播組過濾策略相符合。
(2) 在IGMP-Snooping視圖或相應的端口視圖下使用display this命令查看是否應用了正確的組播組策略。如果沒有,則使用group-policy或igmp-snooping group-policy命令應用正確的組播組策略。
(3) 使用display current-configuration命令查看是否已使能丟棄未知組播數據報文的功能。如果沒有使能,則使用igmp-snooping drop-unknown命令使能丟棄未知組播數據報文功能。
支持IGMP Snooping功能的交換機使能了三層組播路由後,在不同的情況下對各種組播協議報文的處理有所差異。具體規則如下:
(1) 如果交換機上隻使能了IGMP,或同時使能了IGMP和PIM:
· 對於IGMP報文,根據報文類型為其維護相應的動態成員端口或動態路由器端口;
· 對於PIM Hello報文,為其維護相應的動態路由器端口。
(2) 如果交換機上隻使能了PIM:
· 對於IGMP報文,將其當作未知報文在VLAN內進行廣播;
· 對於PIM Hello報文,為其維護相應的動態路由器端口。
(3) 在交換機上關閉IGMP時:
· 如果未使能PIM,則刪除所有動態成員端口和動態路由器端口;
· 如果已使能PIM,則刪除動態成員端口,隻保留動態路由器端口。
在使能了三層組播路由的交換機上,請使用命令display igmp group port-info來查看二層端口信息。有關display igmp group port-info命令的詳細介紹,請參見“IP組播命令參考”中的“IGMP”。
(4) 在交換機上關閉PIM時:
· 如果未使能IGMP,則刪除動態路由器端口;
· 如果已使能IGMP,則保留所有動態成員端口和動態路由器端口。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!