04-IGMP配置
本章節下載: 04-IGMP配置 (719.80 KB)
IGMP(Internet Group Management Protocol,互聯網組管理協議)用於在三層設備和其直連網段中的用戶主機之間建立和維護組播組成員關係。
到目前為止,IGMP有三個版本:
· IGMPv1(由RFC 1112定義)
· IGMPv2(由RFC 2236定義)
· IGMPv3(由RFC 3376定義)
所有版本的IGMP都支持ASM(Any-Source Multicast,任意信源組播)模型;IGMPv3可以直接應用於SSM(Source-Specific Multicast,指定信源組播)模型,而IGMPv1和IGMPv2則需要在IGMP SSM Mapping技術的支持下才能應用於SSM模型。有關ASM和SSM模型的介紹,請參見“IP組播配置指導”中的“組播概述”。
IGMPv1主要基於查詢和響應機製來完成對組播組成員的管理。
當一個網段內有多台運行IGMP的設備時,由於它們都能從主機那裏收到IGMP成員關係報告報文(Membership Report Message),因此隻需其中一台設備發送IGMP查詢報文(Query Message)即可,該設備就稱為IGMP查詢器(Querier)。這就需要有一個查詢器的選舉機製來確定由哪台設備作為IGMP查詢器。
對於IGMPv1來說,由組播路由協議(如PIM)選舉出唯一的組播信息轉發者DR(Designated Router,指定路由器)作為IGMP查詢器。有關DR的介紹,請參見“IP組播配置指導”中的“PIM”。
圖1-1 IGMP查詢響應示意圖
如圖1-1所示,假設Host B與Host C想要收到發往組播組G1的組播數據,而Host A想要收到發往組播組G2的組播數據,那麼主機加入組播組以及IGMP查詢器(Device B)維護組播組成員關係的基本過程如下:
(1) 主機會主動向其要加入的組播組發送IGMP成員關係報告報文以聲明加入,而不必等待IGMP查詢器發來的IGMP查詢報文;
(2) IGMP查詢器周期性地以組播方式向本地網段內的所有主機與設備發送IGMP查詢報文(目的地址為224.0.0.1);
(3) 在收到該查詢報文後,關注G1的Host B與Host C其中之一(這取決於誰的延遲定時器先超時),譬如Host B會首先以組播方式向G1發送IGMP成員關係報告報文,以宣告其屬於G1。由於本地網段中的所有主機和設備都能收到Host B發往G1的報告報文,因此當Host C收到該報告報文後,將不再發送同樣針對G1的報告報文,因為IGMP設備(Device A和Device B)已知道本地網段中有對G1感興趣的主機了。這個機製稱為主機上的IGMP成員關係報告抑製機製,該機製有助於減少本地網段的信息流量;
(4) 與此同時,由於Host A關注的是G2,所以它仍將以組播方式向G2發送報告報文,以宣告其屬於G2;
(5) 經過以上的查詢和響應過程,IGMP設備了解到本地網段中有G1和G2的成員,於是由組播路由協議(如PIM)生成(*,G1)和(*,G2)組播轉發項作為組播數據的轉發依據,其中的“*”代表任意組播源;
(6) 當由組播源發往G1或G2的組播數據經過組播路由到達IGMP設備時,由於IGMP設備上存在(*,G1)和(*,G2)組播轉發項,於是將該組播數據轉發到本地網段,接收者主機便能收到該組播數據了。
IGMPv1沒有專門定義離開組播組的報文。當運行IGMPv1的主機離開某組播組時,將不會向該組播組發送報告報文。當一個網段中不再有該組播組的成員後,IGMP設備將不會收到任何發往該組播組的報告報文,於是在一段時間之後便刪除該組播組的記錄。
IGMPv2在兼容和繼承IGMPv1的基礎上,增加了查詢器選舉機製和離開組播組機製。
在IGMPv1中,當一個網段內有多台運行IGMP的設備時,由組播路由協議(如PIM)選舉的指定設備充當查詢器。在IGMPv2中增加了獨立的查詢器選舉機製,其選舉過程如下:
(1) 所有IGMPv2設備在初始時都認為自己是查詢器,並向本地網段內的所有主機和設備發送IGMP普遍組查詢(General Query)報文(目的地址為224.0.0.1);
(2) 本地網段中的其它IGMPv2設備在收到該報文後,將報文的源IP地址與自己的接口地址作比較。通過比較,IP地址最小的設備將成為查詢器,其它設備成為非查詢器(Non-Querier);
(3) 所有非查詢器上都會啟動一個定時器(即其它查詢器存在時間定時器Other Querier Present Timer)。在該定時器超時前,如果收到了來自查詢器的IGMP查詢報文,則重置該定時器;否則,就認為原查詢器失效,並發起新的查詢器選舉過程。
在IGMPv1中,主機離開組播組時不會向組播設備發出任何通知,導致組播設備隻能依靠組播組成員查詢的響應超時來獲知組播組成員的離開。而在IGMPv2中,當一個主機離開某組播組時:
(1) 該主機向本地網段內的所有組播設備(目的地址為224.0.0.2)發送離開組(Leave Group)報文;
(2) 當查詢器收到該報文後,向該主機所聲明要離開的那個組播組發送特定組查詢(Group-Specific Query)報文(目的地址字段和組地址字段均填充為所要查詢的組播組地址);
(3) 如果該網段內還有該組播組的其它成員,則這些成員在收到特定組查詢報文後,會在該報文中所設定的最大響應時間(Max Response Time)內發送成員關係報告報文;
(4) 如果在最大響應時間內收到了該組播組其它成員發送的成員關係報告報文,查詢器就會繼續維護該組播組的成員關係;否則,查詢器將認為該網段內已無該組播組的成員,於是不再維護這個組播組的成員關係。
IGMPv3在兼容和繼承IGMPv1和IGMPv2的基礎上,進一步增強了主機的控製能力,並增強了查詢和報告報文的功能。
IGMPv3增加了針對組播源的過濾模式(INCLUDE/EXCLUDE),使主機在加入某組播組G的同時,能夠明確要求接收或拒絕來自某特定組播源S的組播信息。當主機加入組播組時:
· 若要求隻接收來自指定組播源如S1、S2、……的組播信息,則其報告報文中可以標記為INCLUDE Sources(S1,S2,……);
· 若拒絕接收來自指定組播源如S1、S2、……的組播信息,則其報告報文中可以標記為EXCLUDE Sources(S1,S2,……)。
如圖1-2所示,網絡中存在Source 1(S1)和Source 2(S2)兩個組播源,均向組播組G發送組播報文。Host B僅對從Source 1發往G的信息感興趣,而對來自Source 2的信息沒有興趣。
如果主機與設備之間運行的是IGMPv1或IGMPv2,Host B加入組播組G時無法對組播源進行選擇,因此無論Host B是否需要,來自Source 1和Source 2的組播信息都將傳遞給Host B。
當主機與設備之間運行了IGMPv3之後,Host B就可以要求隻接收來自Source 1、發往G的組播信息(S1,G),或要求拒絕來自Source 2、發往G的組播信息(S2,G),這樣就隻有來自Source 1的組播信息才能傳遞給Host B了。
· 攜帶源地址的查詢報文
IGMPv3不僅支持IGMPv1的普遍組查詢和IGMPv2的特定組查詢,而且還增加了對特定源組查詢的支持:
¡ 普遍組查詢報文中,既不攜帶組地址,也不攜帶源地址;
¡ 特定組查詢報文中,攜帶組地址,但不攜帶源地址;
¡ 特定源組查詢報文中,既攜帶組地址,還攜帶一個或多個源地址。
· 包含多組記錄的報告報文
IGMPv3報告報文的目的地址為224.0.0.22,可以攜帶一個或多個組記錄。在每個組記錄中,包含有組播組地址和組播源地址列表。組記錄可以分為多種類型,如下:
¡ IS_IN:表示組播組與組播源列表之間的過濾模式為INCLUDE,即隻接收從指定組播源列表發往該組播組的組播數據。
¡ IS_EX:表示組播組與組播源列表之間的過濾模式為EXCLUDE,即隻接收從指定組播源列表之外的組播源發往該組播組的組播數據。
¡ TO_IN:表示組播組與組播源列表之間的過濾模式由EXCLUDE轉變為INCLUDE。
¡ TO_EX:表示組播組與組播源列表之間的過濾模式由INCLUDE轉變為EXCLUDE。
¡ ALLOW:表示在現有狀態的基礎上,還希望從某些組播源接收組播數據。如果當前的對應關係為INCLUDE,則向現有組播源列表中添加這些組播源;如果當前的對應關係為EXCLUDE,則從現有組播源列表中刪除這些組播源。
¡ BLOCK:表示在現有狀態的基礎上,不再希望從某些組播源接收組播數據。如果當前的對應關係為INCLUDE,則從現有組播源列表中刪除這些組播源;如果當前的對應關係為EXCLUDE,則向現有組播源列表中添加這些組播源。
IGMP SSM Mapping通過在設備上配置SSM靜態映射規則,從而為運行IGMPv1或IGMPv2的接收者主機提供對SSM模型的支持。
SSM模型要求在接收者主機所在的網段,設備能夠了解主機加入組播組時所指定的組播源。如果接收者主機上運行的是IGMPv3,則可以在IGMPv3的報告報文中直接指定組播源的地址;如果某些接收者主機隻能運行IGMPv1或IGMPv2,則在IGMPv1或IGMPv2的報告報文中無法指定組播源的地址。這種情況下需要通過在設備上配置IGMP SSM Mapping規則,將IGMPv1或IGMPv2報告報文中所包含的(*,G)信息映射為(G,INCLUDE,(S1,S2...))信息。
在如圖1-3所示的SSM網絡中,Host A、Host B和Host C上分別運行IGMPv1、IGMPv2和IGMPv3。在不允許將Host A和Host B升級為IGMPv3的情況下,若要為Host A和Host B也提供SSM組播服務,則需在Device A上配置IGMP SSM Mapping規則。
配置完成後,當Device A收到來自主機的IGMPv1或IGMPv2報告報文時,首先檢查該報文中所攜帶的組播組地址G,然後根據檢查結果的不同分別進行處理:
· 如果G不在SSM組地址範圍內,則提供ASM組播服務。
· 如果G在SSM組地址範圍內且Device A上沒有G對應的IGMP SSM Mapping規則,則無法提供SSM組播服務,丟棄該報文。
· 如果G在SSM組地址範圍內但Device A上有G對應的IGMP SSM Mapping規則,則依據規則將報告報文中所包含的(*,G)信息映射為(G,INCLUDE,(S1,S2...))信息,可以提供SSM組播服務。
· IGMP SSM Mapping不對IGMPv3的報告報文進行處理。
· 有關SSM組地址範圍的介紹,請參見“IP組播配置指導”中的“PIM”。
在如圖1-4所示的一些簡單網絡拓撲中,諸如Device B之類的邊緣設備上並不需要運行PIM等複雜的組播路由協議,可以通過在這些設備上配置IGMP代理功能,使其在上遊的IGMP查詢器和下遊的接收者主機之間充當代理者:
· 對於IGMP查詢器來說,IGMP代理設備的行為就像一台主機。
· 對於主機來說,IGMP代理設備的行為就像一台IGMP查詢器。
圖1-4 IGMP代理組網圖
為了便於理解,IGMP代理中定義了兩種類型的接口:
· 主機接口:麵向組播分發樹樹根方向的接口,執行IGMP協議的主機行為。由於此接口上需開啟IGMP代理功能,因此也稱為代理接口。
· 路由器接口:麵向組播分發樹樹葉方向的接口,執行IGMP協議的路由器行為。在此接口上需使能並配置IGMP。
IGMP代理設備上維護著一個組成員關係數據庫,記錄所有路由器接口維護的組成員關係。主機接口和路由器接口正是依據這個數據庫來執行相應的行為:
· 主機接口收到查詢報文後根據當前的組成員關係來響應報告報文,或者當組成員關係改變時發送報告報文或離開報文。
· 路由器接口參與下遊查詢器的選舉,發送查詢報文,並根據主機發來的報告報文維護組成員關係。
傳統組播業務對組播用戶是不可控的,用戶可自行加入某個組播組,從而接收該組播組的組播報文。由於無法對用戶進行有效的識別控製,因而這種不可控的組播無法滿足運營商對IPTV等業務的運營需求。
可控組播的核心就是控製用戶加入組播組的權限。用戶上線後,BRAS(Broadband Remote Access Server,寬帶遠程接入服務器)設備可獲得用戶的授權信息,當用戶發送IGMP成員關係報告報文請求加入某個組播組時,BRAS設備可根據該用戶的授權信息接受或拒絕其加入請求。
IGMP依據接口來維護組成員關係,各實例的IGMP根據接口所屬的實例來處理協議報文的收發。當設備收到IGMP報文時,需要區分該報文所屬的實例,並在該實例範圍內對其進行處理。當某實例內的IGMP需要和其它組播協議交互信息時,隻會通知本實例內的其它組播協議。
與IGMP相關的協議規範有:
· RFC 1112:Host Extensions for IP Multicasting
· RFC 2236:Internet Group Management Protocol, Version 2
· RFC 3376:Internet Group Management Protocol, Version 3
本特性的支持情況與設備型號有關,請以設備的實際情況為準。
型號 |
說明 |
MSR610 |
支持 |
MSR810、MSR810-W、MSR810-W-DB、MSR810-LM、MSR810-W-LM、MSR810-10-PoE、MSR810-LM-HK、MSR810-W-LM-HK、MSR810-LM-CNDE-SJK、MSR810-CNDE-SJK、MSR810-EI、MSR810-LM-EA、MSR810-LM-EI |
支持 |
MSR810-LMS、MSR810-LUS |
不支持 |
MSR810-SI、MSR810-LM-SI |
不支持 |
MSR810-LMS-EA、MSR810-LME |
不支持 |
MSR1004S-5G、MSR1004S-5G-CN |
支持 |
MSR1104S-W、MSR1104S-W-CAT6、MSR1104S-5G-CN、MSR1104S-W-5G-CN、MSR1104S-W-5GGL |
支持 |
MSR2600-6-X1、MSR2600-15-X1、MSR2600-15-X1-T |
支持 |
MSR2600-10-X1 |
支持 |
MSR2630-G-X1 |
支持 |
MSR 2630 |
支持 |
MSR3600-28、MSR3600-51 |
支持 |
MSR3600-28-SI、MSR3600-51-SI |
不支持 |
MSR3600-28-X1、MSR3600-28-X1-DP、MSR3600-51-X1、MSR3600-51-X1-DP |
支持 |
MSR3600-28-G-DP、MSR3600-51-G-DP |
支持 |
MSR3600-28-G-X1-DP、MSR3600-51-G-X1-DP |
支持 |
MSR3610-I-DP、MSR3610-IE-DP、MSR3610-IE-ES、MSR3610-IE-EAD、MSR-EAD-AK770、MSR3610-I-IG、MSR3610-IE-IG |
支持 |
MSR-iMC |
支持 |
MSR3610-X1、MSR3610-X1-DP、MSR3610-X1-DC、MSR3610-X1-DP-DC、MSR3620-X1、MSR3640-X1 |
支持 |
MSR 3610、MSR 3620、MSR 3620-DP、MSR 3640、MSR 3660 |
支持 |
MSR3610-G、MSR3620-G |
支持 |
MSR3640-G |
支持 |
MSR3640-X1-HI |
支持 |
型號 |
描述 |
MSR810-W-WiNet、MSR810-LM-WiNet |
支持 |
MSR830-4LM-WiNet |
支持 |
MSR830-5BEI-WiNet、MSR830-6EI-WiNet、MSR830-10BEI-WiNet |
支持 |
MSR830-6BHI-WiNet、MSR830-10BHI-WiNet |
支持 |
MSR2600-6-WiNet |
支持 |
MSR2600-10-X1-WiNet |
支持 |
MSR2630-WiNet |
支持 |
MSR3600-28-WiNet |
支持 |
MSR3610-X1-WiNet |
支持 |
MSR3620-X1-WiNet |
支持 |
MSR3610-WiNet、MSR3620-10-WiNet、MSR3620-DP-WiNet、MSR3620-WiNet、MSR3660-WiNet |
支持 |
型號 |
說明 |
MSR860-6EI-XS |
支持 |
MSR860-6HI-XS |
支持 |
MSR2630-XS |
支持 |
MSR3600-28-XS |
支持 |
MSR3610-XS |
支持 |
MSR3620-XS |
支持 |
MSR3610-I-XS |
支持 |
MSR3610-IE-XS |
支持 |
MSR3620-X1-XS |
支持 |
MSR3640-XS |
支持 |
MSR3660-XS |
支持 |
型號 |
說明 |
MSR810-LM-GL |
支持 |
MSR810-W-LM-GL |
支持 |
MSR830-6EI-GL |
支持 |
MSR830-10EI-GL |
支持 |
MSR830-6HI-GL |
支持 |
MSR830-10HI-GL |
支持 |
MSR1004S-5G-GL |
支持 |
MSR2600-6-X1-GL |
支持 |
MSR3600-28-SI-GL |
不支持 |
IGMP配置任務如下:
(1) 使能IGMP
(2) (可選)配置IGMP基本功能
¡ 配置IGMP版本
¡ 配置靜態加入功能
¡ 配置組播組過濾器
(3) (可選)調整IGMP性能
(4) (可選)配置IGMP SSM Mapping
(5) (可選)配置IGMP代理
(6) (可選)配置可控組播
¡ 開啟可控組播功能
(7) (可選)開啟IGMP NSR功能
在配置IGMP之前,需配置任一單播路由協議,實現網絡層互通。
在需要建立和維護組播組成員關係的接口上使能IGMP。
(1) 進入係統視圖。
system-view
(2) 使能IP組播路由,並進入MRIB視圖。
multicast routing [ vpn-instance vpn-instance-name ]
缺省情況下,IP組播路由處於關閉狀態。
本命令的詳細介紹請參見“IP組播命令參考”中的“組播路由與轉發”。
(3) 退回係統視圖。
quit
(4) 進入接口視圖。
interface interface-type interface-number
(5) 使能IGMP。
igmp enable
缺省情況下,IGMP處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IGMP的版本。
igmp version version-number
由於不同版本IGMP協議的報文結構與種類不同,因此需要為同一網段上的所有設備配置相同版本的IGMP,否則IGMP將不能正常運行。
缺省情況下,IGMP的版本為IGMPv2。
在配置了靜態加入組播組或組播源組後,接口將作為該組播組的虛擬組成員存在,從而可以接收發往該組的組播數據,以測試組播數據的轉發。
在配置了靜態加入功能後,接口並不會對IGMP查詢器發出的查詢報文進行響應;當配置靜態加入或取消靜態加入的配置時,接口也不會主動發送IGMP成員關係報告報文或IGMP離開組報文。也就是說,該接口並沒有真正成為該組播組的成員。
在運行PIM-SM的設備上配置靜態加入功能時,需要注意:
· 如果待配接口上同時使能了IGMP和PIM-SM,則該接口必須為PIM-SM的DR,否則該接口將不能加入組播組或組播源組。
· 如果待配接口上使能了IGMP但未使能PIM-SM,則該接口必須為IGMP查詢器,否則該接口也不能加入組播組或組播源組。
有關PIM-SM和DR的介紹,請參見“IP組播配置指導”中的“PIM”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置靜態加入組播組或組播源組。
igmp static-group group-address [ source source-address ]
如果不希望接口所在網段上的主機加入某些組播組,可在該接口上配置ACL規則作為過濾器,接口將按照該規則對收到的IGMP成員關係報告報文進行過濾,隻為該規則所允許的組播組維護組成員關係。
由於組播組過濾器隻能過濾IGMP報文,因此無法對接口靜態加入組播組或組播源組進行限製。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置組播組過濾器。
igmp group-policy { ipv4-acl-number | name ipv4-acl-name } [ version-number ]
缺省情況下,接口上不存在組播組過濾器,即該接口下的主機可以加入任意組播組。
· IGMP查詢器的健壯係數:IGMP查詢器的健壯係數是為了彌補可能發生的網絡丟包而設置的報文重傳次數,重傳次數越多,IGMP查詢器就越“健壯”,但是組播組超時所需的時間也就越長。
· IGMP查詢器啟動查詢間隔與次數:當IGMPv1/v2/v3查詢器啟動時,會以“IGMP查詢器啟動查詢間隔”為時間間隔發送“IGMP查詢器啟動查詢次數”次IGMP普遍組查詢報文,以快速判斷當前網絡中是否有組播組成員。
· IGMP普遍組查詢報文的發送間隔:當IGMPv1/v2/v3查詢器啟動後,會周期性地發送IGMP普遍組查詢報文,以判斷網絡中是否有組播組成員,這個發送間隔就是“IGMP普遍組查詢報文的發送間隔”,可以根據網絡的實際情況來調整此間隔。
· IGMP最後組成員查詢間隔與次數:當IGMPv2查詢器收到IGMP離開組報文後,會以“IGMP最後組成員查詢間隔”為時間間隔發送“IGMP最後組成員查詢次數”次IGMP特定組查詢報文;當IGMPv3查詢器收到改變組播組與組播源列表關係的IGMP報告報文後,也會以同樣的間隔和次數發送IGMP特定源組查詢報文。
· IGMP查詢報文的最大響應時間:在收到IGMP查詢報文(包括普遍組查詢、特定組查詢和特定源組查詢)後,主機會為其所加入的每個組播組都啟動一個延遲定時器,其值在0到最大響應時間(該時間值從IGMP查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。合理配置IGMP查詢報文的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞:
¡ 對於IGMP普遍組查詢報文來說,通過配置IGMP普遍組查詢報文的最大響應時間來填充其最大響應時間字段;
¡ 對於IGMP特定組查詢報文和IGMP特定源組查詢報文來說,所配置的IGMP最後組成員查詢間隔將被填充到其最大響應時間字段。也就是說,IGMP特定組查詢和IGMP特定源組查詢的最大響應時間在數值上等於IGMP最後組成員查詢間隔。
· IGMP其它查詢器的存在時間:當同一網段上有多台IGMP設備時,由查詢器負責發送IGMP查詢報文。如果非查詢器在“IGMP其它查詢器存在時間”超時前未收到來自查詢器的IGMP查詢報文,就會認為原查詢器失效,從而觸發新的查詢器選舉過程;否則,非查詢器將重置“IGMP其它查詢器存在時間定時器”。
配置IGMP查詢和響應時,需要注意:
· 應確保IGMP其它查詢器的存在時間大於IGMP普遍組查詢報文的發送間隔,且同一網段所有IGMP設備上IGMP其它查詢器的存在時間應該相同,否則都有可能導致網絡內的IGMP查詢器反複變化。
· 應確保IGMP普遍組查詢報文的發送間隔大於IGMP普遍組查詢報文的最大響應時間,否則有可能造成對組播組成員的誤刪。
· 對IGMP普遍組查詢報文的最大響應時間、IGMP最後組成員查詢間隔、IGMP最後組成員查詢次數以及IGMP其它查詢器的存在時間所做的配置,隻有當設備運行在IGMPv2/v3時才有效。
· 用戶既可在IGMP視圖下對所有接口進行全局配置,也可在接口視圖下隻對當前接口進行配置,後者的配置優先級較高。
(1) 進入係統視圖。
system-view
(2) 進入IGMP視圖。
igmp [ vpn-instance vpn-instance-name ]
(3) 配置IGMP查詢器的健壯係數。
robust-count count
缺省情況下,IGMP查詢器的健壯係數為2。
(4) 配置IGMP查詢器的啟動查詢間隔。
startup-query-interval interval
缺省情況下,IGMP查詢器的啟動查詢間隔為IGMP普遍組查詢報文發送間隔的1/4。
(5) 配置IGMP查詢器的啟動查詢次數。
startup-query-count count
缺省情況下,IGMP查詢器的啟動查詢次數等於IGMP查詢器的健壯係數。
(6) 配置IGMP普遍組查詢報文的發送間隔。
query-interval interval
缺省情況下,IGMP普遍組查詢報文的發送間隔為125秒。
(7) 配置IGMP最後組成員查詢間隔。
last-member-query-interval interval
缺省情況下,IGMP最後組成員查詢間隔為1秒。
(8) 配置IGMP最後組成員查詢次數。
last-member-query-count count
缺省情況下,IGMP最後組成員查詢次數等於IGMP查詢器的健壯係數。
(9) 配置IGMP普遍組查詢報文的最大響應時間。
max-response-time time
缺省情況下,IGMP普遍組查詢報文的最大響應時間為10秒。
(10) 配置IGMP其它查詢器的存在時間。
other-querier-present-interval interval
缺省情況下,IGMP其它查詢器的存在時間=IGMP普遍組查詢報文的發送間隔×IGMP查詢器的健壯係數+IGMP普遍組查詢的最大響應時間÷2。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置IGMP查詢器的健壯係數。
igmp robust-count count
缺省情況下,IGMP查詢器的健壯係數為2。
(4) 配置IGMP查詢器的啟動查詢間隔。
igmp startup-query-interval interval
缺省情況下,IGMP查詢器的啟動查詢間隔為IGMP普遍組查詢報文發送間隔的1/4。
(5) 配置IGMP查詢器的啟動查詢次數。
igmp startup-query-count count
缺省情況下,IGMP查詢器的啟動查詢次數等於IGMP查詢器的健壯係數。
(6) 配置IGMP普遍組查詢報文的發送間隔。
igmp query-interval interval
缺省情況下,IGMP普遍組查詢報文的發送間隔為125秒。
(7) 配置IGMP最後組成員查詢間隔。
igmp last-member-query-interval interval
缺省情況下,IGMP最後組成員查詢間隔為1秒。
(8) 配置IGMP最後組成員查詢次數。
igmp last-member-query-count count
缺省情況下,IGMP最後組成員查詢次數等於IGMP查詢器的健壯係數。
(9) 配置IGMP普遍組查詢報文的最大響應時間。
igmp max-response-time time
缺省情況下,IGMP普遍組查詢報文的最大響應時間為10秒。
(10) 配置IGMP其它查詢器的存在時間。
igmp other-querier-present-interval interval
缺省情況下,IGMP其它查詢器的存在時間=IGMP普遍組查詢報文的發送間隔×IGMP查詢器的健壯係數+IGMP普遍組查詢的最大響應時間÷2。
在某些應用(如ADSL撥號上網)中,IGMP查詢器的一個端口唯一對應著一台接收者主機,當主機在多個組播組間頻繁切換(如進行電視選台)時,為了快速響應主機的離開組報文,可以在IGMP查詢器上開啟組播組成員快速離開功能。
在開啟了組播組成員快速離開功能之後,當IGMP查詢器收到來自主機的離開組報文時,不再發送IGMP特定組查詢報文或IGMP特定源組查詢報文,而是直接向上遊發送離開通告,這樣一方麵減小了響應延遲,另一方麵也節省了網絡帶寬。
隻有當設備運行在IGMPv2或IGMPv3時,本配置才有效。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟組播組成員快速離開功能。
igmp fast-leave [ group-policy ipv4-acl-number ]
缺省情況下,組播組成員快速離開功能處於關閉狀態。
在SSM網絡中,由於各種可能的限製,某些接收者主機隻能運行IGMPv1或IGMPv2。為了向這些僅支持IGMPv1或IGMPv2的接收者主機提供SSM服務,可以在設備上配置IGMP SSM Mapping規則。
為防止本網段內運行IGMPv3的主機無法加入組播組,請在該網段麵向主機的接口上運行IGMPv3。
(1) 進入係統視圖。
system-view
(2) 進入IGMP視圖。
igmp [ vpn-instance vpn-instance-name ]
(3) 配置IGMP SSM Mapping規則。
ssm-mapping source-address { ipv4-acl-number | name ipv4-acl-name }
缺省情況下,不存在IGMP SSM Mapping規則。
在IGMP代理設備上,請先根據網絡拓撲確定其路由器接口和主機接口,然後在路由器接口上使能並配置IGMP。
請在IGMP代理設備的主機接口上開啟IGMP代理功能,且需要注意的是:
· 一個接口上如果同時開啟IGMP代理功能和IGMP協議,IGMP協議將不會生效。在已開啟IGMP代理功能的接口上配置其它IGMP命令時,隻有igmp version命令會生效。
· 如果在一台設備上同時開啟IGMP代理功能和組播路由協議(如PIM和MSDP),組播路由協議將不會生效。而由於IGMPv1查詢器要由PIM選出的DR來充當,因此若IGMP代理設備的路由器接口運行IGMPv1,則該接口將無法成為DR,從而無法充當IGMP查詢器,此時為使該接口下的主機能夠接收組播數據,需在該接口上開啟非查詢器轉發功能。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟IGMP代理功能。
igmp proxy enable
缺省情況下,IGMP代理功能處於關閉狀態。
組播數據通常隻被查詢器轉發,非查詢器不具備組播轉發能力,這樣可避免組播數據被重複轉發。但如果IGMP代理設備的路由器接口未能當選查詢器,應在該接口上開啟非查詢器轉發功能,否則下遊主機將無法收到組播數據。
在共享網段內存在多台IGMP代理設備的情況下,如果其中一台IGMP代理設備的路由器接口已當選為查詢器,不應再在其它IGMP代理設備的路由器接口上開啟非查詢器轉發功能,否則該網段將收到多份重複的組播數據。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟非查詢器轉發功能。
igmp proxy forwarding
缺省情況下,非查詢器轉發功能處於關閉狀態。
當在IGMP代理設備的多個接口上開啟了IGMP代理功能時,隻有IP地址最大的接口會轉發組播流量,為了分擔單端口流量轉發的負擔,可以開啟IGMP代理的負載分擔功能,使開啟了IGMP代理功能的接口都參與組播流量的轉發。
(1) 進入係統視圖。
system-view
(2) 進入IGMP視圖。
igmp [ vpn-instance vpn-instance-name ]
(3) 開啟IGMP代理的負載分擔功能。
proxy multipath
缺省情況下,IGMP代理的負載分擔功能處於關閉狀態。
可控組播功能僅支持在BRAS設備上配置。
請在需要控製用戶加入組播組權限的接口上開啟可控組播功能。
請勿使用IGMPv1版本,否則將無IGMP查詢器可用。
本命令隻對本地上線用戶生效,非本地上線用戶或非上線用戶不受此控製。
(1) 進入係統視圖。
system-view
(2) 進入三層接口視圖。
¡ 進入三層以太網接口視圖。
interface interface-type interface-number
¡ 進入三層以太網子接口視圖。
interface interface-type interface-number.subnumber
¡ 進入三層聚合接口視圖。
interface route-aggregation interface-number
¡ 進入三層聚合子接口視圖。
interface route-aggregation interface-number.subnumber
¡ 進入VT接口視圖。
interface virtual-template number
(3) 開啟可控組播功能。
igmp authorization-enable
缺省情況下,可控組播功能處於關閉狀態。
如果在一個User Profile下指定了某ACL規則作為IGMP用戶的接入策略,當被授權此User Profile的用戶上線後,設備將按照該規則對用戶發送的IGMP成員關係報告報文進行過濾,隻為該規則所允許的組播組維護組成員關係。
在RADIUS服務器上還可以配置用戶授權的組列表,並與用戶授權的User Profile共同構成了用戶的授權信息。當用戶發送的IGMP成員關係報告報文隻要能通過其中的一項,就允許通過。
(1) 進入係統視圖。
system-view
(2) 進入ISP域視圖。
domain isp-name
本命令的詳細介紹請參見“安全命令參考”中的“AAA”。
(3) 配置當前ISP域的缺省授權User Porfile。
authorization-attribute user-profile profile-name
缺省情況下,當前ISP域無缺省授權User Porfile。
如果RADIUS服務器上指定了用戶授權的User Profile,則以服務器的配置為準。
本命令的詳細介紹請參見“安全命令參考”中的“AAA”。
(4) 退回係統視圖。
quit
(5) 進入User-Profile視圖。
user-profile profile-name
本命令的詳細介紹請參見“安全命令參考”中的“User Profile”。
(6) 配置IGMP用戶的接入策略。
igmp access-policy ipv4-acl-number
通過多次執行本命令可以配置多條IGMP用戶接入策略,用戶發送的IGMP成員關係報告報文隻需匹配其中一條就允許通過。
通常情況下,BRAS設備按接口記錄用戶加入的組播組,隻會向物理接口發送一份組播報文,組播的複製分發工作將由運行IGMP Snooping的下遊設備完成。
當下遊設備不支持IGMP Snooping時,可以在BRAS設備的下遊接口上配置按會話記錄用戶加入的組播組,BRAS設備將按會話複製組播報文,並向接口下的每位用戶分別發送一份。
如果接口上存在不帶VLAN封裝的靜態加入配置,當在該接口上進行本配置時係統會自動刪除這些不帶VLAN封裝的靜態表項。
(1) 進入係統視圖。
system-view
(2) 進入三層接口視圖。
¡ 進入三層以太網接口視圖。
interface interface-type interface-number
¡ 進入三層以太網子接口視圖。
interface interface-type interface-number.subnumber
¡ 進入三層聚合接口視圖。
interface route-aggregation interface-number
¡ 進入三層聚合子接口視圖。
interface route-aggregation interface-number.subnumber
(3) 配置按會話記錄用戶加入的組播組。
igmp join-by-session
缺省情況下,按接口記錄用戶加入的組播組。
由於可控組播中的用戶帶有VLAN封裝,因此在BRAS設備的子接口上配置靜態加入時也要帶有VLAN封裝,否則該子接口將無法加入相應的組播組或組播源組。
在子接口上配置了帶VLAN封裝的靜態加入後,當該VLAN內的用戶上線,或指定該子接口轉發該VLAN的組播數據時,將創建相應的靜態組播表項。
在指定igmp static-group命令中的dot1q vid vlan-id second-dot1q vlan-list時,需要注意:
· 對於同一個組播組或組播源組,不帶VLAN封裝、帶一層VLAN封裝和帶兩層VLAN封裝的靜態加入配置兩兩互斥,不允許同時配置。
· 配置不帶VLAN封裝的靜態加入時,如果子接口上沒有配置igmp join-by-session命令和igmp user-vlan-aggregation dot1q命令,才生成靜態組播表項。
· 配置帶VLAN封裝的靜態加入時,如果子接口上配置了igmp join-by-session命令,那麼當相應VLAN內的用戶上線時才生成靜態組播表項;如果子接口上配置了igmp user-vlan-aggregation dot1q命令,那麼隻有二者的VLAN封裝相同,才生成靜態組播表項。
(1) 進入係統視圖。
system-view
(2) 進入三層子接口視圖。
¡ 進入三層以太網子接口視圖。
interface interface-type interface-number.subnumber
¡ 進入三層聚合子接口視圖。
interface route-aggregation interface-number.subnumber
(3) 配置接口靜態加入組播組或組播源組(帶VLAN封裝)。
igmp static-group group-address [ source source-address ] { dot1q vid vlan-list | dot1q vid vlan-id second-dot1q vlan-list }
NSR(Nonstop Routing,不間斷路由)通過將IGMP的運行接口以及組播組等信息備份到備進程,從而避免了主備倒換對轉發業務的影響。
NSR特性不需要周邊設備的配合,設備自身可以將運行接口和組播組等信息進行恢複。
(1) 進入係統視圖。
system-view
(2) 開啟IGMP NSR功能。
igmp non-stop-routing
缺省情況下,IGMP NSR功能處於關閉狀態。
本命令的支持情況與設備型號有關,請以設備的實際情況為準。
型號 |
說明 |
MSR610 |
不支持 |
MSR810、MSR810-W、MSR810-W-DB、MSR810-LM、MSR810-W-LM、MSR810-10-PoE、MSR810-LM-HK、MSR810-W-LM-HK、MSR810-LM-CNDE-SJK、MSR810-CNDE-SJK、MSR810-EI、MSR810-LM-EA、MSR810-LM-EI |
不支持 |
MSR810-LMS、MSR810-LUS |
不支持 |
MSR810-SI、MSR810-LM-SI |
不支持 |
MSR810-LMS-EA、MSR810-LME |
不支持 |
MSR1004S-5G、MSR1004S-5G-CN |
不支持 |
MSR1104S-W、MSR1104S-W-CAT6、MSR1104S-5G-CN、MSR1104S-W-5G-CN、MSR1104S-W-5GGL |
不支持 |
MSR2600-6-X1、MSR2600-15-X1、MSR2600-15-X1-T |
不支持 |
MSR2600-10-X1 |
不支持 |
MSR2630-G-X1 |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR 2630 |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3600-28、MSR3600-51 |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3600-28-SI、MSR3600-51-SI |
不支持 |
MSR3600-28-X1、MSR3600-28-X1-DP、MSR3600-51-X1、MSR3600-51-X1-DP |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3600-28-G-DP、MSR3600-51-G-DP |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3600-28-G-X1-DP、MSR3600-51-G-X1-DP |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3610-I-DP、MSR3610-IE-DP、MSR3610-IE-ES、MSR3610-IE-EAD、MSR-EAD-AK770、MSR3610-I-IG、MSR3610-IE-IG |
不支持 |
MSR-iMC |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3610-X1、MSR3610-X1-DP、MSR3610-X1-DC、MSR3610-X1-DP-DC、MSR3620-X1、MSR3640-X1 |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR 3610、MSR 3620、MSR 3620-DP、MSR 3640、MSR 3660 |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3610-G、MSR3620-G |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3640-G |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3640-X1-HI |
不支持 |
型號 |
描述 |
MSR810-W-WiNet、MSR810-LM-WiNet |
不支持 |
MSR830-4LM-WiNet |
不支持 |
MSR830-5BEI-WiNet、MSR830-6EI-WiNet、MSR830-10BEI-WiNet |
不支持 |
MSR830-6BHI-WiNet、MSR830-10BHI-WiNet |
不支持 |
MSR2600-6-WiNet |
不支持 |
MSR2600-10-X1-WiNet |
不支持 |
MSR2630-WiNet |
不支持 |
MSR3600-28-WiNet |
不支持 |
MSR3610-X1-WiNet |
不支持 |
MSR3620-X1-WiNet |
不支持 |
MSR3610-WiNet、MSR3620-10-WiNet、MSR3620-DP-WiNet、MSR3620-WiNet、MSR3660-WiNet |
不支持 |
型號 |
說明 |
MSR860-6EI-XS |
不支持 |
MSR860-6HI-XS |
不支持 |
MSR2630-XS |
不支持 |
MSR3600-28-XS |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3610-XS |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3620-XS |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3610-I-XS |
不支持 |
MSR3610-IE-XS |
不支持 |
MSR3620-X1-XS |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3640-XS |
· 獨立運行模式時,不支持 · IRF模式時,支持 |
MSR3660-XS |
不支持 |
型號 |
說明 |
MSR810-LM-GL |
不支持 |
MSR810-W-LM-GL |
不支持 |
MSR830-6EI-GL |
不支持 |
MSR830-10EI-GL |
不支持 |
MSR830-6HI-GL |
不支持 |
MSR830-10HI-GL |
不支持 |
MSR1004S-5G-GL |
不支持 |
MSR2600-6-X1-GL |
不支持 |
MSR3600-28-SI-GL |
不支持 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IGMP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除IGMP的統計信息。
執行reset igmp group命令可能導致接收者接收組播信息中斷。
表1-1 IGMP顯示和維護
操作 |
命令 |
顯示IGMP組播組的信息 |
display igmp [ vpn-instance vpn-instance-name ] group [ group-address | interface interface-type interface-number ] [ static | verbose ] |
顯示接口上IGMP配置和運行信息 |
display igmp [ vpn-instance vpn-instance-name ] interface [ interface-type interface-number ] [ host | proxy ] [ verbose ] |
顯示IGMP代理記錄的組播組信息 |
display igmp [ vpn-instance vpn-instance-name ] proxy group [ group-address | interface interface-type interface-number ] [ verbose ] |
顯示IGMP代理路由表的信息 |
display igmp [ vpn-instance vpn-instance-name ] proxy routing-table [ source-address [ mask { mask-length | mask } ] | group-address [ mask { mask-length | mask } ] ] * [ verbose ] |
顯示IGMP SSM Mapping規則 |
display igmp [ vpn-instance vpn-instance-name ] ssm-mapping group-address |
顯示IGMP用戶的授權信息 |
display igmp user-authorization [ interface interface-type interface-number ] |
清除IGMP組的動態加入記錄 |
reset igmp [ vpn-instance vpn-instance-name ] group { all | interface interface-type interface-number { all | group-address [ mask { mask | mask-length } ] [ source-address [ mask { mask | mask-length } ] ] } } |
· 網絡中運行OSPF和PIM-DM,接收者通過組播方式接收視頻點播信息,不同組織的接收者組成末梢網絡N1和N2,Host A與Host C分別為N1和N2中的組播信息接收者。
· Router A通過GigabitEthernet1/0/1連接N1,通過GigabitEthernet1/0/2連接PIM網絡中的其它設備。
· Router B與Router C分別通過各自的GigabitEthernet1/0/1連接N2,並分別通過各自的GigabitEthernet1/0/2連接PIM網絡中的其它設備。
· Router A與N1之間運行IGMPv2,Router A為IGMP查詢器;Router B、Router C與N2之間也分別運行IGMPv2,且由於Router B的接口IP地址較小,因此由其充當IGMP查詢器。
· 通過配置,使N1中的主機隻能加入組播組224.1.1.1,而對N2中的主機則無任何限製。
圖1-5 IGMP基本功能配置組網圖
(1) 配置IP地址和單播路由協議
請按照圖1-5配置各接口的IP地址和子網掩碼,並在PIM-DM域內的各路由器上配置OSPF協議,具體配置過程略。
(2) 使能IP組播路由,並使能PIM-DM和IGMP
# 在Router A上使能IP組播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,並在接口GigabitEthernet1/0/1上使能IGMP。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] igmp enable
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim dm
[RouterA-GigabitEthernet1/0/2] quit
# 在Router B上使能IP組播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,並在接口GigabitEthernet1/0/1上使能IGMP。
<RouterB> system-view
[RouterB] multicast routing
[RouterB-mrib] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] igmp enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] pim dm
[RouterB-GigabitEthernet1/0/2] quit
# 在Router C上使能IP組播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,並在接口GigabitEthernet1/0/1上使能IGMP。
<RouterC> system-view
[RouterC] multicast routing
[RouterC-mrib] quit
[RouterC] interface gigabitethernet 1/0/1
[RouterC-GigabitEthernet1/0/1] igmp enable
[RouterC-GigabitEthernet1/0/1] quit
[RouterC] interface gigabitethernet 1/0/2
[RouterC-GigabitEthernet1/0/2] pim dm
[RouterC-GigabitEthernet1/0/2] quit
(3) 配置組播組過濾器
# 在Router A上限定接口GigabitEthernet1/0/1下的主機隻能加入組播組224.1.1.1。
[RouterA] acl basic 2001
[RouterA-acl-ipv4-basic-2001] rule permit source 224.1.1.1 0
[RouterA-acl-ipv4-basic-2001] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] igmp group-policy 2001
[RouterA-GigabitEthernet1/0/1] quit
# 在Router B上顯示接口GigabitEthernet1/0/1上IGMP配置和運行的信息。
[RouterB] display igmp interface gigabitethernet 1/0/1
GigabitEthernet1/0/1(10.110.2.1):
IGMP is enabled.
IGMP version: 2
Query interval for IGMP: 125s
Other querier present time for IGMP: 255s
Maximum query response time for IGMP: 10s
Querier for IGMP: 10.110.2.1 (This router)
IGMP groups reported in total: 1
· 運行OSPF協議的PIM-SM網絡中采用SSM方式提供組播服務,SSM組播組的範圍為232.1.1.0/24。
· Router D的接口GigabitEthernet1/0/1上運行IGMPv3,接收者主機上運行IGMPv2,且不能升級至IGMPv3,因此該主機在加入組播組時無法指定組播源。
· Source 1、Source 2和Source 3都向SSM組範圍內的組播組發送組播數據,要求通過在Router D上配置IGMP SSM Mapping規則,使接收者主機隻能接收來自Source 1和Source 3的組播數據。
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Source 1 |
- |
133.133.1.1/24 |
Source 3 |
- |
133.133.3.1/24 |
Source 2 |
- |
133.133.2.1/24 |
Receiver |
- |
133.133.4.1/24 |
Router A |
GE1/0/1 |
133.133.1.2/24 |
Router C |
GE1/0/1 |
133.133.3.2/24 |
|
GE1/0/2 |
192.168.1.1/24 |
|
GE1/0/2 |
192.168.3.1/24 |
|
GE1/0/3 |
192.168.4.2/24 |
|
GE1/0/3 |
192.168.2.2/24 |
Router B |
GE1/0/1 |
133.133.2.2/24 |
Router D |
GE1/0/1 |
133.133.4.2/24 |
|
GE1/0/2 |
192.168.1.2/24 |
|
GE1/0/2 |
192.168.3.2/24 |
|
GE1/0/3 |
192.168.2.1/24 |
|
GE1/0/3 |
192.168.4.1/24 |
(1) 配置IP地址和單播路由協議
請按照圖1-6配置各接口的IP地址和子網掩碼,並在PIM-SM域內的各路由器上配置OSPF協議,具體配置過程略。
(2) 使能IP組播路由,並使能PIM-SM和IGMP
# 在Router D上使能IP組播路由,在主機側接口GigabitEthernet1/0/1上使能IGMP,配置IGMP版本為3,並在其它接口上使能PIM-SM。
<RouterD> system-view
[RouterD] multicast routing
[RouterD-mrib] quit
[RouterD] interface gigabitethernet 1/0/1
[RouterD-GigabitEthernet1/0/1] igmp enable
[RouterD-GigabitEthernet1/0/1] igmp version 3
[RouterD-GigabitEthernet1/0/1] quit
[RouterD] interface gigabitethernet 1/0/2
[RouterD-GigabitEthernet1/0/2] pim sm
[RouterD-GigabitEthernet1/0/2] quit
[RouterD] interface gigabitethernet 1/0/3
[RouterD-GigabitEthernet1/0/3] pim sm
[RouterD-GigabitEthernet1/0/3] quit
# 在Router A上使能IP組播路由,並在各接口上使能PIM-SM。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pim sm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim sm
[RouterA-GigabitEthernet1/0/2] quit
[RouterA] interface gigabitethernet 1/0/3
[RouterA-GigabitEthernet1/0/3] pim sm
[RouterA-GigabitEthernet1/0/3] quit
Router B和Router C的配置與Router A相似,配置過程略。
(3) 配置SSM組播組的地址範圍
# 在Router D上配置SSM組播組的地址範圍為232.1.1.0/24。
[RouterD] acl basic 2000
[RouterD-acl-ipv4-basic-2000] rule permit source 232.1.1.0 0.0.0.255
[RouterD-acl-ipv4-basic-2000] quit
[RouterD] pim
[RouterD-pim] ssm-policy 2000
[RouterD-pim] quit
Router A、Router B和Router C的配置與Router D相似,配置過程略。
(4) 配置IGMP SSM Mapping規則
# 在Router D上配置IGMP SSM Mapping規則。
[RouterD] igmp
[RouterD-igmp] ssm-mapping 133.133.1.1 2000
[RouterD-igmp] ssm-mapping 133.133.3.1 2000
[RouterD-igmp] quit
# 顯示Router D上組播組232.1.1.1對應的IGMP SSM Mapping規則。
[RouterD] display igmp ssm-mapping 232.1.1.1
Group: 232.1.1.1
Source list:
133.133.1.1
133.133.3.1
# 顯示Router D上依據IGMP SSM Mapping規則創建的IGMP組播組信息。
[RouterD] display igmp group
IGMP groups in total: 1
GigabitEthernet1/0/1(133.133.4.2):
IGMP groups reported in total: 1
Group address Last reporter Uptime Expires
232.1.1.1 133.133.4.1 00:02:04 off
# 顯示Router D上PIM路由表的內容。
[RouterD] display pim routing-table
Total 0 (*, G) entry; 2 (S, G) entry
(133.133.1.1, 232.1.1.1)
Protocol: pim-ssm, Flag:
UpTime: 00:13:25
Upstream interface: GigabitEthernet1/0/3
Upstream neighbor: 192.168.4.2
RPF prime neighbor: 192.168.4.2
Downstream interface information:
Total number of downstream interfaces: 1
1: GigabitEthernet1/0/1
Protocol: igmp, UpTime: 00:13:25, Expires: -
(133.133.3.1, 232.1.1.1)
Protocol: pim-ssm, Flag:
UpTime: 00:13:25
Upstream interface: GigabitEthernet1/0/2
Upstream neighbor: 192.168.3.1
RPF prime neighbor: 192.168.3.1
Downstream interface information:
Total number of downstream interfaces: 1
1: GigabitEthernet1/0/1
Protocol: igmp, UpTime: 00:13:25, Expires: -
· 核心網絡中運行PIM-DM,末梢網絡中的接收者Host A和Host C通過組播組224.1.1.1點播視頻節目。
· 要求通過在Router B上配置IGMP代理,使其在不運行PIM-DM的情況下實現組成員關係的維護和組播數據的正常轉發。
圖1-7 IGMP代理配置組網圖
(1) 配置IP地址
請按照圖1-7配置各接口的IP地址和子網掩碼,具體配置過程略。
(2) 使能IP組播路由,並使能PIM-DM、IGMP和IGMP代理
# 在Router A上使能IP組播路由,在接口GigabitEthernet1/0/2上使能PIM-DM,並在接口GigabitEthernet1/0/1上使能IGMP。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim dm
[RouterA-GigabitEthernet1/0/2] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] igmp enable
[RouterA-GigabitEthernet1/0/1] quit
# 在Router B上使能IP組播路由,在接口GigabitEthernet1/0/1上使能IGMP代理,並在接口GigabitEthernet1/0/2上使能IGMP。
<RouterB> system-view
[RouterB] multicast routing
[RouterB-mrib] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] igmp proxy enable
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] igmp enable
[RouterB-GigabitEthernet1/0/2] quit
# 在Router B上顯示IGMP代理記錄的所有組播組信息。
[RouterB] display igmp proxy group
IGMP proxy group records in total: 1
GigabitEthernet1/0/1(192.168.1.2):
IGMP proxy group records in total: 1
Group address Member state Expires
224.1.1.1 Delay 00:00:02
· 運行OSPF協議的PIM-SM網絡中有三個組播源Source 1、Source 2和Source 3,依次向組播組224.1.1.1、225.1.1.1和226.1.1.1發送組播數據。Router A的接口GigabitEthernet1/0/2為C-BSR和C-RP,服務於所有組播組。
· Router A作為BRAS設備,將兩個ISP的用戶接入PIM-SM網絡。要求通過配置可控組播功能,使ISP 1的用戶隻能加入組播組224.1.1.1和225.1.1.1,ISP 2的用戶隻能加入組播組225.1.1.1和226.1.1.1。
圖1-8 PPPoE接入可控組播配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Source 1 |
- |
10.100.1.1/24 |
Host A |
- |
192.168.1.2/24 |
Source 2 |
- |
10.100.2.1/24 |
Host B |
- |
192.168.1.3/24 |
Source 3 |
- |
10.100.3.1/24 |
Host C |
- |
192.168.2.2/24 |
RADIUS server |
- |
11.110.4.2/24 |
Host D |
- |
192.168.2.3/24 |
Router B |
GE1/0/1 |
11.110.1.2/24 |
Router A |
GE1/0/1 |
11.110.1.1/24 |
|
GE1/0/2 |
10.100.1.2/24 |
|
GE1/0/2 |
11.110.2.1/24 |
Router C |
GE1/0/1 |
11.110.2.2/24 |
|
GE1/0/3 |
11.110.3.1/24 |
|
GE1/0/2 |
10.100.2.2/24 |
|
GE1/0/4 |
11.110.4.1/24 |
Router D |
GE1/0/1 |
11.110.3.2/24 |
|
GE1/0/5.1 |
192.168.1.1/24 |
|
GE1/0/2 |
10.100.3.2/24 |
|
GE1/0/5.2 |
192.168.2.1/24 |
(1) 配置IP地址和單播路由協議
請按照圖1-8配置各接口的IP地址和子網掩碼,並在PIM-SM域內的各路由器上配置OSPF協議,具體配置過程略。
(2) 使能IP組播路由,並配置PIM-SM
# 在Router A上使能IP組播路由,並在接口GigabitEthernet1/0/1~GigabitEthernet1/0/3上使能PIM-SM。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pim sm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim sm
[RouterA-GigabitEthernet1/0/2] quit
[RouterA] interface gigabitethernet 1/0/3
[RouterA-GigabitEthernet1/0/3] pim sm
[RouterA-GigabitEthernet1/0/3] quit
# 在Router B上使能IP組播路由,並在各接口上使能PIM-SM。
<RouterB> system-view
[RouterB] multicast routing
[RouterB-mrib] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] pim sm
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] pim sm
[RouterB-GigabitEthernet1/0/2] quit
Router C和Router D的配置與Router B相似,配置過程略。
# 將Router A的接口GigabitEthernet1/0/2配置為C-BSR和C-RP。
[RouterA] pim
[RouterA-pim] c-bsr 11.110.2.1
[RouterA-pim] c-rp 11.110.2.1
[RouterA-pim] quit
(3) 在BRAS設備上配置接入業務
# 配置RADIUS客戶端。
[RouterA] radius scheme spec
[RouterA-radius-spec] primary authentication 11.110.4.2 key simple 123456
[RouterA-radius-spec] primary accounting 11.110.4.2 key simple 123456
[RouterA-radius-spec] user-name-format without-domain
[RouterA-radius-spec] nas-ip 11.110.4.1
[RouterA-radius-spec] quit
# 創建ISP域,並配置業務類型和接入方式。
[RouterA] domain isp1
[RouterA-isp-isp1] service-type stb
[RouterA-isp-isp1] authentication ppp radius-scheme spec
[RouterA-isp-isp1] authorization ppp radius-scheme spec
[RouterA-isp-isp1] accounting ppp radius-scheme spec
[RouterA-isp-isp1] quit
[RouterA] domain isp2
[RouterA-isp-isp2] service-type stb
[RouterA-isp-isp2] authentication ppp radius-scheme spec
[RouterA-isp-isp2] authorization ppp radius-scheme spec
[RouterA-isp-isp2] accounting ppp radius-scheme spec
[RouterA-isp-isp2] quit
# 創建虛擬模板接口,並為其配置IP地址和PPPoE認證方式。
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] ip address 2.1.1.1 255.255.255.0
[RouterA-Virtual-Template1] ppp authentication-mode pap domain isp1
[RouterA-Virtual-Template1] quit
[RouterA] interface virtual-template 2
[RouterA-Virtual-Template2] ip address 2.1.2.1 255.255.255.0
[RouterA-Virtual-Template2] ppp authentication-mode pap domain isp2
[RouterA-Virtual-Template2] quit
# 在用戶的接入接口GigabitEthernet1/0/5.1和GigabitEthernet1/0/5.2上分別配置VLAN終結,並綁定虛擬模板接口。
[RouterA] interface gigabitethernet 1/0/5.1
[RouterA-GigabitEthernet1/0/5.1] vlan-type dot1q vid 1 second-dot1q 1 to 100
[RouterA-GigabitEthernet1/0/5.1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet1/0/5.1] quit
[RouterA] interface gigabitethernet 1/0/5.2
[RouterA-GigabitEthernet1/0/5.2] vlan-type dot1q vid 2 second-dot1q 1 to 100
[RouterA-GigabitEthernet1/0/5.2] pppoe-server bind virtual-template 2
[RouterA-GigabitEthernet1/0/5.2] quit
(4) 在BRAS設備上配置可控組播
# 在虛擬模板接口上使能IGMP和可控組播功能。
[RouterA] interface virtual-template 1
[RouterA-Virtual-Template1] igmp enable
[RouterA-Virtual-Template1] igmp authorization-enable
[RouterA-Virtual-Template1] quit
[RouterA] interface virtual-template 2
[RouterA-Virtual-Template2] igmp enable
[RouterA-Virtual-Template2] igmp authorization-enable
[RouterA-Virtual-Template2] quit
# 配置IGMP用戶的接入策略。
[RouterA] acl basic 2000
[RouterA-acl-ipv4-basic-2000] rule permit source 224.1.1.1 0
[RouterA-acl-ipv4-basic-2000] rule permit source 225.1.1.1 0
[RouterA-acl-ipv4-basic-2000] quit
[RouterA] user-profile profile1
[RouterA-user-profile-profile1] igmp access-policy 2000
[RouterA-user-profile-profile1] quit
[RouterA] domain isp1
[RouterA-isp-isp1] authorization-attribute user-profile profile1
[RouterA-isp-isp1] quit
[RouterA] acl basic 2001
[RouterA-acl-ipv4-basic-2001] rule permit source 225.1.1.1 0
[RouterA-acl-ipv4-basic-2001] rule permit source 226.1.1.1 0
[RouterA-acl-ipv4-basic-2001] quit
[RouterA] user-profile profile2
[RouterA-user-profile-profile2] igmp access-policy 2001
[RouterA-user-profile-profile2] quit
[RouterA] domain isp2
[RouterA-isp-isp2] authorization-attribute user-profile profile2
[RouterA-isp-isp2] quit
# 假設Host A和Host C兩個用戶已上線,此時在Router A上可顯示IGMP用戶的授權信息。
[RouterA] display igmp user-authorization
Authorized users in total: 2
User name: user1@isp1
Access type: PPP
Interface: Virtual-Access0
Access interface: Virtual-Access0
Maximum programs for order: 4
User profile: profile1
Authorized programs list:
User name: user1@isp2
Access type: PPP
Interface: Virtual-Access1
Access interface: Virtual-Access1
Maximum programs for order: 4
User profile: profile2
Authorized programs list:
· 運行OSPF協議的PIM-SM網絡中有三個組播源Source 1、Source 2和Source 3,依次向組播組224.1.1.1、225.1.1.1和226.1.1.1發送組播數據。Router A的接口GigabitEthernet1/0/2為C-BSR和C-RP,服務於所有組播組。
· Router A作為BRAS設備,將兩個ISP的用戶接入PIM-SM網絡。要求通過配置可控組播功能,使ISP 1的用戶隻能加入組播組224.1.1.1和225.1.1.1,ISP 2的用戶隻能加入組播組225.1.1.1和226.1.1.1。
圖1-9 Portal接入可控組播配置組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Source 1 |
- |
10.100.1.1/24 |
Host A |
- |
192.168.1.2/24 |
Source 2 |
- |
10.100.2.1/24 |
Host B |
- |
192.168.1.3/24 |
Source 3 |
- |
10.100.3.1/24 |
Host C |
- |
192.168.2.2/24 |
RADIUS server |
- |
11.110.4.2/24 |
Host D |
- |
192.168.2.3/24 |
iMC server |
- |
11.110.5.2/24 |
Router A |
GE1/0/1 |
11.110.1.1/24 |
Router B |
GE1/0/1 |
11.110.1.2/24 |
|
GE1/0/2 |
11.110.2.1/24 |
|
GE1/0/2 |
10.100.1.2/24 |
|
GE1/0/3 |
11.110.3.1/24 |
Router C |
GE1/0/1 |
11.110.2.2/24 |
|
GE1/0/4 |
11.110.4.1/24 |
|
GE1/0/2 |
10.100.2.2/24 |
|
GE1/0/5 |
192.168.2.1/24 |
Router D |
GE1/0/1 |
11.110.3.2/24 |
|
GE1/0/6 |
192.168.1.1/24 |
|
GE1/0/2 |
10.100.3.2/24 |
|
|
|
(1) 配置IP地址和單播路由協議
請按照圖1-9配置各接口的IP地址和子網掩碼,並在PIM-SM域內的各路由器上配置OSPF協議,具體配置過程略。
(2) 使能IP組播路由,並配置PIM-SM
# 在Router A上使能IP組播路由,並在接口GigabitEthernet1/0/1~GigabitEthernet1/0/3上使能PIM-SM。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] pim sm
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface gigabitethernet 1/0/2
[RouterA-GigabitEthernet1/0/2] pim sm
[RouterA-GigabitEthernet1/0/2] quit
[RouterA] interface gigabitethernet 1/0/3
[RouterA-GigabitEthernet1/0/3] pim sm
[RouterA-GigabitEthernet1/0/3] quit
# 在Router B上使能IP組播路由,並在各接口上使能PIM-SM。
<RouterB> system-view
[RouterB] multicast routing
[RouterB-mrib] quit
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] pim sm
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] interface gigabitethernet 1/0/2
[RouterB-GigabitEthernet1/0/2] pim sm
[RouterB-GigabitEthernet1/0/2] quit
Router C和Router D的配置與Router B相似,配置過程略。
# 將Router A的接口GigabitEthernet1/0/2配置為C-BSR和C-RP。
[RouterA] pim
[RouterA-pim] c-bsr 11.110.2.1
[RouterA-pim] c-rp 11.110.2.1
[RouterA-pim] quit
(3) 在BRAS設備上配置接入業務
# 配置RADIUS客戶端。
[RouterA] radius scheme spec
[RouterA-radius-spec] primary authentication 11.110.4.2 key simple 123456
[RouterA-radius-spec] primary accounting 11.110.4.2 key simple 123456
[RouterA-radius-spec] user-name-format without-domain
[RouterA-radius-spec] nas-ip 11.110.4.1
[RouterA-radius-spec] quit
# 配置Portal客戶端。
[RouterA] portal web-server spec
[RouterA-portal-websvr-spec] url https://10.110.5.2:8080/portal
[RouterA-portal-websvr-spec] url-parameter user-ip source-address
[RouterA-portal-websvr-spec] quit
[RouterA] portal server spec
[RouterA-portal-server-spec] ip 10.110.5.2 key simple 123456
[RouterA-portal-websvr-spec] quit
# 創建ISP域,並配置業務類型和接入方式。
[RouterA] domain isp1
[RouterA-isp-isp1] service-type stb
[RouterA-isp-isp1] authentication portal radius-scheme spec
[RouterA-isp-isp1] authorization portal radius-scheme spec
[RouterA-isp-isp1] accounting portal radius-scheme spec
[RouterA-isp-isp1] quit
[RouterA] domain isp2
[RouterA-isp-isp2] service-type stb
[RouterA-isp-isp2] authentication portal radius-scheme spec
[RouterA-isp-isp2] authorization portal radius-scheme spec
[RouterA-isp-isp2] accounting portal radius-scheme spec
[RouterA-isp-isp2] quit
# 在用戶的接入接口GigabitEthernet1/0/5和GigabitEthernet1/0/6上分別配置Portal服務。
[RouterA] interface gigabitethernet 1/0/5
[RouterA-GigabitEthernet1/0/5] portal enable method direct
[RouterA-GigabitEthernet1/0/5] portal domain isp2
[RouterA-GigabitEthernet1/0/5] portal apply web-server spec
[RouterA-GigabitEthernet1/0/5] quit
[RouterA] interface gigabitethernet 1/0/6
[RouterA-GigabitEthernet1/0/6] portal enable method direct
[RouterA-GigabitEthernet1/0/6] portal domain isp1
[RouterA-GigabitEthernet1/0/6] portal apply web-server spec
[RouterA-GigabitEthernet1/0/6] quit
(4) 在BRAS設備上配置可控組播
# 在子接口上使能IGMP和可控組播功能,並配置按會話記錄用戶加入的組播組。
[RouterA] interface gigabitethernet 1/0/5
[RouterA-GigabitEthernet1/0/5] igmp enable
[RouterA-GigabitEthernet1/0/5] igmp authorization-enable
[RouterA-GigabitEthernet1/0/5] igmp join-by-session
[RouterA-GigabitEthernet1/0/5] quit
[RouterA] interface gigabitethernet 1/0/6
[RouterA-GigabitEthernet1/0/6] igmp enable
[RouterA-GigabitEthernet1/0/6] igmp authorization-enable
[RouterA-GigabitEthernet1/0/6] igmp join-by-session
[RouterA-GigabitEthernet1/0/6] quit
# 配置IGMP用戶的接入策略。
[RouterA] acl basic 2000
[RouterA-acl-ipv4-basic-2000] rule permit source 224.1.1.1 0
[RouterA-acl-ipv4-basic-2000] rule permit source 225.1.1.1 0
[RouterA-acl-ipv4-basic-2000] quit
[RouterA] user-profile profile1
[RouterA-user-profile-profile1] igmp access-policy 2000
[RouterA-user-profile-profile1] quit
[RouterA] domain isp1
[RouterA-isp-isp1] authorization-attribute user-profile profile1
[RouterA-isp-isp1] quit
[RouterA] acl basic 2001
[RouterA-acl-ipv4-basic-2001] rule permit source 225.1.1.1 0
[RouterA-acl-ipv4-basic-2001] rule permit source 226.1.1.1 0
[RouterA-acl-ipv4-basic-2001] quit
[RouterA] user-profile profile2
[RouterA-user-profile-profile2] igmp access-policy 2001
[RouterA-user-profile-profile2] quit
[RouterA] domain isp2
[RouterA-isp-isp2] authorization-attribute user-profile profile2
[RouterA-isp-isp2] quit
# 假設Host A和Host C兩個用戶已上線,此時在Router A上可顯示IGMP用戶的授權信息。
[RouterA] display igmp user-authorization
Authorized users in total: 2
User name: user1@isp1
Access type: Portal
Interface: Multicast-UA1
Access interface: GigabitEthernet1/0/6
Maximum programs for order: 4
User profile: profile1
Authorized programs list:
User name: user1@isp2
Access type: Portal
Interface: Multicast-UA2
Access interface: GigabitEthernet1/0/5
Maximum programs for order: 4
User profile: profile2
Authorized programs list:
當某主機發送了加入組播組G的報文後,離該主機最近的設備上卻沒有組播組G的組成員信息。
· 組網、接口連線的正確與否以及接口的協議層是否up將直接影響組播組成員信息的生成;
· 在設備上必須使能IP組播路由,在連接主機的接口上必須使能IGMP;
· 如果路由器接口上運行的IGMP版本比主機的低,那麼設備將無法識別主機發來的較高版本的IGMP報告報文;
· 如果在接口上使用命令igmp group-policy對加入組播組G進行了限製後,該接口將不再接收未通過過濾的那些要求加入組播組G的報文。
(1) 檢查組網是否正確,接口間的連線是否正確,以及接口狀態是否正常,是否配置了正確的IP地址。通過命令display igmp interface查看接口信息。若無接口信息輸出,說明接口狀態異常,原因通常是接口上配置了shutdown命令,或者接口連線不正確,或者接口上沒有配置正確的IP地址。
(2) 檢查是否使能了組播路由。通過命令display current-configuration查看是否配置了命令multicast routing。若缺少該配置,則需要在係統視圖下執行命令multicast routing使能IP組播路由,同時也需要在相應接口上使能IGMP。
(3) 檢查接口上運行的IGMP版本。通過命令display igmp interface來檢查接口上運行的IGMP版本是否低於主機所使用的版本。
(4) 檢查接口上是否配置了ACL規則來限製主機加入組播組G。通過命令display current-configuration interface觀察是否配置了igmp group-policy命令。如果配置的ACL規則對加入組播組G進行了限製,則需要修改該ACL規則,允許接受組播組G的報告報文。
在同一網段的不同IGMP設備上,各自維護的組成員關係不一致。
· 運行IGMP的設備為每個接口維護多個參數,各參數之間相互影響,非常複雜。如果同一網段設備的IGMP接口參數配置不一致,必然導致組成員關係的混亂;
· 另外,IGMP目前有3個版本,版本不同的IGMP設備與主機之間雖然可以部分兼容,但是連接在同一網段的所有設備必須運行相同版本的IGMP。如果同一網段設備的IGMP版本不一致,也將導致IGMP組成員關係的混亂。
(1) 檢查IGMP配置。通過命令display current-configuration觀察接口上IGMP的配置信息。
(2) 在同一網段的所有設備上執行命令display igmp interface來檢查IGMP相關定時器的參數,確保配置一致。
(3) 通過命令display igmp interface來檢查各設備上運行的IGMP版本是否一致。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!