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

07-IP組播配置指導

目錄

06-IGMP配置

本章節下載 06-IGMP配置  (668.55 KB)

06-IGMP配置


1 IGMP

1.1  IGMP簡介

IGMP(Internet Group Management Protocol,互聯網組管理協議)用於在三層設備和其直連網段中的用戶主機之間建立和維護組播組成員關係。

1.1.1  IGMP的版本

到目前為止,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組播配置指導”中的“組播概述”。

1.1.2  IGMPv1工作機製

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設備將不會收到任何發往該組播組的報告報文,於是在一段時間之後便刪除該組播組的記錄。

1.1.3  IGMPv2的改進

IGMPv2在兼容和繼承IGMPv1的基礎上,增加了查詢器選舉機製和離開組播組機製。

1. 查詢器選舉機製

在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查詢報文,則重置該定時器;否則,就認為原查詢器失效,並發起新的查詢器選舉過程。

2. 離開組播組機製

在IGMPv1中,主機離開組播組時不會向組播路由器發出任何通知,導致組播路由器隻能依靠組播組成員查詢的響應超時來獲知組播組成員的離開。而在IGMPv2中,當一個主機離開某組播組時:

(1)     該主機向本地網段內的所有組播路由器(目的地址為224.0.0.2)發送離開組(Leave Group)報文;

(2)     當查詢器收到該報文後,向該主機所聲明要離開的那個組播組發送特定組查詢(Group-Specific Query)報文(目的地址字段和組地址字段均填充為所要查詢的組播組地址);

(3)     如果該網段內還有該組播組的其它成員,則這些成員在收到特定組查詢報文後,會在該報文中所設定的最大響應時間(Max Response Time)內發送成員關係報告報文;

(4)     如果在最大響應時間內收到了該組播組其它成員發送的成員關係報告報文,查詢器就會繼續維護該組播組的成員關係;否則,查詢器將認為該網段內已無該組播組的成員,於是不再維護這個組播組的成員關係。

1.1.4  IGMPv3的改進

IGMPv3在兼容和繼承IGMPv1和IGMPv2的基礎上,進一步增強了主機的控製能力,並增強了查詢和報告報文的功能。

1. 主機控製能力的增強

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的信息沒有興趣。

圖1-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了。

2. 查詢和報告報文功能的增強

(1)     攜帶源地址的查詢報文

IGMPv3不僅支持IGMPv1的普遍組查詢和IGMPv2的特定組查詢,而且還增加了對特定源組查詢的支持:

·     普遍組查詢報文中,既不攜帶組地址,也不攜帶源地址;

·     特定組查詢報文中,攜帶組地址,但不攜帶源地址;

·     特定源組查詢報文中,既攜帶組地址,還攜帶一個或多個源地址。

(2)     包含多組記錄的報告報文

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,則向現有組播源列表中添加這些組播源。

1.1.5  IGMP SSM Mapping

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 IGMP SSM Mapping組網圖

 

在如圖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,然後根據檢查結果的不同分別進行處理:

(1)     如果G不在SSM組地址範圍內,則提供ASM組播服務。

(2)     如果G在SSM組地址範圍內:

·     若Device A上沒有G對應的IGMP SSM Mapping規則,則無法提供SSM組播服務,丟棄該報文;

·     若Device A上有G對應的IGMP SSM Mapping規則,則依據規則將報告報文中所包含的(*,G)信息映射為(G,INCLUDE,(S1,S2...))信息,可以提供SSM組播服務。

說明

·     IGMP SSM Mapping不對IGMPv3的報告報文進行處理。

·     有關SSM組地址範圍的介紹,請參見“IP組播配置指導”中的“PIM”。

 

1.1.6  IGMP代理

在如圖1-4所示的一些簡單網絡拓撲中,諸如Device B之類的邊緣設備上並不需要運行PIM等複雜的組播路由協議,可以通過在這些設備上配置IGMP代理功能,使其在上遊的IGMP查詢器和下遊的接收者主機之間充當代理者:

·     對於IGMP查詢器來說,IGMP代理設備的行為就像一台主機。

·     對於主機來說,IGMP代理設備的行為就像一台IGMP查詢器。

圖1-4 IGMP代理組網圖

 

為了便於理解,IGMP代理中定義了兩種類型的接口:

