33-IGMP Snooping配置
本章節下載: 33-IGMP Snooping配置 (603.38 KB)
IGMP Snooping(Internet Group Management Protocol Snooping,互聯網組管理協議窺探)運行在二層設備上,通過偵聽三層設備與主機之間的IGMP報文來生成二層組播轉發表,從而管理和控製組播數據報文的轉發,實現組播數據報文在二層的按需分發。
運行IGMP Snooping的二層設備通過對收到的IGMP報文進行分析,為端口和MAC組播地址建立起映射關係,並根據這樣的映射關係轉發組播數據。
如圖1-1所示,當二層設備沒有運行IGMP Snooping時,組播數據在二層網絡中被廣播;當二層設備運行了IGMP Snooping後,已知組播組的組播數據不會在二層網絡中被廣播,而被組播給指定的接收者。
IGMP Snooping通過二層組播將信息隻轉發給有需要的接收者,可以帶來以下好處:
· 減少了二層網絡中的廣播報文,節約了網絡帶寬;
· 增強了組播信息的安全性;
· 為實現對每台主機的單獨計費帶來了方便。
如圖1-2所示,Device A連接組播源,在Switch A和Switch B上分別運行IGMP Snooping,Host A和Host C為接收者主機(即組播組成員)。根據在網絡中所處位置的不同,IGMP Snooping端口可以分為路由器端口和成員端口兩類,以下分別介紹。
圖1-2 IGMP Snooping端口示意圖
在運行了IGMP Snooping的二層設備上,朝向上遊三層組播設備的端口稱為路由器端口。如圖1-2中Switch A的Port A1端口和Switch B的Port B1端口。
根據來源不同,路由器端口可分為:
· 動態路由器端口:所有收到IGMP普遍組查詢報文(源地址非0.0.0.0)的端口,都被維護為動態路由器端口。這些端口被記錄在動態路由器端口列表中,每個端口都有一個老化定時器。在老化定時器超時前,動態路由器端口如果收到了IGMP普遍組查詢報文(源地址非0.0.0.0),該定時器將被重置;否則,該端口將被從動態路由器端口列表中刪除。
· 靜態路由器端口:通過命令行手工配置的路由器端口稱為靜態路由器端口,這些端口被記錄在靜態路由器端口列表中。靜態路由器端口隻能通過命令行手工刪除,不會被老化。
· 本文中提到的路由器端口都是指二層設備上朝向三層組播設備的端口,而不是指路由器上的端口。
· 如果沒有特別指明,本文中提到的路由器端口包括動態路由器端口和靜態路由器端口。
在運行了IGMP Snooping的二層設備上,朝向下遊組播組成員的端口稱為成員端口。如圖1-2中Switch A的Port A2和 Port A3端口,以及Switch B的Port B2端口。
根據來源不同,成員端口也可分為:
· 動態成員端口:所有收到IGMP成員關係報告報文的端口,都被維護為動態成員端口。這些端口被記錄在動態IGMP Snooping轉發表中,每個端口都有一個老化定時器。在老化定時器超時前,動態成員端口如果收到了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成員關係報告抑製機製,如果非路由器端口下還有該組播組的成員主機,則這些主機在收到該報告報文後便抑製了自身的報告,從而使二層設備無法獲知這些端口下還有該組播組的成員主機。
運行IGMPv1的主機離開組播組時不會發送IGMP離開組報文,因此二層設備無法立即獲知主機離開的信息。但是,由於主機離開組播組後不會再發送IGMP成員關係報告報文,因此當其對應的動態成員端口的老化定時器超時後,二層設備就會將該端口從相應轉發表項的出端口列表中刪除。
運行IGMPv2或IGMPv3的主機離開組播組時,會通過發送IGMP離開組報文,以通知三層組播設備自己離開了某個組播組。當二層設備從某動態成員端口上收到IGMP離開組報文時,首先判斷要離開的組播組所對應的轉發表項是否存在,以及該組播組所對應轉發表項的出端口列表中是否包含該接收端口:
· 如果不存在該組播組對應的轉發表項,或者該組播組對應轉發表項的出端口列表中不包含該端口,二層設備不會向任何端口轉發該報文,而將其直接丟棄;
· 如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中除該端口還有別的成員端口存在,二層設備不會向任何端口轉發該報文,而將其直接丟棄。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以二層設備不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是向該端口發送IGMP特定組查詢報文,並根據IGMP特定組查詢報文調整該端口的老化定時器(老化時間為2×IGMP特定組查詢報文的發送間隔);
· 如果存在該組播組對應的轉發表項,且該組播組對應轉發表項的出端口列表中隻有該端口,二層設備會將該報文通過VLAN內的所有路由器端口轉發出去。同時,由於並不知道該接收端口下是否還有該組播組的其它成員,所以二層設備不會立刻把該端口從該組播組所對應轉發表項的出端口列表中刪除,而是向該端口發送IGMP特定組查詢報文,並根據IGMP特定組查詢報文調整該端口的老化定時器(老化時間為2×IGMP特定組查詢報文的發送間隔)。
當IGMP查詢器收到IGMP離開組報文後,從中解析出主機要離開的組播組的地址,並通過接收端口向該組播組發送IGMP特定組查詢報文。二層設備在收到IGMP特定組查詢報文後,將其通過VLAN內的所有路由器端口和該組播組的所有成員端口轉發出去。對於IGMP離開組報文的接收端口(假定為動態成員端口),二層設備在其老化時間內:
· 如果從該端口收到了主機響應該特定組查詢的IGMP成員關係報告報文,則表示該端口下還有該組播組的成員,於是重置其老化定時器;
· 如果沒有從該端口收到主機響應特定組查詢的IGMP成員關係報告報文,則表示該端口下已沒有該組播組的成員。當該端口的老化定時器超時後,將其從該組播組所對應轉發表項的出端口列表中刪除。
與IGMP Snooping相關的協議規範有:
· RFC 4541:Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches
對於從Secondary VLAN中收到的主機加入請求,相關的IGMP Snooping轉發表項都將維護在Primary VLAN中,因此IGMP Snooping功能隻需在Primary VLAN中配置既可,在Secondary 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內的所有端口生效,接口視圖下配置隻對當前接口生效,且接口視圖下的配置優先級較高。
基於VLAN的IGMP Snooping配置任務如下:
(3) (可選)配置IGMP Snooping基本功能
(4) (可選)配置IGMP Snooping端口功能
¡ 配置靜態成員端口
¡ 配置模擬主機加入
(5) (可選)配置IGMP Snooping查詢器
(6) (可選)調整IGMP報文
(7) (可選)配置IGMP Snooping策略
¡ 配置組播組過濾器
隻有在開啟了設備的IGMP Snooping特性後,才能進行其它的IGMP Snooping相關配置。
(1) 進入係統視圖。
system-view
(2) 開啟設備的IGMP Snooping特性,並進入IGMP-Snooping視圖。
igmp-snooping
缺省情況下,設備的IGMP Snooping特性處於關閉狀態。
用戶既可在IGMP-Snooping視圖下對單個或多個VLAN進行配置,也可在VLAN視圖下隻對當前VLAN進行配置,二者的配置優先級相同。
在VLAN內使能了IGMP Snooping之後,IGMP Snooping隻在屬於該VLAN的端口上生效。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 使能單個或多個VLAN的IGMP Snooping。
enable vlan vlan-list
缺省情況下,VLAN內的IGMP Snooping處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 使能該VLAN的IGMP Snooping。
igmp-snooping enable
缺省情況下,VLAN內的IGMP Snooping處於關閉狀態。
配置IGMP Snooping的版本,實際上就是配置IGMP Snooping可以處理的IGMP報文的版本:
· 當IGMP Snooping的版本為2時,IGMP Snooping能夠對IGMPv1和IGMPv2的報文以及IGMPv3的查詢報文進行處理,對IGMPv3的成員關係報文則不進行處理,而是在VLAN內將其廣播;
· 當IGMP Snooping的版本為3時,IGMP Snooping能夠對IGMPv1、IGMPv2和IGMPv3的報文進行處理。
當IGMP Snooping的版本由版本3切換到版本2時,係統將清除所有通過動態加入的IGMP Snooping轉發表項;對於在版本3下通過手工配置而靜態加入的IGMP Snooping轉發表項,則分為以下兩種情況進行不同的處理:
· 如果配置的僅僅是靜態加入組播組,而沒有指定組播源,則這些轉發表項將不會被清除;
· 如果配置的是指定了組播源的靜態加入組播源組,則這些轉發表項將會被清除,並且當再次切換回版本3時,這些轉發表項將被重新恢複。
有關靜態加入的詳細配置,請參見“1.7.2 配置靜態成員端口”
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 配置多個VLAN內的IGMP Snooping的版本。
version version-number vlan vlan-list
缺省情況下,VLAN內IGMP Snooping的版本為2。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 配置單個VLAN內的IGMP Snooping版本。
igmp-snooping version version-number
缺省情況下,VLAN內IGMP Snooping的版本為2。
用戶可以調整IGMP Snooping轉發表項(包括動態表項和靜態表項)的全局最大數量,當設備上維護的表項數量達到或超過最大數量後,係統不再創建新的表項,也不會主動刪除多餘表項,直至有表項被老化或被手工刪除,所以當設備上維護的表項數量達到或超過最大數量後,為避免此後無法再創建新的表項,建議用戶手工刪除多餘表項。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 配置IGMP Snooping轉發表項的全局最大數量。
entry-limit limit
缺省情況下,IGMP Snooping轉發表項的全局最大數量為4294967295。
合理配置IGMP特定組查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞。
二層設備所發送的IGMP特定組查詢報文,其報文的最大響應時間字段由所配置的IGMP特定組查詢報文的發送間隔來填充,在主機在收到IGMP特定組查詢報文後,會為其所加入的該組播組啟動一個定時器,定時器的值在0到最大響應時間(該時間值由主機從所收到的IGMP特定組查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局配置IGMP特定組查詢報文的發送間隔。
last-member-query-interval interval
缺省情況下,IGMP特定組查詢報文的發送間隔為1秒。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 在VLAN內配置IGMP特定組查詢報文的發送間隔。
igmp-snooping last-member-query-interval interval
缺省情況下,IGMP特定組查詢報文的發送間隔為1秒。
對於動態路由器端口,如果在其老化時間內沒有收到IGMP普遍組查詢報文,二層設備將把該端口從動態路由器端口列表中刪除。
對於動態成員端口,如果在其老化時間內沒有收到該組播組的IGMP成員關係報告報文,二層設備將把該端口從該組播組所對應轉發表項的出端口列表中刪除。
請根據網絡環境合理設置動態端口的老化時間,比如網絡中組播組成員變動比較頻繁,可以把動態成員端口老化時間設置小一些,避免一些無效表項老化時間過長。
如果二層設備向動態成員端口主動發送IGMP特定組查詢報文,則該端口的老化時間將根據該IGMP特定組查詢報文進行調整,調整的老化時間為2×IGMP特定組查詢報文的發送間隔。二層設備IGMP特定組查詢報文發送間隔的配置,請參見“1.6.3 配置IGMP特定組查詢報文的發送間隔”。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局配置動態路由器端口老化時間。
router-aging-time seconds
缺省情況下,動態路由器端口的老化時間為260秒。
(4) 全局配置動態成員端口老化時間。
host-aging-time seconds
缺省情況下,動態成員端口的老化時間為260秒。
(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秒。
如果某端口所連接的主機需要固定接收發往某組播組或組播源組的組播數據,可以配置該端口靜態加入該組播組或組播源組,成為靜態成員端口。靜態成員端口不會對IGMP查詢器發出的查詢報文進行響應;當配置靜態成員端口或取消靜態成員端口的配置時,端口也不會主動發送IGMP成員關係報告報文或IGMP離開組報文。
(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) 進入係統視圖。
system-view
(2) 進入二層接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置靜態路由器端口。
igmp-snooping static-router-port vlan vlan-id
缺省情況下,端口不是靜態路由器端口。
在二層設備的端口上配置了模擬主機加入後,該模擬主機就可以模仿真實的組播組成員主機,對IGMP查詢器發出的查詢報文進行響應,包括:
· 啟動模擬主機時,該端口會主動發送一個IGMP成員關係報告報文。
· 在模擬主機的運行過程中,當收到IGMP查詢報文時,該端口會響應一個IGMP成員關係報告報文。
· 停止模擬主機時,該端口會發送一個IGMP離開組報文。
在二層設備的端口上配置了模擬主機加入後,模擬主機所采用的IGMP版本與IGMP Snooping的版本一致,並且該端口將作為動態成員端口參與動態成員端口的老化過程。
(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
缺省情況下,未配置模擬主機加入組。
端口快速離開是指當端口收到主機發來的離開指定組播組的IGMP離開組報文時,直接將該端口從相應轉發表項的出端口列表中刪除。此後,二層設備不會向該端口發送或轉發針對該組播組的IGMP特定組查詢報文。
對於一個VLAN,隻有當一個端口下隻有一個接收者時,才建議配置本功能;否則,當一個端口下有多個接收者時,其中一個接收者的離開會觸發該端口的快速離開,從而導致屬於同一組播組的其它接收者無法收到組播數據。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局開啟端口快速離開功能。
fast-leave [ vlan vlan-list ]
缺省情況下,端口快速離開功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入二層接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 在端口上開啟端口快速離開功能。
igmp-snooping fast-leave [ vlan vlan-list ]
缺省情況下,端口快速離開功能處於關閉狀態。
在組播用戶接入網絡中,用戶主機在某些情況下(比如測試)也會發出IGMP普遍組查詢報文或:
· 如果二層設備收到了某用戶主機發來的IGMP普遍組查詢報文,那麼接收報文的端口就將成為動態路由器端口,從而使VLAN內的所有組播報文都會向該端口轉發,導致該主機收到大量無用的組播報文。
· 同時,用戶主機發送IGMP普遍組查詢報文,也會影響該接入網絡中三層設備上的組播路由協議狀態(如影響IGMP查詢器或DR的選舉),嚴重時可能導致網絡中斷。
當禁止一個端口成為動態路由器端口後,即使該端口收到了IGMP普遍組查詢報文,該端口也不會成為動態路由器端口,從而能夠有效解決上述問題,提高網絡的安全性和對組播用戶的控製能力。
禁止端口成為動態路由器端口的配置與靜態路由器端口的配置互不影響。
(1) 進入係統視圖。
system-view
(2) 進入二層接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 禁止端口成為動態路由器端口。
igmp-snooping router-port-deny [ vlan vlan-list ]
缺省情況下,端口可以成為動態路由器端口。
在運行了IGMP的組播網絡中,會有一台三層組播設備充當IGMP查詢器,負責發送IGMP查詢報文,使三層組播設備能夠在網絡層建立並維護組播轉發表項,從而在網絡層正常轉發組播數據。
但是,在一個沒有三層組播設備的網絡中,由於二層設備並不支持IGMP,因此無法實現IGMP查詢器的相關功能。為了解決這個問題,可以在二層設備上開啟IGMP Snooping查詢器,使二層設備能夠在數據鏈路層建立並維護組播轉發表項,從而在數據鏈路層正常轉發組播數據。
請避免在運行了IGMP的網絡中配置IGMP Snooping查詢器,因為盡管IGMP Snooping查詢器並不參與IGMP查詢器的選舉,但在運行了IGMP的網絡中,配置IGMP Snooping查詢器不但沒有實際的意義,反而可能會由於其發送的IGMP普遍組查詢報文的源IP地址較小而影響IGMP查詢器的選舉。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟IGMP Snooping查詢器。
igmp-snooping querier
缺省情況下,IGMP Snooping查詢器處於關閉狀態。
可以根據網絡的實際情況來修改IGMP普遍組查詢報文的發送間隔。
合理配置IGMP普遍組查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞。
對於IGMP普遍組查詢報文,其報文最大響應時間字段由所配置的IGMP普遍組查詢的最大響應時間來填充,在主機收到IGMP普遍組查詢報文後,會為其所加入的每個組播組都啟動一個定時器,定時器的值在0到最大響應時間(該時間值由主機從所收到的IGMP普遍組查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。
為避免誤刪組播組成員,請確保IGMP普遍組查詢報文的發送間隔大於IGMP普遍組查詢的最大響應時間,否則配置雖能生效但係統會給出提示。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局配置IGMP普遍組查詢的最大響應時間。
max-response-time seconds
缺省情況下,IGMP普遍組查詢的最大響應時間為10秒。
(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秒。
由於IGMP Snooping查詢器有可能發出源IP地址為0.0.0.0的查詢報文,而收到此類查詢報文的端口將不會被維護為動態路由器端口,從而影響動態IGMP Snooping轉發表項的建立,最終導致組播數據無法正常轉發。因此,用戶可在IGMP Snooping查詢器上通過本配置將IGMP查詢報文的源IP地址配置為一個有效的IP地址以避免上述問題。IGMP查詢報文源IP地址的改變可能會影響網段內IGMP查詢器的選舉。
用戶也可以改變模擬主機發送的IGMP成員關係報告報文或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。
當二層設備的出端口發生擁塞時,二層設備通過識別報文的802.1p優先級,優先發送優先級較高的報文。用戶可以通過本配置改變IGMP報文(包括本設備生成的以及途經本設備的)的802.1p優先級。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局配置IGMP報文的802.1p優先級。
dot1p-priority priority
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 在VLAN內配置IGMP報文的802.1p優先級。
igmp-snooping dot1p-priority priority
在使能了IGMP Snooping的二層設備上,通過配置組播組過濾器,可以限製用戶對組播節目的點播。本配置隻對動態組播組有效,對靜態組播組無效。
在實際應用中,配置本功能後,當用戶點播某個組播節目時,主機會發起一個IGMP成員關係報告報文,該報文將在二層設備上接受組播組過濾器的檢查。隻有通過了檢查,二層設備才會將該主機所屬的端口加入到出端口列表中,用戶才能收到所點播節目的組播流量。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局配置組播組過濾器。
group-policy ipv4-acl-number [ vlan vlan-list ]
缺省情況下,未配置組播組過濾器,即主機可以加入任意合法的組播組。
(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 ]
缺省情況下,未配置組播組過濾器,即主機可以加入任意合法的組播組。
未知組播數據報文是指在IGMP Snooping轉發表中不存在對應轉發表項的那些組播數據報文:
· 當開啟了丟棄未知組播數據報文功能時,二層設備隻向其路由器端口轉發未知組播數據報文,不在VLAN內廣播;如果二層設備沒有路由器端口,未知組播數據報文會被丟棄,不再轉發。
· 當關閉了丟棄未知組播數據報文功能時,二層設備將在未知組播數據報文所屬的VLAN內廣播該報文。
對於同時支持drop-unknown和igmp-snooping drop-unknown這兩條命令的設備來說,IGMP-Snooping視圖和VLAN視圖下的配置是互斥的。也就是說,當在IGMP-Snooping視圖下全局開啟了丟棄未知組播數據報文的功能後,不允許在VLAN視圖下開啟或關閉該功能,反之亦然。
在開啟了丟棄未知IPv4組播數據報文功能之後,未知IPv6組播數據報文也將被丟棄。
在VLAN視圖下開啟了丟棄未知組播數據報文的功能之後,仍會向該VLAN內的其它路由器端口轉發未知組播數據報文。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局開啟丟棄未知組播數據報文功能。
drop-unknown
缺省情況下,丟棄未知組播數據報文功能處於關閉狀態,即對未知組播數據報文進行廣播。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 在VLAN內開啟丟棄未知組播數據報文功能。
igmp-snooping drop-unknown
缺省情況下,丟棄未知組播數據報文功能處於關閉狀態,即對未知組播數據報文進行廣播。
當二層設備收到來自某組播組成員的IGMP成員關係報告報文時,會將該報文轉發給與其直連的三層設備。這樣,當二層設備上存在屬於某組播組的多個成員時,與其直連的三層設備會收到這些成員發送的相同IGMP成員關係報告報文。
當開啟了IGMP成員關係報告報文抑製功能後,在一個查詢間隔內二層設備隻會把收到的某組播組內的第一個IGMP成員關係報告報文轉發給三層設備,而不繼續向三層設備轉發來自同一組播組的其它IGMP成員關係報告報文,這樣可以減少網絡中的報文數量。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 開啟IGMP成員關係報告報文抑製功能。
report-aggregation
缺省情況下,IGMP成員關係報告報文抑製功能處於開啟狀態。
通過配置端口加入的組播組最大數量,可以限製用戶點播組播節目的數量,從而控製了端口上的數據流量。本配置隻對動態組播組有效,對靜態組播組無效。
在配置端口加入的組播組最大數量時,如果當前端口上的組播組數量已超過配置值,係統將把該端口相關的所有轉發表項從IGMP Snooping轉發表中刪除,該端口下的主機都需要重新加入組播組,直至該端口上的組播組數量達到限製值,係統將自動丟棄新的IGMP成員關係報告報文。
(1) 進入係統視圖。
system-view
(2) 進入二層接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 配置端口加入的組播組最大數量。
igmp-snooping group-limit limit [ vlan vlan-list ]
缺省情況下,未對端口加入的組播組最大數量進行限製。
當端口上的組播組數目達到配置端口加入的組播組最大數量時,會自動丟棄新的IGMP成員關係報告報文。組播組替換功能開啟後,當端口收到新的IGMP成員關係報告報文時,會自動離開IP地址最小的組播組並加入新的組播組。本功能主要應用於頻道切換,以實現從一個組播組切換到另一個組播組。
本配置隻對動態組播組有效,對靜態組播組無效。
當設備上維護的IGMP Snooping轉發表項達到或超過配置的IGMP Snooping轉發表項的全局最大數量並且端口新加入的組播組不在設備維護的組播組列表中時,組播組替換功能不能生效。
(1) 進入係統視圖。
system-view
(2) 進入IGMP-Snooping視圖。
igmp-snooping
(3) 全局開啟組播組替換功能。
overflow-replace [ vlan vlan-list ]
缺省情況下,組播組替換功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入二層接口視圖。
¡ 進入二層以太網接口視圖。
interface interface-type interface-number
¡ 進入二層聚合接口視圖。
interface bridge-aggregation interface-number
(3) 在端口上開啟組播組替換功能。
igmp-snooping overflow-replace [ vlan vlan-list ]
缺省情況下,組播組替換功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行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 ] |
顯示動態路由器端口的信息 |
display igmp-snooping router-port [ verbose | vlan vlan-id [ verbose ] ] |
顯示靜態IGMP Snooping組播組的信息 |
display igmp-snooping static-group [ group-address | source-address ] * [ vlan vlan-id ] [ verbose ] |
顯示靜態路由器端口的信息 |
display igmp-snooping static-router-port [ vlan vlan-id ] |
顯示IGMP Snooping監聽到的IGMP報文的統計信息 |
display igmp-snooping statistics |
顯示IPv4二層組播快速轉發表信息 |
display l2-multicast fast-forwarding cache [ vlan vlan-id ] [ source-address | group-address ] * |
顯示二層組播的IP組播組信息 |
display l2-multicast ip [ group group-address | source source-address ] * [ vlan vlan-id ] |
顯示二層組播的IP轉發表信息 |
display l2-multicast ip forwarding [ group group-address | source source-address ] * [ vlan vlan-id ] |
顯示二層組播的MAC組播組信息 |
display l2-multicast mac [ mac-address ] [ vlan vlan-id ] |
顯示二層組播的MAC轉發表信息 |
display l2-multicast mac forwarding [ mac-address ] [ vlan vlan-id ] |
清除動態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報文的統計信息 |
reset igmp-snooping statistics |
清除IPv4二層組播快速轉發表中的轉發項 |
reset l2-multicast fast-forwarding cache [ vlan vlan-id ] { { source-address | group-address } * | all } |
Source作為組播源(1.1.1.1/24),通過組播組(224.1.1.1)傳送節目,無線用戶Client作為組播客戶端(要求無線用戶Client與組播源Source之間路由可達)。通過配置,使無線用戶Client可以點播組播源上的節目。
(1) 配置IP地址
請按照圖1-3配置各接口的IP地址和子網掩碼,具體配置過程略。
(2) 配置Router A
# 使能IP組播路由,在接口GigabitEthernet1/0/1上使能PIM-DM,並在接口GigabitEthernet1/0/2上使能IGMP。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pim dm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] igmp enable
[RouterA-GigabitEthernet1/0/2] quit
# 配置WLAN服務模板(SSID為Multicast)加入VLAN 100。
[AC] vlan 100
[AC-vlan100] quit
[AC] wlan service-template 1
[AC-wlan-st-1] ssid Multicast
[AC-wlan-st-1] vlan 100
[AC-wlan-st-1] service-template enable
[AC-wlan-st-1] quit
# 在AC上創建AP的管理模板(名稱為ap,型號為WA6320),指定AP的序列號為219801A0CNC138011454。
[AC] wlan ap ap model WA6320
[AC-wlan-ap-ap] serial-id 219801A0CNC138011454
# 將服務模板映射到當前的射頻。
[AC-wlan-ap-ap-radio-1] service-template 1
[AC-wlan-ap-ap-radio-1] radio enable
[AC-wlan-ap-ap-radio-1] quit
[AC-wlan-ap-ap] quit
# 在VLAN100內使能IGMP Snooping,並將其版本設為3。
[AC-igmp-snooping] quit
[AC] vlan 100
[AC-vlan100] igmp-snooping enable
[AC-vlan100] igmp-snooping version 3
[AC-vlan100] quit
(5) 配置以太網接口
由於無線控製器產品不同係列之間對於以太網接口的配置會有不同,請根據實際使用的設備型號選擇配置方式,本例中給出的以太網接口僅作為示例。
# 將無線控製器的GigabitEthernet1/0/2的端口類型配置為Trunk,並將該端口添加到VLAN 100中。
[AC] interface GigabitEthernet 1/0/2
[AC-GigabitEthernet1/0/2] port link-type trunk
[AC-GigabitEthernet1/0/2] port trunk permit vlan 100
[AC-GigabitEthernet1/0/2] quit
# 將Client接入到SSID為Multicast的無線服務中,並在Client上點播視頻源(組播組224.1.1.1)。
# 查看AC上VLAN 100內IGMP Snooping組播組的詳細信息。
[AC] display igmp-snooping group vlan 100 verbose
Total 1 entries.
VLAN 100: Total 1 entries.
(0.0.0.0, 224.1.1.1)
Attribute: local port
FSM information: normal
Host slots (0 in total):
Host ports (1 in total):
WLAN-BSS1/0/20 (00:03:23)
可以看到,AC上的端口WLAN-BSS1/0/20已經加入了組播組224.1.1.1。
二層設備不能實現IGMP Snooping二層組播功能。
IGMP Snooping沒有使能。
(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。
配置了組播組策略,隻允許主機加入某些特定的組播組,但主機仍然可以收到發往其它組播組的組播數據。
· ACL規則配置不正確;
· 組播組策略應用不正確;
· 沒有開啟丟棄未知組播數據報文的功能,使得屬於過濾策略之外的組播數據報文(即未知組播數據報文)被廣播。
(1) 使用display acl命令查看所配置的ACL規則,檢查其是否與所要實現的組播組過濾策略相符合。
(2) 在IGMP-Snooping視圖或相應的接口視圖下使用display this命令查看是否應用了正確的組播組策略。如果沒有,則使用group-policy或igmp-snooping group-policy命令應用正確的組播組策略。
(3) 使用display igmp-snooping命令查看是否已開啟丟棄未知組播數據報文的功能。如果沒有開啟,則使用drop-unknown或igmp-snooping drop-unknown命令開啟丟棄未知組播數據報文功能。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!