06-IGMP配置
本章節下載: 06-IGMP配置 (486.85 KB)
目 錄
· 本文所涉及的路由器和路由器圖標,代表了一般意義下的路由器或路由交換機。
· 設備支持兩種運行模式:獨立運行模式和IRF模式,缺省情況下為獨立運行模式。有關IRF模式的介紹,請參見“IRF配置指導”中的“IRF”。
IGMP(Internet Group Management Protocol,互聯網組管理協議)是TCP/IP協議族中負責IP組播成員管理的協議,用來在IP主機和與其直接相鄰的組播路由器之間建立、維護組播組成員關係。
到目前為止,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成員關係報告報文(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查詢器(Router B)維護組播組成員關係的基本過程如下:
主機會主動向其要加入的組播組發送IGMP成員關係報告報文以聲明加入,而不必等待IGMP查詢器發來的IGMP查詢報文;
IGMP查詢器周期性地以組播方式向本地網段內的所有主機與路由器發送IGMP查詢報文(目的地址為224.0.0.1);
在收到該查詢報文後,關注G1的Host B與Host C其中之一(這取決於誰的延遲定時器先超時)——譬如Host B會首先以組播方式向G1發送IGMP成員關係報告報文,以宣告其屬於G1。由於本地網段中的所有主機和路由器都能收到Host B發往G1的報告報文,因此當Host C收到該報告報文後,將不再發送同樣針對G1的報告報文,因為IGMP路由器(Router A和Router B)已知道本地網段中有對G1感興趣的主機了。這個機製稱為主機上的IGMP成員關係報告抑製機製,該機製有助於減少本地網段的信息流量;
與此同時,由於Host A關注的是G2,所以它仍將以組播方式向G2發送報告報文,以宣告其屬於G2;
經過以上的查詢和響應過程,IGMP路由器了解到本地網段中有G1和G2的成員,於是由組播路由協議(如PIM)生成(*,G1)和(*,G2)組播轉發項作為組播數據的轉發依據,其中的“*”代表任意組播源;
當由組播源發往G1或G2的組播數據經過組播路由到達IGMP路由器時,由於IGMP路由器上存在(*,G1)和(*,G2)組播轉發項,於是將該組播數據轉發到本地網段,接收者主機便能收到該組播數據了。
IGMPv1沒有專門定義離開組播組的報文。當運行IGMPv1的主機離開某組播組時,將不會向其要離開的組播組發送報告報文。當網段中不再存在該組播組的成員後,IGMP路由器將收不到任何發往該組播組的報告報文,於是IGMP路由器在一段時間之後便刪除該組播組所對應的組播轉發項。
與IGMPv1相比,IGMPv2增加了查詢器選舉機製和離開組機製。
在IGMPv1中,當某共享網段上存在多個組播路由器時,由組播路由協議(如PIM)選舉的指定路由器充當查詢器。
在IGMPv2中,增加了獨立的查詢器選舉機製,其選舉過程如下:
所有IGMPv2路由器在初始時都認為自己是查詢器,並向本地網段內的所有主機和路由器發送IGMP普遍組查詢(General Query)報文(目的地址為224.0.0.1);
本地網段中的其它IGMPv2路由器在收到該報文後,將報文的源IP地址與自己的接口地址作比較。通過比較,IP地址最小的路由器將成為查詢器,其它路由器成為非查詢器(Non-Querier);
所有非查詢器上都會啟動一個定時器(即其它查詢器存在時間定時器Other Querier Present Timer)。在該定時器超時前,如果收到了來自查詢器的IGMP查詢報文,則重置該定時器;否則,就認為原查詢器失效,並發起新的查詢器選舉過程。
在IGMPv1中,主機離開組播組時不會向組播路由器發出任何通知,導致組播路由器隻能依靠組播組成員查詢的響應超時來獲知組播組成員的離開。
而在IGMPv2中,當一個主機離開某組播組時:
該主機向本地網段內的所有組播路由器(目的地址為224.0.0.2)發送離開組(Leave Group)報文;
當查詢器收到該報文後,向該主機所聲明要離開的那個組播組發送特定組查詢(Group-Specific Query)報文(目的地址字段和組地址字段均填充為所要查詢的組播組地址);
如果該網段內還有該組播組的其它成員,則這些成員在收到特定組查詢報文後,會在該報文中所設定的最大響應時間(Max Response Time)內發送成員關係報告報文;
如果在最大響應時間內收到了該組播組其它成員發送的成員關係報告報文,查詢器就會繼續維護該組播組的成員關係;否則,查詢器將認為該網段內已無該組播組的成員,於是不再維護這個組播組的成員關係。
目前,設備支持INCLUDE模式,不支持EXCLUDE模式。下文中的有關EXCLUDE模式的說明,僅供參考學習。
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組播服務,則需在Router A上使能IGMP SSM Mapping並配置相應的映射規則。
配置完成後,當Router A收到來自主機的IGMPv1或IGMPv2報告報文時,首先檢查該報文中所攜帶的組播組地址G,然後根據檢查結果的不同分別進行處理:
如果G不在SSM組地址範圍內,則提供ASM組播服務。
如果G在SSM組地址範圍內:
· 若Router A上沒有G對應的IGMP SSM Mapping規則,則無法提供SSM組播服務,丟棄該報文;
· 若Router A上有G對應的IGMP SSM Mapping規則,則依據規則將報告報文中所包含的(*,G)信息映射為(G,INCLUDE,(S1,S2...))信息,可以提供SSM組播服務。
· IGMP SSM Mapping不對IGMPv3的報告報文進行處理。
· 有關SSM組地址範圍的介紹,請參見“IP組播配置指導”中的“PIM”。
在一些簡單的樹型網絡拓撲中,邊緣設備上並不需要運行複雜的組播路由協議(如PIM),可以通過在這些設備上配置IGMP Proxying(IGMP代理)功能,使其代理下遊主機來發送IGMP報文及維護組成員關係,並基於該關係進行組播轉發。在上遊設備看來,配置了IGMP Proxying功能的設備(稱為IGMP代理設備)不再是一個PIM鄰居,而隻是一台主機。
如圖1-4所示,IGMP Proxying中定義了以下兩種接口類型:
· 上行接口:又稱代理接口,指IGMP代理設備上運行IGMP Proxying功能的接口,即朝向組播分發樹樹根方向的接口。由於該接口執行IGMP協議的主機行為,因此也稱為主機接口(Host Interface)。
· 下行接口:指IGMP代理設備上除上行接口外其它運行IGMP協議的接口,即背向組播分發樹樹根方向的接口。由於該接口執行IGMP協議的路由器行為,因此也稱為路由器接口(Router Interface)。
IGMP代理設備上維護著一個組成員關係數據庫(Membership Database),將所有下行接口維護的組成員關係記錄都存到這個數據庫中。組成員關係記錄的結構如下:(Multicast-address,Filter-mode,Source-list),每條記錄都是各下行接口上具有相同組地址的成員關係記錄的合集。
上行接口正是依據這個數據庫來執行主機行為——當收到查詢報文時根據當前數據庫狀態響應報告報文,或者當數據庫變化時主動發送報告或離開報文;而下行接口則執行路由器行為——參與查詢器的選舉、發送查詢報文並根據報告報文維護組成員關係等。
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
· RFC 4605:Internet Group Management Protocol (IGMP) / Multicast Listener Discovery (MLD)-Based Multicast Forwarding ("IGMP/MLD Proxying")
表1-1 IGMP配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
配置IGMP基本功能 |
使能IGMP |
必選 |
|
配置IGMP版本 |
可選 |
||
配置靜態加入 |
可選 |
||
配置組播組過濾器 |
可選 |
||
配置接口加入的組播組最大數量 |
可選 |
||
調整IGMP性能 |
配置IGMP報文選項 |
可選 |
|
配置IGMP查詢和響應 |
可選 |
||
配置IGMP快速離開 |
可選 |
||
配置IGMP主機跟蹤功能 |
可選 |
||
配置IGMP SSM Mapping |
使能IGMP SSM Mapping |
可選 |
|
配置IGMP SSM Mapping規則 |
可選 |
||
配置IGMP Proxying |
使能IGMP Proxying |
可選 |
|
配置下行接口的組播轉發能力 |
可選 |
· IGMP視圖下的配置具有全局性,接口視圖下的配置僅對所在接口有效。
· 若沒有在接口視圖下進行配置,則該接口繼承IGMP視圖下的全局配置;若兩個視圖都進行了配置,則優先采用該接口視圖下所作的配置。
在配置IGMP基本功能之前,需完成以下任務:
· 配置任一單播路由協議,實現域內網絡層互通
· 配置PIM-DM(或PIM-SM)
在配置IGMP基本功能之前,需準備以下數據:
· IGMP的版本
· 以靜態方式加入的組播組和組播源的地址
· 組播組過濾的ACL規則
· 接口加入的組播組最大數量
在需要建立和維護組播組成員關係的接口上使能IGMP。
表1-2 使能公網實例中的IGMP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能IP組播路由 |
multicast routing-enable |
必選 缺省情況下,IP組播路由處於關閉狀態 |
進入接口視圖 |
interface interface-type interface-number |
- |
使能IGMP |
igmp enable |
必選 缺省情況下,IGMP處於關閉狀態 |
表1-3 使能VPN實例中的IGMP
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建VPN實例,並進入VPN實例視圖 |
ip vpn-instance vpn-instance-name |
- |
配置VPN實例的RD |
route-distinguisher route-distinguisher |
必選 缺省情況下,VPN實例沒有RD |
使能IP組播路由 |
multicast routing-enable |
必選 缺省情況下,IP組播路由處於關閉狀態 |
進入接口視圖 |
interface interface-type interface-number |
- |
將接口與VPN實例進行關聯 |
ip binding vpn-instance vpn-instance-name |
必選 缺省情況下,接口隻屬於公網,未與任何VPN實例關聯 |
使能IGMP |
igmp enable |
必選 缺省情況下,IGMP處於關閉狀態 |
· 有關ip vpn-instance、route-distinguisher和ip binding vpn-instance命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS L3VPN”。
· 有關multicast routing-enable命令的詳細介紹,請參見“IP組播命令參考”中的“組播路由與轉發”。
由於不同版本IGMP協議的報文結構與種類不同,因此需要為同一網段上的所有路由器配置相同版本的IGMP,否則IGMP將不能正常運行。
表1-4 全局配置IGMP版本
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例IGMP視圖 |
igmp [ vpn-instance vpn-instance-name ] |
- |
配置IGMP的版本 |
version version-number |
必選 缺省情況下,IGMP的版本為IGMPv2 |
表1-5 在接口上配置IGMP版本
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置IGMP的版本 |
igmp version version-number |
必選 缺省情況下,IGMP的版本為IGMPv2 |
在配置了靜態加入組播組或組播源組後,接口將作為該組播組的虛擬組成員存在,從而可以接收發往該組的組播數據,以測試組播數據的轉發。
表1-6 配置靜態加入
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置靜態加入組播組或組播源組 |
igmp static-group group-address [ source source-address ] |
必選 缺省情況下,接口沒有以靜態方式加入任何組播組或組播源組 |
· 配置靜態加入時,如果待配接口上同時使能了IGMP和PIM-SM,則該接口必須為PIM-SM的DR,否則該接口將不能加入組播組或組播源組;如果待配接口上使能了IGMP但未使能PIM-SM,則該接口必須為IGMP查詢器,否則該接口也不能加入組播組或組播源組。有關PIM-SM和DR的介紹,請參見“IP組播配置指導”中的“PIM”。
· 在配置了靜態加入後,接口並不會對IGMP查詢器發出的查詢報文進行響應;當配置靜態加入或取消靜態加入的配置時,接口也不會主動發送IGMP成員關係報告報文或IGMP離開組報文。也就是說,該接口並沒有真正成為該組播組的成員。
如果不希望接口所在網段上的主機加入某些組播組,可在該接口上配置ACL規則作為過濾器,接口將按照該規則對收到的IGMP成員關係報告報文進行過濾,隻為該規則所允許的組播組維護組成員關係。
表1-7 配置組播組過濾器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置組播組過濾器 |
igmp group-policy acl-number [ version-number ] |
必選 缺省情況下,接口上沒有配置組播組過濾器,即該接口下的主機可以加入任意合法的組播組 |
通過配置接口加入的組播組最大數量,可以方便用戶靈活控製接口所能加入的組播組數量。
表1-8 配置接口加入的組播組最大數量
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口加入的組播組最大數量 |
igmp group-limit limit |
必選 缺省情況下,接口加入的組播組最大數量為1024 |
本配置隻限製接口動態加入的組播組數量,而不限製其靜態加入的組播組數量。
對於本節中的配置任務來說:
· 在IGMP視圖下所作的配置對所有接口生效,在接口視圖下所作的配置僅對當前接口生效;
· 如果在這兩個視圖下進行了相同功能或參數的配置,則不論配置先後,接口視圖下的配置將被優先采用。
在調整IGMP性能之前,需完成以下任務:
· 配置任一單播路由協議,實現域內網絡層互通
· 配置IGMP基本功能
在調整IGMP性能之前,需準備以下數據:
· IGMP查詢器的啟動查詢間隔
· IGMP查詢器的啟動查詢次數
· 發送IGMP普遍組查詢報文的時間間隔
· IGMP查詢器的健壯係數
· IGMP普遍組查詢的最大響應時間
· 最後組成員查詢間隔
· IGMP其它查詢器的存在時間
由於IGMP特定組查詢報文和IGMP特定源組查詢報文的存在,而組播組是千變萬化的,設備不可能加入所有的組,因此IGMP需要借助Router-Alert(路由器報警)選項來將送達本地、但沒有加入的組播報文送往上層協議進行處理。有關Router-Alert選項的詳細介紹,請參考RFC 2113。
對於IP頭中是否攜帶Router-Alert選項的IGMP報文,設備會做出不同的處理:
· 出於兼容性考慮,缺省情況下設備不對Router-Alert選項進行檢查,即處理所有收到的IGMP報文。此時,IGMP報文中無論是否攜帶有Router-Alert選項,設備都會將其送給上層協議進行處理。
· 為了提高設備性能、減少不必要的開支,同時出於協議安全性的考慮,可以配置設備丟棄未攜帶Router-Alert選項的IGMP報文,此時,當設備收到IGMP報文時,會檢查該報文的Router-Alert選項,如果沒有攜帶該選項,就丟棄該報文。
表1-9 全局配置IGMP報文選項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例IGMP視圖 |
igmp [ vpn-instance vpn-instance-name ] |
- |
配置丟棄未攜帶Router-Alert選項的IGMP報文 |
require-router-alert |
必選 缺省情況下,設備不對Router-Alert選項進行檢查 |
配置在發送的IGMP報文中攜帶Router-Alert選項 |
send-router-alert |
必選 缺省情況下,在發送的IGMP報文中攜帶Router-Alert選項 |
表1-10 在接口上配置IGMP報文選項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置丟棄未攜帶Router-Alert選項的IGMP報文 |
igmp require-router-alert |
必選 缺省情況下,設備不對Router-Alert選項進行檢查 |
配置在發送的IGMP報文中攜帶Router-Alert選項 |
igmp send-router-alert |
必選 缺省情況下,在發送的IGMP報文中攜帶Router-Alert選項 |
IGMP查詢器的健壯係數是為了彌補可能發生的網絡丟包而設置的報文重傳次數,健壯係數越大,IGMP查詢器就越“健壯”,但是組播組超時所需的時間也就越長。
當IGMPv1/v2/v3查詢器啟動時,會以“IGMP查詢器啟動查詢間隔”為時間間隔發送“IGMP查詢器啟動查詢次數”次IGMP普遍組查詢報文。
IGMPv1/v2/v3查詢器會周期性地發送IGMP普遍組查詢報文,以判斷網絡上是否有組播組成員,發送間隔即為“發送IGMP普遍組查詢報文的時間間隔”。可以根據網絡的實際情況來修改周期性發送IGMP普遍組查詢報文的時間間隔。
當IGMPv2查詢器收到IGMP離開組報文後,會以“最後組成員查詢間隔”為時間間隔發送“最後組成員查詢次數”次IGMP特定組查詢報文;當IGMPv3查詢器收到改變組播組與組播源列表關係的IGMP報告報文後,也會以“最後組成員查詢間隔”為時間間隔發送“最後組成員查詢次數”次IGMP特定源組查詢報文。最後組成員查詢次數在數值上等於IGMP查詢器的健壯係數。
在收到IGMP查詢報文(包括普遍組查詢、特定組查詢和特定源組查詢)後,主機會為其所加入的每個組播組都啟動一個延遲定時器,其值在0到最大響應時間(該時間值從IGMP查詢報文的最大響應時間字段獲得)中隨機選定,當定時器的值減為0時,主機就會向該定時器對應的組播組發送IGMP成員關係報告報文。
合理配置IGMP查詢的最大響應時間,既可以使主機對IGMP查詢報文做出快速響應,又可以減少由於定時器同時超時,造成大量主機同時發送報告報文而引起的網絡擁塞:
· 對於IGMP普遍組查詢報文來說,通過配置IGMP普遍組查詢的最大響應時間來填充其最大響應時間字段;
· 對於IGMP特定組查詢報文和IGMP特定源組查詢報文來說,所配置的最後組成員查詢間隔將被填充到其最大響應時間字段。也就是說,IGMP特定組查詢和IGMP特定源組查詢的最大響應時間在數值上等於最後組成員查詢間隔。
當同一網段上有多台組播路由器時,由IGMP查詢器負責發送IGMP查詢報文。如果非查詢器在“其它查詢器存在時間”超時前沒有收到來自查詢器的IGMP查詢報文,就會認為原有查詢器失效,從而觸發新的查詢器選舉過程;否則,非查詢器將重置“其它查詢器存在時間定時器”。
表1-11 全局配置IGMP查詢和響應
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例IGMP視圖 |
igmp [ vpn-instance vpn-instance-name ] |
- |
配置IGMP查詢器的健壯係數 |
robust-count robust-value |
必選 缺省情況下,IGMP查詢器的健壯係數為2 |
配置IGMP查詢器的啟動查詢間隔 |
startup-query-interval interval |
必選 缺省情況下,IGMP查詢器的啟動查詢間隔為發送IGMP普遍組查詢報文時間間隔的1/4 |
配置IGMP查詢器的啟動查詢次數 |
startup-query-count value |
必選 缺省情況下,IGMP查詢器的啟動查詢次數等於IGMP查詢器的健壯係數 |
配置發送IGMP普遍組查詢報文的時間間隔 |
timer query interval |
必選 缺省情況下,發送IGMP普遍組查詢報文的時間間隔為60秒 |
配置IGMP普遍組查詢的最大響應時間 |
max-response-time interval |
必選 缺省情況下,IGMP普遍組查詢的最大響應時間為10秒 |
配置最後組成員查詢間隔 |
last-member-query-interval interval |
必選 缺省情況下,最後組成員查詢間隔為1秒 |
配置IGMP其它查詢器的存在時間 |
timer other-querier-present interval |
必選 缺省情況下,IGMP其它查詢器的存在時間=發送IGMP普遍組查詢報文的時間間隔×IGMP查詢器的健壯係數+IGMP普遍組查詢的最大響應時間÷2 |
表1-12 在接口上配置IGMP查詢和響應
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置IGMP查詢器的健壯係數 |
igmp robust-count robust-value |
必選 缺省情況下,IGMP查詢器的健壯係數為2 |
配置IGMP查詢器的啟動查詢間隔 |
igmp startup-query-interval interval |
必選 缺省情況下,IGMP查詢器的啟動查詢間隔為發送IGMP普遍組查詢報文時間間隔的1/4 |
配置IGMP查詢器的啟動查詢次數 |
igmp startup-query-count value |
必選 缺省情況下,IGMP查詢器的啟動查詢次數等於IGMP查詢器的健壯係數 |
配置發送IGMP普遍組查詢報文的時間間隔 |
igmp timer query interval |
必選 缺省情況下,發送IGMP普遍組查詢報文的時間間隔為60秒 |
配置IGMP普遍組查詢的最大響應時間 |
igmp max-response-time interval |
必選 缺省情況下,IGMP普遍組查詢的最大響應時間為10秒 |
配置最後組成員查詢間隔 |
igmp last-member-query-interval interval |
必選 缺省情況下,最後組成員查詢間隔為1秒 |
配置IGMP其它查詢器的存在時間 |
igmp timer other-querier-present interval |
必選 缺省情況下,IGMP其它查詢器的存在時間=發送IGMP普遍組查詢報文的時間間隔×IGMP查詢器的健壯係數+IGMP普遍組查詢的最大響應時間÷2 |
· 應確保IGMP其它查詢器的存在時間大於發送IGMP普遍組查詢報文的時間間隔,否則有可能導致網絡內的IGMP查詢器反複變化。
· 應確保發送IGMP普遍組查詢報文的時間間隔大於IGMP普遍組查詢的最大響應時間,否則有可能造成對組播組成員的誤刪。
· 對IGMP普遍組查詢的最大響應時間、最後組成員查詢間隔以及IGMP其它查詢器的存在時間所做的配置,隻有當設備運行在IGMPv2或IGMPv3時才有效。
在某些應用(如ADSL撥號上網)中,IGMP查詢器的一個端口唯一對應著一台接收者主機,當主機在多個組播組間頻繁切換(如進行電視選台)時,為了快速響應主機的離開組報文,可以在IGMP查詢器上開啟IGMP快速離開功能。
在開啟了IGMP快速離開功能之後,當IGMP查詢器收到來自主機的離開組報文時,不再發送IGMP特定組查詢報文或IGMP特定源組查詢報文,而是直接向上遊發送離開通告,這樣一方麵減小了響應延遲,另一方麵也節省了網絡帶寬。
表1-13 全局配置IGMP快速離開
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例IGMP視圖 |
igmp [ vpn-instance vpn-instance-name ] |
- |
配置組播組成員快速離開 |
fast-leave [ group-policy acl-number ] |
必選 缺省情況下,組播組成員快速離開功能是關閉的 |
表1-14 在接口上配置IGMP快速離開
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置組播組成員快速離開 |
igmp fast-leave [ group-policy acl-number ] |
必選 缺省情況下,組播組成員快速離開功能是關閉的 |
· 使用fast-leave命令在IGMP視圖下所作的配置對VLAN接口無效,隻對其他三層接口生效。
· 如果需要實現VLAN內成員的快速離開功能,可以使用igmp-snooping fast-leave或fast-leave(IGMP-Snooping視圖)命令,相關命令的配置說明請參見“IP組播命令參考”中的“IGMP Snooping”。
隻有當設備運行在IGMPv2或IGMPv3時,配置IGMP快速離開功能才有效。
通過使能IGMP主機跟蹤功能,可以使設備能夠記錄正在接收組播數據的成員主機信息(包括主機的IP地址、運行時間和超時時間等),以便於網絡管理員對這些主機進行監控和管理。
表1-15 全局配置IGMP主機跟蹤功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例IGMP視圖 |
igmp [ vpn-instance vpn-instance-name ] |
- |
全局使能IGMP主機跟蹤功能 |
host-tracking |
必選 缺省情況下,IGMP主機跟蹤功能處於關閉狀態 |
表1-16 在接口上配置IGMP主機跟蹤功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
在接口上使能IGMP主機跟蹤功能 |
igmp host-tracking |
必選 缺省情況下,IGMP主機跟蹤功能處於關閉狀態 |
在SSM網絡中,由於各種可能的限製,某些接收者主機隻能運行IGMPv1或IGMPv2。為了向這些僅支持IGMPv1或IGMPv2的接收者主機提供SSM服務,可以在路由器上配置IGMP SSM Mapping功能。
在配置IGMP SSM Mapping之前,需完成以下任務:
· 配置任一單播路由協議,實現域內網絡層互通
· 配置IGMP基本功能
表1-17 使能IGMP SSM Mapping
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能IGMP SSM Mapping功能 |
igmp ssm-mapping enable |
必選 缺省情況下,接口上的IGMP SSM Mapping功能處於關閉狀態 |
為保證本網段內運行任意版本IGMP的接收者主機都能得到SSM服務,建議在處於該網段的接口上運行IGMPv3。
通過多次配置可以實現同一組播組到多個組播源的映射。
表1-18 配置IGMP SSM Mapping規則
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入公網實例或VPN實例的IGMP視圖 |
igmp [ vpn-instance vpn-instance-name ] |
- |
配置IGMP SSM Mapping規則 |
ssm-mapping group-address { mask | mask-length } source-address |
必選 缺省情況下,未配置IGMP SSM Mapping規則 |
若VLAN接口上運行的是IGMPv3,則在使用igmp-snooping host-join命令配置模擬主機加入時即便不指定組播源,模擬主機也仍將發送IGMPv3的報告報文,這種情況下不會依據IGMP SSM Mapping規則創建相應的組播組。有關igmp-snooping host-join命令的詳細介紹,請參見“IP組播命令參考”中的“IGMP Snooping”。
在配置IGMP Proxying之前,需完成以下任務:
· 配置任一單播路由協議,實現域內網絡層互通
· 使能IP組播路由
在設備朝向組播分發樹樹根方向的接口上使能了IGMP代理功能之後,該設備就成為了IGMP代理設備。
表1-19 使能IGMP Proxying
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能IGMP代理功能 |
igmp proxying enable |
必選 缺省情況下,接口上的IGMP代理功能處於關閉狀態 |
· 一台設備上隻允許有一個接口使能IGMP代理功能(多實例情況下,每個實例中隻允許有一個接口使能IGMP代理功能)。
· 在進行IGMP的相關配置時,在已使能IGMP代理功能的接口上不允許再使能IGMP,且隻有igmp require-router-alert、igmp send-router-alert和igmp version命令可在該接口上生效。
· 在已使能IGMP代理功能的設備上不允許再使能其它組播路由協議(如不能在接口上使能PIM-DM或PIM-SM,但在PIM視圖下配置的source-lifetime、source-policy和ssm-policy命令仍會生效),反之亦然;同時,由於IGMPv1的查詢器要由PIM協議選舉出的DR來充當,因此若IGMP代理設備的下行接口運行的是IGMPv1,那麼該接口將無法成為DR,從而也就無法充當IGMP查詢器。
· 若某VLAN內已使能了IGMP Snooping,則該VLAN對應的VLAN接口上不能再使能IGMP代理功能,反之亦然。
通常,組播數據隻能被查詢器轉發,非查詢器不具備組播轉發能力,這樣可以避免組播數據被重複轉發。對於IGMP代理設備也同樣如此,隻有當其下行接口是查詢器時,組播數據才能通過該接口轉發給下遊主機。
但在某些情況下,IGMP代理設備的下行接口不能在查詢器競選中獲勝,此時應使能該下行接口在非查詢器狀態下的組播轉發能力。
表1-20 配置下行接口的組播轉發能力
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能下行接口在非查詢器狀態下的組播轉發能力 |
igmp proxying forwarding |
必選 缺省情況下,當IGMP代理設備的下行接口處於非查詢器狀態時,不轉發組播數據 |
在共享網段內存在多台IGMP代理設備的情況下,當其中一台IGMP代理設備的下行接口已競選為查詢器時,不應再在其它IGMP代理設備的下行接口上進行此配置,否則該網段內將收到多份重複的組播數據流。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IGMP的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除IGMP的統計信息。
表1-21 IGMP顯示和維護
操作 |
命令 |
查看IGMP組的信息 |
display igmp [ all-instance | vpn-instance vpn-instance-name ] group [ group-address | interface interface-type interface-number ] [ static | verbose ] [ | { begin | exclude | include } regular-expression ] |
查看IGMP組的二層端口信息(獨立運行模式) |
display igmp group port-info [ vlan vlan-id ] [ slot slot-number ] [ verbose ] |
查看IGMP組的二層端口信息(IRF模式) |
display igmp group port-info [ vlan vlan-id ] [ chassis chassis-number slot slot-number ] [ verbose ] |
查看接口上IGMP跟蹤的主機信息 |
display igmp host interface interface-type interface-number group group-address [ source source-address ] [ | { begin | exclude | include } regular-expression ] |
查看二層端口上IGMP跟蹤的主機信息(獨立運行模式) |
display igmp host port-info vlan vlan-id group group-address [ source source-address ] [ vlan vlan-id ] [ slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
查看二層端口上IGMP跟蹤的主機信息(IRF模式) |
display igmp host port-info vlan vlan-id group group-address [ source source-address ] [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ] |
查看接口上IGMP配置和運行信息 |
display igmp [ all-instance | vpn-instance vpn-instance-name ] interface [ interface-type interface-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看IGMP代理組的信息 |
display igmp [ all-instance | vpn-instance vpn-instance-name ] proxying group [ group-address ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看IGMP路由表的信息 |
display igmp [ all-instance | vpn-instance vpn-instance-name ] routing-table [ source-address [ mask { mask | mask-length } ] | group-address [ mask { mask | mask-length } ] | flags { act | suc } ] * [ | { begin | exclude | include } regular-expression ] |
查看IGMP SSM Mapping規則 |
display igmp [ all-instance | vpn-instance vpn-instance-name ] ssm-mapping group-address [ | { begin | exclude | include } regular-expression ] |
查看依據IGMP SSM Mapping規則創建的組播組信息 |
display igmp [ all-instance | vpn-instance vpn-instance-name ] ssm-mapping group [ group-address | interface interface-type interface-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
查看接口上依據IGMP SSM Mapping規則加入的主機信息 |
display igmp ssm-mapping host interface interface-type interface-number group group-address source source-address [ | { begin | exclude | include } regular-expression ] |
清除IGMP組的動態加入記錄 |
reset igmp [ all-instance | 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 } ] ] } } |
清除IGMP組二層端口的動態加入記錄 |
reset igmp group port-info { all | group-address } [ vlan vlan-id ] |
清除依據IGMP SSM Mapping規則創建的組播組信息 |
reset igmp [ all-instance | vpn-instance vpn-instance-name ] ssm-mapping group { all | interface interface-type interface-number { all | group-address [ mask { mask | mask-length } ] [ source-address [ mask { mask | mask-length } ] ] } } |
reset igmp group和reset igmp group port-info命令隻能清除動態加入記錄,而無法清除靜態加入記錄
執行reset igmp group命令可能導致接收者中斷組播信息的接收。
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使接口狀態處於UP狀態。
· 接收者通過組播方式接收視頻點播信息,不同組織的接收者組成末梢網絡N1和N2,Host A與Host C分別為N1和N2中的組播信息接收者。
· PIM網絡中的Switch A連接N1,Switch B與Switch C共同連接N2。
· Switch A通過Vlan-interface100連接N1,通過Vlan-interface101連接PIM網絡中的其它設備。
· Switch B與Switch C分別通過各自的Vlan-interface200連接N2,並分別通過Vlan-interface201和Vlan-interface202連接PIM網絡中的其它設備。
· Switch A與N1之間運行IGMPv2;Switch B、Switch C與N2之間也分別運行IGMPv2,且由於Switch B的接口IP地址較小,因此在N2中通常由其來充當IGMP查詢器。
· 通過配置,使N1中的主機隻能加入組播組224.1.1.1,而對N2中的主機則無任何限製。
圖1-5 IGMP基本功能配置組網圖
配置IP地址和單播路由協議
請按照圖1-5配置各接口的IP地址和子網掩碼,具體配置過程略。
配置PIM網絡內各交換機之間采用OSPF協議進行互連,確保PIM網絡內部在網絡層互通,並且各交換機之間能夠借助單播路由協議實現動態路由更新,具體配置過程略。
使能IP組播路由,並使能PIM-DM和IGMP
# 在Switch A上使能IP組播路由,在各接口上使能PIM-DM,並在主機側接口Vlan-interface100上使能IGMP。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim dm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim dm
[SwitchA-Vlan-interface101] quit
# 在Switch B上使能IP組播路由,在各接口上使能PIM-DM,並在主機側接口Vlan-interface200上使能IGMP。
<SwitchB> system-view
[SwitchB] multicast routing-enable
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] igmp enable
[SwitchB-Vlan-interface200] pim dm
[SwitchB-Vlan-interface200] quit
[SwitchB] interface vlan-interface 201
[SwitchB-Vlan-interface201] pim dm
[SwitchB-Vlan-interface201] quit
# 在Switch C上使能IP組播路由,在各接口上使能PIM-DM,並在主機側接口Vlan-interface200上使能IGMP。
<SwitchC> system-view
[SwitchC] multicast routing-enable
[SwitchC] interface vlan-interface 200
[SwitchC-Vlan-interface200] igmp enable
[SwitchC-Vlan-interface200] pim dm
[SwitchC-Vlan-interface200] quit
[SwitchC] interface vlan-interface 202
[SwitchC-Vlan-interface202] pim dm
[SwitchC-Vlan-interface202] quit
配置組播組過濾器
# 在Switch A上限定接口Vlan-interface100下的主機隻能加入組播組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] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp group-policy 2001
[SwitchA-Vlan-interface100] quit
檢驗配置效果
通過使用display igmp interface命令可以查看各交換機接口上IGMP的配置和運行情況。例如:
# 查看Switch B在Vlan-interface200上的IGMP信息。
[SwitchB] display igmp interface vlan-interface 200
Vlan-interface200(10.110.2.1):
IGMP is enabled
Current IGMP version is 2
Value of query interval for IGMP(in seconds): 60
Value of other querier present interval for IGMP(in seconds): 125
Value of maximum query response time for IGMP(in seconds): 10
Querier for IGMP: 10.110.2.1 (this router)
Total 1 IGMP Group reported
· PIM-SM網絡中同時采用ASM和SSM方式提供組播服務,將Switch D的接口Vlan-interface104配置為C-BSR和C-RP,SSM組播組的範圍為232.1.1.0/24。
· Switch D的接口Vlan-interface400上運行IGMPv3,接收者主機上運行IGMPv2,且不能升級至IGMPv3,因此該主機在加入組播組時無法指定組播源。
· Source 1、Source 2和Source 3都向SSM組範圍內的組播組發送組播數據,要求通過在Switch D上配置IGMP SSM Mapping功能,使接收者主機隻能接收來自Source 1和Source 3的組播數據。
圖1-6 IGMP SSM Mapping功能配置組網圖
設備 |
接口 |
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 |
Switch A |
Vlan-int100 |
133.133.1.2/24 |
Switch C |
Vlan-int300 |
133.133.3.2/24 |
|
Vlan-int101 |
192.168.1.1/24 |
|
Vlan-int103 |
192.168.3.1/24 |
|
Vlan-int104 |
192.168.4.2/24 |
|
Vlan-int102 |
192.168.2.2/24 |
Switch B |
Vlan-int200 |
133.133.2.2/24 |
Switch D |
Vlan-int400 |
133.133.4.2/24 |
|
Vlan-int101 |
192.168.1.2/24 |
|
Vlan-int103 |
192.168.3.2/24 |
|
Vlan-int102 |
192.168.2.1/24 |
|
Vlan-int104 |
192.168.4.1/24 |
配置IP地址和單播路由協議
請按照圖1-6配置各接口的IP地址和子網掩碼,具體配置過程略。
配置PIM-SM域內的各交換機之間采用OSPF協議進行互連,確保PIM-SM域內部在網絡層互通,並且各交換機之間能夠借助單播路由協議實現動態路由更新,具體配置過程略。
使能IP組播路由,並使能PIM-SM、IGMP和IGMP SSM Mapping功能
# 在Switch D上使能IP組播路由,在各接口上使能PIM-SM,並在主機側接口Vlan-interface400上使能IGMP和IGMP SSM Mapping功能,配置IGMP版本為3。
<SwitchD> system-view
[SwitchD] multicast routing-enable
[SwitchD] interface vlan-interface 400
[SwitchD-Vlan-interface400] igmp enable
[SwitchD-Vlan-interface400] igmp version 3
[SwitchD-Vlan-interface400] igmp ssm-mapping enable
[SwitchD-Vlan-interface400] pim sm
[SwitchD-Vlan-interface400] quit
[SwitchD] interface vlan-interface 103
[SwitchD-Vlan-interface103] pim sm
[SwitchD-Vlan-interface103] quit
[SwitchD] interface vlan-interface 104
[SwitchD-Vlan-interface104] pim sm
[SwitchD-Vlan-interface104] quit
# 在Switch A上使能IP組播路由,並在各接口上使能PIM-SM。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] pim sm
[SwitchA-Vlan-interface100] quit
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim sm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 104
[SwitchA-Vlan-interface104] pim sm
[SwitchA-Vlan-interface104] quit
Switch B和Switch C的配置與Switch A相似,配置過程略。
配置C-BSR和C-RP
# 在Switch D上配置C-BSR和C-RP的位置。
[SwitchD] pim
[SwitchD-pim] c-bsr vlan-interface 104
[SwitchD-pim] c-rp vlan-interface 104
[SwitchD-pim] quit
配置SSM組播組的地址範圍
# 在Switch D上配置SSM組播組地址範圍為232.1.1.0/24。
[SwitchD] acl number 2000
[SwitchD-acl-basic-2000] rule permit source 232.1.1.0 0.0.0.255
[SwitchD-acl-basic-2000] quit
[SwitchD] pim
[SwitchD-pim] ssm-policy 2000
[SwitchD-pim] quit
Switch A、Switch B和Switch C的配置與Switch D相似,配置過程略。
配置IGMP SSM Mapping規則
# 在Switch D上配置IGMP SSM Mapping規則。
[SwitchD] igmp
[SwitchD-igmp] ssm-mapping 232.1.1.0 24 133.133.1.1
[SwitchD-igmp] ssm-mapping 232.1.1.0 24 133.133.3.1
[SwitchD-igmp] quit
檢驗配置效果
通過使用display igmp ssm-mapping命令可以查看交換機上的IGMP SSM Mapping規則。例如:
# 查看Switch D上組播組232.1.1.1的IGMP SSM Mapping規則。
[SwitchD] display igmp ssm-mapping 232.1.1.1
Vpn-Instance: public net
Group: 232.1.1.1
Source list:
133.133.1.1
133.133.3.1
通過使用display igmp ssm-mapping group命令可以查看交換機上依據IGMP SSM Mapping規則創建的組播組信息。例如:
# 查看Switch D上依據IGMP SSM Mapping規則創建的組播組信息。
[SwitchD] display igmp ssm-mapping group
Total 1 IGMP SSM-mapping Group(s).
Interface group report information of VPN-Instance: public net
Vlan-interface400(133.133.4.2):
Total 1 IGMP SSM-mapping Group reported
Group Address Last Reporter Uptime Expires
232.1.1.1 133.133.4.1 00:02:04 off
通過使用display pim routing-table命令可以查看交換機的PIM路由表信息。例如:
# 查看Switch D上的PIM路由表信息。
[SwitchD] display pim routing-table
Vpn-instance: public net
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: Vlan-interface104
Upstream neighbor: 192.168.4.2
RPF prime neighbor: 192.168.4.2
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface400
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: Vlan-interface103
Upstream neighbor: 192.168.3.1
RPF prime neighbor: 192.168.3.1
Downstream interface(s) information:
Total number of downstreams: 1
1: Vlan-interface400
Protocol: igmp, UpTime: 00:13:25, Expires: -
· 核心網絡中運行PIM-DM,末梢網絡中的接收者Host A和Host C通過組播組224.1.1.1點播視頻節目。
· 要求通過在Switch B上配置IGMP Proxying功能,使其在不運行PIM-DM的情況下實現組成員關係的維護和組播數據的正常轉發。
圖1-7 IGMP Proxying功能配置組網圖
配置IP地址
請按照圖1-7配置各接口的IP地址和子網掩碼,具體配置過程略。
使能IP組播路由,並使能PIM-DM、IGMP和IGMP Proxying
# 在Switch A上使能IP組播路由,在接口Vlan-interface101上使能PIM-DM,並在接口Vlan-interface100上使能IGMP。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] interface vlan-interface 101
[SwitchA-Vlan-interface101] pim dm
[SwitchA-Vlan-interface101] quit
[SwitchA] interface vlan-interface 100
[SwitchA-Vlan-interface100] igmp enable
[SwitchA-Vlan-interface100] pim dm
[SwitchA-Vlan-interface100] quit
# 在Switch B上使能IP組播路由,在接口Vlan-interface100上使能IGMP Proxying,並在接口Vlan-interface200上使能IGMP。
<SwitchB> system-view
[SwitchB] multicast routing-enable
[SwitchB] interface vlan-interface 100
[SwitchB-Vlan-interface100] igmp proxying enable
[SwitchB-Vlan-interface100] quit
[SwitchB] interface vlan-interface 200
[SwitchB-Vlan-interface200] igmp enable
[SwitchB-Vlan-interface200] quit
檢驗配置效果
通過使用display igmp interface命令可以查看各交換機接口上IGMP的配置和運行情況。例如:
# 查看Switch B在Vlan-interface100上IGMP配置和運行的詳細信息。
[SwitchB] display igmp interface vlan-interface 100 verbose
Vlan-interface100(192.168.1.2):
IGMP proxy is enabled
Current IGMP version is 2
Multicast routing on this interface: enabled
Require-router-alert: disabled
Version1-querier-present-timer-expiry: 00:00:20
通過使用display igmp group命令可以查看IGMP組的信息。例如:
# 查看Switch A上IGMP組的信息。
[SwitchA] display igmp group
Total 1 IGMP Group(s).
Interface group report information of VPN-Instance: public net
Vlan-interface100(192.168.1.1):
Total 1 IGMP Groups reported
Group Address Last Reporter Uptime Expires
224.1.1.1 192.168.1.2 00:02:04 00:01:15
由此可見,主機的IGMP報告通過Switch B的代理接口Vlan-interface100發給Switch A。
當某主機發送了加入組播組G的報文後,離該主機最近的設備上卻沒有組播組G的組成員信息。
· 組網、接口連線的正確與否以及接口的協議層是否up將直接影響組播組成員信息的生成;
· 在設備上必須使能組播路由,在連接主機的接口上必須使能IGMP;
· 如果路由器接口上運行的IGMP版本比主機的低,那麼路由器將無法識別主機發來的較高版本的IGMP報告報文;
· 如果在接口上使用命令igmp group-policy對加入組播組G進行了限製後,該接口將不再接收未通過過濾的那些要求加入組播組G的報文。
檢查組網是否正確,接口間的連線是否正確,以及接口狀態是否正常,是否配置了正確的IP地址。通過命令display igmp interface查看接口信息。若無接口信息輸出,說明接口狀態異常,原因通常是接口上配置了shutdown命令,或者接口連線不正確,或者接口上沒有配置正確的IP地址。
檢查是否使能了組播路由。通過命令display current-configuration查看是否配置了命令multicast routing-enable。若缺少該配置,則需要在係統視圖下執行命令multicast routing-enable使能IP組播路由,同時也需要在相應接口上使能IGMP。
檢查接口上運行的IGMP版本。通過命令display igmp interface來檢查接口上運行的IGMP版本是否低於主機所使用的版本。
檢查接口上是否配置了ACL規則來限製主機加入組播組G。通過命令display current-configuration interface觀察是否配置了igmp group-policy命令。如果配置的ACL規則對加入組播組G進行了限製,則需要修改該ACL規則,允許接受組播組G的報告報文。
在同一網段的不同IGMP設備上,各自維護的組成員關係不一致。
· 運行IGMP的設備為每個接口維護多個參數,各參數之間相互影響,非常複雜。如果同一網段設備的IGMP接口參數配置不一致,必然導致組成員關係的混亂;
· 另外,IGMP目前有3個版本,版本不同的IGMP設備與主機之間雖然可以兼容,但是連接在同一網段的所有設備必須運行相同版本的IGMP。如果同一網段設備的IGMP版本不一致,也將導致IGMP組成員關係的混亂。
檢查IGMP配置。通過命令display current-configuration觀察接口上IGMP的配置信息。
在同一網段的所有設備上執行命令display igmp interface來檢查IGMP相關定時器的參數,確保配置一致。
通過命令display igmp interface來檢查各設備上運行的IGMP版本是否一致。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!