·     主機接口:麵向組播分發樹樹根方向的接口,執行IGMP協議的主機行為。由於此接口上需開啟IGMP代理功能,因此也稱為代理接口。

·     路由器接口:麵向組播分發樹樹葉方向的接口,執行IGMP協議的路由器行為。在此接口上需使能並配置IGMP。

IGMP代理設備上維護著一個組成員關係數據庫,記錄所有路由器接口維護的組成員關係。主機接口和路由器接口正是依據這個數據庫來執行相應的行為:

·     主機接口收到查詢報文後根據當前的組成員關係來響應報告報文,或者當組成員關係改變時發送報告報文或離開報文。

·     路由器接口參與下遊查詢器的選舉,發送查詢報文,並根據主機發來的報告報文維護組成員關係。

1.1.7  多實例的IGMP

IGMP依據接口來維護組成員關係,各實例的IGMP根據接口所屬的實例來處理協議報文的收發。當設備收到IGMP報文時,需要區分該報文所屬的實例,並在該實例範圍內對其進行處理。當某實例內的IGMP需要和其它組播協議交互信息時,隻會通知本實例內的其它組播協議。

1.1.8  協議規範

與IGMP相關的協議規範有:

·     RFC 1112:Host Extensions for IP Multicasting

·     RFC 2236:Internet Group Management Protocol, Version 2

·     RFC 3376:Internet Group Management Protocol, Version 3

1.2  IGMP配置任務簡介

表1-1 IGMP配置任務簡介

配置任務

說明

詳細配置

配置IGMP基本功能

使能IGMP

必選

1.3.2 

配置IGMP版本

可選

1.3.3 

配置靜態加入

可選

1.3.4 

配置組播組過濾器

可選

1.3.5 

調整IGMP性能

配置IGMP查詢和響應

可選

1.4.2 

配置組播組成員快速離開

可選

1.4.3 

配置IGMP SSM Mapping

可選

1.5.2 

配置IGMP代理

開啟IGMP代理功能

可選

1.6.2 

配置非查詢器轉發功能

可選

1.6.3 

配置IGMP代理的負載分擔功能

可選

1.6.4 

配置IGMP NSR功能

可選

1.7 

配置設備發送的IGMP協議報文的DSCP優先級

可選

1.8 

開啟IGMP告警功能

可選

1.9 

 

1.3  配置IGMP基本功能

1.3.1  配置準備

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

·     配置任一單播路由協議,實現網絡層互通

·     配置PIM協議

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

·     IGMP的版本

·     以靜態方式加入的組播組和組播源的地址

·     組播組過濾的ACL規則

1.3.2  使能IGMP

在需要建立和維護組播組成員關係的接口上使能IGMP。

隻有配置接口的主IP地址,接口上的IGMP功能才能生效。

表1-2 使能IGMP

操作

命令

說明

進入係統視圖

system-view

-

使能IP組播路由,並進入MRIB視圖

multicast routing [ vpn-instance vpn-instance-name ]

缺省情況下,IP組播路由處於關閉狀態

本命令的詳細介紹請參見“IP組播命令參考”中的“組播路由與轉發”

退回係統視圖

quit

-

進入接口視圖

interface interface-type interface-number

-

使能IGMP

igmp enable

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

 

1.3.3  配置IGMP版本

表1-3 配置IGMP版本

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置IGMP的版本

igmp version version-number

缺省情況下,IGMP的版本為IGMPv2

 

注意

由於不同版本IGMP協議的報文結構與種類不同,因此需要為同一網段上的所有設備配置相同版本的IGMP,否則IGMP將不能正常運行。

 

1.3.4  配置靜態加入

在配置了靜態加入組播組或組播源組後,接口將作為該組播組的虛擬組成員存在,從而可以接收發往該組的組播數據,以測試組播數據的轉發。

在配置了靜態加入後,接口並不會對IGMP查詢器發出的查詢報文進行響應;當配置靜態加入或取消靜態加入的配置時,接口也不會主動發送IGMP成員關係報告報文或IGMP離開組報文。也就是說,該接口並沒有真正成為該組播組的成員。

提示

在運行PIM-SM的設備上配置靜態加入時,如果待配接口上同時使能了IGMP和PIM-SM,則該接口必須為PIM-SM的DR,否則該接口將不能加入組播組或組播源組;如果待配接口上使能了IGMP但未使能PIM-SM,則該接口必須為IGMP查詢器,否則該接口也不能加入組播組或組播源組。有關PIM-SM和DR的介紹,請參見“IP組播配置指導”中的“PIM”。

 

表1-4 配置靜態加入

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置靜態加入組播組或組播源組

igmp static-group group-address [ source source-address ]

缺省情況下,接口沒有以靜態方式加入任何組播組或組播源組

 

1.3.5  配置組播組過濾器

如果不希望接口所在網段上的主機加入某些組播組,可在該接口上配置ACL規則作為過濾器,接口將按照該規則對收到的IGMP成員關係報告報文進行過濾,隻為該規則所允許的組播組維護組成員關係。

表1-5 配置組播組過濾器

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置組播組過濾器

igmp group-policy { ipv4-acl-number | name ipv4-acl-name } [ version-number ]

缺省情況下,接口上不存在組播組過濾器,即該接口下的主機可以加入任意組播組

 

說明

由於組播組過濾器隻能過濾IGMP報文,因此無法對接口靜態加入組播組或組播源組進行限製。

 

1.4  調整IGMP性能

1.4.1  配置準備

在調整IGMP性能之前,需完成以下任務:

·     配置任一單播路由協議,實現網絡層互通

·     配置IGMP基本功能

1.4.2  配置IGMP查詢和響應

IGMP查詢器的健壯係數是為了彌補可能發生的網絡丟包而設置的報文重傳次數,重傳次數越多,IGMP查詢器就越“健壯”,但是組播組超時所需的時間也就越長。

當IGMPv1/v2/v3查詢器啟動時,會以“IGMP查詢器啟動查詢間隔”為時間間隔發送“IGMP查詢器啟動查詢次數”次IGMP普遍組查詢報文,以快速判斷當前網絡中是否有組播組成員。

當IGMPv1/v2/v3查詢器啟動後,會周期性地發送IGMP普遍組查詢報文,以判斷網絡中是否有組播組成員,這個發送間隔就是“IGMP普遍組查詢報文的發送間隔”,可以根據網絡的實際情況來調整此間隔。

當IGMPv2查詢器收到IGMP離開組報文後,會以“IGMP最後組成員查詢間隔”為時間間隔發送“IGMP最後組成員查詢次數”次IGMP特定組查詢報文;當IGMPv3查詢器收到改變組播組與組播源列表關係的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其它查詢器的存在時間所做的配置,隻有當設備運行在IGMPv2/v3時才有效。

 

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

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

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP視圖

igmp [ vpn-instance vpn-instance-name ]

-

配置IGMP查詢器的健壯係數

robust-count count

缺省情況下,IGMP查詢器的健壯係數為2

配置IGMP查詢器的啟動查詢間隔

startup-query-interval interval

缺省情況下,IGMP查詢器的啟動查詢間隔為IGMP普遍組查詢報文發送間隔的1/4

配置IGMP查詢器的啟動查詢次數

startup-query-count count

缺省情況下,IGMP查詢器的啟動查詢次數等於IGMP查詢器的健壯係數

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

query-interval interval

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

配置IGMP最後組成員查詢間隔

last-member-query-interval interval

缺省情況下,IGMP最後組成員查詢間隔為1秒

配置IGMP最後組成員查詢次數

last-member-query-count count

缺省情況下,IGMP最後組成員查詢次數等於IGMP查詢器的健壯係數

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

max-response-time time

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

配置IGMP其它查詢器的存在時間

other-querier-present-interval interval

缺省情況下,IGMP其它查詢器的存在時間=IGMP普遍組查詢報文的發送間隔×IGMP查詢器的健壯係數+IGMP普遍組查詢的最大響應時間÷2

 

2. 在接口上配置IGMP查詢和響應

表1-7 在接口上配置IGMP查詢和響應

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

配置IGMP查詢器的健壯係數

igmp robust-count count

缺省情況下,IGMP查詢器的健壯係數為2

配置IGMP查詢器的啟動查詢間隔

igmp startup-query-interval interval

缺省情況下,IGMP查詢器的啟動查詢間隔為IGMP普遍組查詢報文發送間隔的1/4

配置IGMP查詢器的啟動查詢次數

igmp startup-query-count count

缺省情況下,IGMP查詢器的啟動查詢次數等於IGMP查詢器的健壯係數

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

igmp query-interval interval

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

配置IGMP最後組成員查詢間隔

igmp last-member-query-interval interval

缺省情況下,IGMP最後組成員查詢間隔為1秒

配置IGMP最後組成員查詢次數

igmp last-member-query-count count

缺省情況下,IGMP最後組成員查詢次數等於IGMP查詢器的健壯係數

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

igmp max-response-time time

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

配置IGMP其它查詢器的存在時間

igmp other-querier-present-interval interval

缺省情況下,IGMP其它查詢器的存在時間=IGMP普遍組查詢報文的發送間隔×IGMP查詢器的健壯係數+IGMP普遍組查詢的最大響應時間÷2

 

1.4.3  配置組播組成員快速離開

提示

隻有當設備運行在IGMPv2或IGMPv3時,本配置才有效。

 

在某些應用(如ADSL撥號上網)中,IGMP查詢器的一個端口唯一對應著一台接收者主機,當主機在多個組播組間頻繁切換(如進行電視選台)時,為了快速響應主機的離開組報文,可以在IGMP查詢器上開啟組播組成員快速離開功能。

在開啟了組播組成員快速離開功能之後,當IGMP查詢器收到來自主機的離開組報文時,不再發送IGMP特定組查詢報文或IGMP特定源組查詢報文,而是直接向上遊發送離開通告,這樣一方麵減小了響應延遲,另一方麵也節省了網絡帶寬。

表1-8 配置組播組成員快速離開

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

開啟組播組成員快速離開功能

igmp fast-leave [ group-policy ipv4-acl-number ]

缺省情況下,組播組成員快速離開功能處於關閉狀態

 

1.5  配置IGMP SSM Mapping

在SSM網絡中,由於各種可能的限製,某些接收者主機隻能運行IGMPv1或IGMPv2。為了向這些僅支持IGMPv1或IGMPv2的接收者主機提供SSM服務,可以在設備上配置IGMP SSM Mapping規則。

提示

為防止本網段內運行IGMPv3的主機無法加入組播組,請在該網段麵向主機的接口上運行IGMPv3。

 

1.5.1  配置準備

在配置IGMP SSM Mapping規則之前,需完成以下任務:

·     配置任一單播路由協議,實現域內網絡層互通

·     配置IGMP基本功能

1.5.2  配置過程

表1-9 配置IGMP SSM Mapping

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP視圖

igmp [ vpn-instance vpn-instance-name ]

-

配置IGMP SSM Mapping規則

ssm-mapping source-address { ipv4-acl-number | name ipv4-acl-name }

缺省情況下,不存在IGMP SSM Mapping規則

 

1.6  配置IGMP代理

在IGMP代理設備上,請先根據網絡拓撲確定其路由器接口和主機接口,然後在路由器接口上使能並配置IGMP,在主機接口上開啟IGMP代理功能。

1.6.1  配置準備

在配置IGMP代理之前,需完成以下任務:

·     配置任一單播路由協議,實現域內網絡層互通

1.6.2  配置IGMP代理功能

確定了主機接口之後,請在該接口上開啟IGMP代理功能。

提示

·     一個接口上如果同時開啟IGMP代理功能和IGMP協議,IGMP協議將不會生效。在已開啟IGMP代理功能的接口上配置其它IGMP命令時,隻有igmp version命令會生效。

·     如果在一台設備上同時開啟IGMP代理功能和組播路由協議(如PIM和MSDP),組播路由協議將不會生效。而由於IGMPv1查詢器要由PIM選出的DR來充當,因此若IGMP代理設備的路由器接口運行IGMPv1,則該接口將無法成為DR,從而無法充當IGMP查詢器,此時為使該接口下的主機能夠接收組播數據,需在該接口上開啟非查詢器轉發功能。

 

表1-10 配置IGMP代理功能

操作

命令

說明

進入係統視圖

system-view

-

使能IP組播路由,並進入MRIB視圖

multicast routing [ vpn-instance vpn-instance-name ]

缺省情況下,IP組播路由處於關閉狀態

本命令的詳細介紹請參見“IP組播命令參考”中的“組播路由與轉發”

退回係統視圖

quit

-

進入接口視圖

interface interface-type interface-number

-

開啟IGMP代理功能

igmp proxy enable

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

 

1.6.3  配置非查詢器轉發功能

組播數據通常隻被查詢器轉發,非查詢器不具備組播轉發能力,這樣可避免組播數據被重複轉發。但如果IGMP代理設備的路由器接口未能當選查詢器,應在該接口上開啟非查詢器轉發功能,否則下遊主機將無法收到組播數據。

提示

在共享網段內存在多台IGMP代理設備的情況下,如果其中一台IGMP代理設備的路由器接口已當選為查詢器,不應再在其它IGMP代理設備的路由器接口上開啟非查詢器轉發功能,否則該網段將收到多份重複的組播數據。

 

表1-11 配置非查詢器轉發功能

操作

命令

說明

進入係統視圖

system-view

-

進入接口視圖

interface interface-type interface-number

-

開啟非查詢器轉發功能

igmp proxy forwarding

缺省情況下,非查詢器轉發功能處於關閉狀態

 

1.6.4  配置IGMP代理的負載分擔功能

當在IGMP代理設備的多個接口上開啟了IGMP代理功能時:

·     如果關閉了IGMP代理的負載分擔功能,則隻有IP地址最大的接口會轉發組播流量。

·     如果開啟了IGMP代理的負載分擔功能,則可通過這些接口對組播流量按組進行負載分擔。

表1-12 配置IGMP代理的負載分擔功能

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP視圖

igmp [ vpn-instance vpn-instance-name ]

-

開啟IGMP代理的負載分擔功能

proxy multipath

缺省情況下,IGMP代理的負載分擔功能處於關閉狀態

 

1.7  配置IGMP NSR功能

NSR(Nonstop Routing,不間斷路由)通過將IGMP的運行接口以及組播組等信息備份到備進程,從而避免了主備倒換對轉發業務的影響。

NSR特性不需要周邊設備的配合,設備自身可以將運行接口和組播組等信息進行恢複。

表1-13 配置IGMP NSR功能

操作

命令

說明

進入係統視圖

system-view

-

開啟IGMP NSR功能

igmp non-stop-routing

缺省情況下,IGMP NSR功能處於關閉狀態

 

1.8  配置設備發送的IGMP協議報文的DSCP優先級

1. 功能簡介

DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定設備發送的IGMP協議報文的DSCP優先級。

2. 配置步驟

表1-14 配置設備發送的IGMP協議報文的DSCP優先級

操作

命令

說明

進入係統視圖

system-view

-

進入IGMP視圖

igmp [ vpn-instance vpn-instance-name ]

-

配置設備發送的IGMP協議報文的DSCP優先級

dscp dscp-value

缺省情況下,設備發送的IGMP協議報文的DSCP優先級為48

 

1.9  開啟IGMP告警功能

1. 功能簡介

開啟了IGMP的告警功能之後,該模塊會生成告警信息,用於報告該模塊的重要事件。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。

2. 配置步驟

表1-15 開啟IGMP告警功能

操作

命令

說明

進入係統視圖

system-view

-

開啟IGMP的告警功能

snmp-agent trap enable igmp [ join | leave ] *

缺省情況下,IGMP的告警功能處於開啟狀態

 

1.10  IGMP顯示和維護

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

在用戶視圖下執行reset命令可以清除IGMP的統計信息。

注意

執行reset igmp group命令可能導致接收者接收組播信息中斷。

 

表1-16 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組的動態加入記錄

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 } ] ] } }

 

1.11  IGMP典型配置舉例

1.11.1  IGMP基本功能配置舉例

1. 組網需求

·     網絡中運行OSPF和PIM-DM,接收者通過組播方式接收視頻點播信息,不同組織的接收者組成末梢網絡N1和N2,Host A與Host C分別為N1和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 A為IGMP查詢器;Switch B、Switch C與N2之間也分別運行IGMPv2,且由於Switch B的接口IP地址較小,因此由其充當IGMP查詢器。

·     通過配置,使N1中的主機隻能加入組播組224.1.1.1,而對N2中的主機則無任何限製。

2. 組網圖

圖1-5 IGMP基本功能配置組網圖

 

 

3. 配置準備

按照組網圖配置各接口的IP地址和子網掩碼,並在PIM-DM域內的各交換機上配置OSPF協議。

4. 配置步驟

(1)     使能IP組播路由,並使能PIM-DM和IGMP

# 在Switch A上使能IP組播路由,在接口Vlan-interface101上使能PIM-DM,並在接口Vlan-interface100上使能IGMP。

<SwitchA> system-view

[SwitchA] multicast routing

[SwitchA-mrib] quit

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] igmp enable

[SwitchA-Vlan-interface100] quit

[SwitchA] interface vlan-interface 101

[SwitchA-Vlan-interface101] pim dm

[SwitchA-Vlan-interface101] quit

# 在Switch B上使能IP組播路由,在接口Vlan-interface201上使能PIM-DM,並在接口Vlan-interface200上使能IGMP。

<SwitchB> system-view

[SwitchB] multicast routing

[SwitchB-mrib] quit

[SwitchB] interface vlan-interface 200

[SwitchB-Vlan-interface200] igmp enable

[SwitchB-Vlan-interface200] quit

[SwitchB] interface vlan-interface 201

[SwitchB-Vlan-interface201] pim dm

[SwitchB-Vlan-interface201] quit

# 在Switch C上使能IP組播路由,在接口Vlan-interface202上使能PIM-DM,並在接口Vlan-interface200上使能IGMP。

<SwitchC> system-view

[SwitchC] multicast routing

[SwitchC-mrib] quit

[SwitchC] interface vlan-interface 200

[SwitchC-Vlan-interface200] igmp enable

[SwitchC-Vlan-interface200] quit

[SwitchC] interface vlan-interface 202

[SwitchC-Vlan-interface202] pim dm

[SwitchC-Vlan-interface202] quit

(2)     配置組播組過濾器

# 在Switch A上限定接口Vlan-interface100下的主機隻能加入組播組224.1.1.1。

[SwitchA] acl basic 2001

[SwitchA-acl-ipv4-basic-2001] rule permit source 224.1.1.1 0

[SwitchA-acl-ipv4-basic-2001] quit

[SwitchA] interface vlan-interface 100

[SwitchA-Vlan-interface100] igmp group-policy 2001

[SwitchA-Vlan-interface100] quit

5. 驗證配置

# 在Switch B上顯示接口Vlan-interface200上IGMP配置和運行的信息。

[SwitchB] display igmp interface vlan-interface 200

 Vlan-interface200(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

1.11.2  IGMP SSM Mapping配置舉例

1. 組網需求

·     運行OSPF協議的PIM-SM網絡中采用SSM方式提供組播服務,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的組播數據。

2. 組網圖

圖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

 

3. 配置準備

按照組網圖配置各接口的IP地址和子網掩碼,並在PIM-SM域內的各交換機上配置OSPF協議。

4. 配置步驟

(1)     使能IP組播路由,並使能PIM-SM和IGMP

# 在Switch D上使能IP組播路由,在主機側接口Vlan-interface400上使能IGMP,配置IGMP版本為3,並在其它接口上使能PIM-SM。

<SwitchD> system-view

[SwitchD] multicast routing

[SwitchD-mrib] quit

[SwitchD] interface vlan-interface 400

[SwitchD-Vlan-interface400] igmp enable

[SwitchD-Vlan-interface400] igmp version 3

[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

[SwitchA-mrib] quit

[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相似,配置過程略。

(2)     配置SSM組播組的地址範圍

# 在Switch D上配置SSM組播組地址範圍為232.1.1.0/24。

[SwitchD] acl basic 2000

[SwitchD-acl-ipv4-basic-2000] rule permit source 232.1.1.0 0.0.0.255

[SwitchD-acl-ipv4-basic-2000] quit

[SwitchD] pim

[SwitchD-pim] ssm-policy 2000

[SwitchD-pim] quit

Switch A、Switch B和Switch C的配置與Switch D相似,配置過程略。

(3)     配置IGMP SSM Mapping規則

# 在Switch D上配置IGMP SSM Mapping規則。

[SwitchD] igmp

[SwitchD-igmp] ssm-mapping 133.133.1.1 2000

[SwitchD-igmp] ssm-mapping 133.133.3.1 2000

[SwitchD-igmp] quit

5. 驗證配置

# 顯示Switch D上組播組232.1.1.1對應的IGMP SSM Mapping規則。

[SwitchD] display igmp ssm-mapping 232.1.1.1

 Group: 232.1.1.1

 Source list:

        133.133.1.1

        133.133.3.1

# 顯示Switch D上依據IGMP SSM Mapping規則創建的IGMP組播組信息。

[SwitchD] display igmp group

IGMP groups in total: 1

 Vlan-interface400(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

# 查看Switch D上PIM路由表的內容。

[SwitchD] 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: Vlan-interface104

         Upstream neighbor: 192.168.4.2

         RPF prime neighbor: 192.168.4.2

     Downstream interface information:

     Total number of downstream interfaces: 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 information:

     Total number of downstream interfaces: 1

         1: Vlan-interface400

             Protocol: igmp, UpTime: 00:13:25, Expires: -

1.11.3  IGMP代理配置舉例

1. 組網需求

·     核心網絡中運行PIM-DM,末梢網絡中的接收者Host A和Host C通過組播組224.1.1.1點播視頻節目。

·     要求通過在Switch B上配置IGMP代理,使其在不運行PIM-DM的情況下實現組成員關係的維護和組播數據的正常轉發。

2. 組網圖

圖1-7 IGMP代理配置組網圖

 

3. 配置準備

按照組網圖配置各接口的IP地址和子網掩碼。

4. 配置步驟

(1)     使能IP組播路由,並使能PIM-DM、IGMP和IGMP代理

# 在Switch A上使能IP組播路由,在接口Vlan-interface101上使能PIM-DM,並在接口Vlan-interface100上使能IGMP。

<SwitchA> system-view

[SwitchA] multicast routing

[SwitchA-mrib] quit

[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] quit

# 在Switch B上使能IP組播路由,在接口Vlan-interface100上使能IGMP代理,並在接口Vlan-interface200上使能IGMP。

<SwitchB> system-view

[SwitchB] multicast routing

[SwitchB-mrib] quit

[SwitchB] interface vlan-interface 100

[SwitchB-Vlan-interface100] igmp proxy enable

[SwitchB-Vlan-interface100] quit

[SwitchB] interface vlan-interface 200

[SwitchB-Vlan-interface200] igmp enable

[SwitchB-Vlan-interface200] quit

5. 驗證配置

# 在Switch B上顯示IGMP代理記錄的所有組播組信息。

[SwitchB] display igmp proxy group

IGMP proxy group records in total: 1

 Vlan-interface100(192.168.1.2):

  IGMP proxy group records in total: 1

   Group address      Member state      Expires

   224.1.1.1          Delay             00:00:02

1.12  IGMP常見故障處理

1.12.1  接收者側設備上無組成員信息

1. 故障現象

當某主機發送了加入組播組G的報文後,離該主機最近的設備上卻沒有組播組G的組成員信息。

2. 故障分析

·     組網、接口連線的正確與否以及接口的協議層是否up將直接影響組播組成員信息的生成;

·     在設備上必須使能IP組播路由,在連接主機的接口上必須使能IGMP;

·     如果路由器接口上運行的IGMP版本比主機的低,那麼設備將無法識別主機發來的較高版本的IGMP報告報文;

·     如果在接口上使用命令igmp group-policy對加入組播組G進行了限製後,該接口將不再接收未通過過濾的那些要求加入組播組G的報文。

3. 處理過程

(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的報告報文。

1.12.2  同一網段各設備上組成員關係不一致

1. 故障現象

在同一網段的不同IGMP設備上,各自維護的組成員關係不一致。

2. 故障分析

·     運行IGMP的設備為每個接口維護多個參數,各參數之間相互影響,非常複雜。如果同一網段設備的IGMP接口參數配置不一致,必然導致組成員關係的混亂;

·     另外,IGMP目前有3個版本,版本不同的IGMP設備與主機之間雖然可以部分兼容,但是連接在同一網段的所有設備必須運行相同版本的IGMP。如果同一網段設備的IGMP版本不一致,也將導致IGMP組成員關係的混亂。

3. 處理過程

(1)     檢查IGMP配置。通過命令display current-configuration觀察接口上IGMP的配置信息。

(2)     在同一網段的所有設備上執行命令display igmp interface來檢查IGMP相關定時器的參數,確保配置一致。

(3)     通過命令display igmp interface來檢查各設備上運行的IGMP版本是否一致。

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

BOB登陆
官網
聯係我們