华为组播之IGMP配置教程
首页 > HuaWei > 组播配置   作者:浙江思唯网络  2016年3月17日 12:06 星期四  字号:   评论:1 条
时间:2016-3-17 12:06   评论:1 条 

一、IGMP配置

使能IP组播路由功能是配置一切组播功能的前提。配置组播协议之前,必须先使能IP组播路由功能。要在组播设备上配置IGMP,首先要在与组成员相连的接口上使能IGMP功能。在配置IGMP基本功能之前,需配置单播路由协议,使各设备间单播路由可达。

1、打开IGMP功能

1.1、设置组播转发模式为大规格模式(可选)

[Huawei]set multicast forwarding-table super-mode

 

# 在某些大组播业务场景下,设备需要生成大量的IGMP组表项,而且表项数量可能超过了设备默认的IGMP组表项规格,导致部分表项无法生成。

配置此功能后,设备上的IGMP组表项数量可以达到设备能够支持的最大的IGMP组表项规格,最大限度的满足大组播业务的场景需求。

配置此功能后,IGMP查询器的健壮系数(Robust-count)默认值由2变为3,其他IGMP查询器的存活时间(Timer other-querier-present)默认值由125s变为245sIGMP普遍组查询间隔(Timer query)默认值由60s变为120s

 

1.2、使能IP组播路由功能

[Huawei]multicast routing-enable

 

1.3、接口下使能IP组播功能

[Huawei-GigabitEthernet0/0/1]igmp enable

 

1.4、使能VPN实例的IGMP

[Huawei]ip vpn-instance 1

[Huawei-vpn-instance-1]

[Huawei-vpn-instance-1]multicast routing-enable

 

[Huawei-GigabitEthernet0/0/2]ip binding vpn-instance ?   # 将接口与vpn实例关联

  STRING<1-31>  VPN instance name

 

[Huawei-GigabitEthernet0/0/2]igmp enable

 

2IGMP版本设置

2.1、全局IGMP版本配置

[Huawei]igmp

[Huawei-igmp]version ?

  INTEGER<1-3>  Value of the version

 

2.2、接口IGMP版本配置

[Huawei-GigabitEthernet0/0/1]igmp version ?

  INTEGER<1-3>  Value of the version

 

3、静态组播组配置

在某些特殊的应用场景中,比如:

网络中存在稳定的组播组成员;主机无法发送报告报文,但是又需要将组播数据转发到该网段。

为了实现组播数据的快速、稳定转发,或者将组播数据引流到接口,可以在组播交换机的用户侧接口上配置静态组播组。

在接口上配置静态组播组后,组播交换机就认为此接口网段上一直存在该组播组的成员,从而转发该组的组播数据。

3.1、配置接口静态加入组播组或组播源组(可选)

[Huawei-GigabitEthernet0/0/1]igmp static-group ?

  X.X.X.X  Group address

 

[Huawei-GigabitEthernet0/0/1]igmp static-group 239.1.1.1 ?

  dot1q          IEEE 802.1Q encapsulation

  inc-step-mask  The mask for the increment range of the static group address   # 静态组地址递增范围的掩码

  qinq           802.1Q in 802.1Q

  source         Specify the source

  <cr>          

        

[Huawei-GigabitEthernet0/0/1]igmp static-group 239.1.1.1 source ?

  X.X.X.X  Source address

 

[Huawei-GigabitEthernet0/0/1]igmp static-group 239.1.1.1 source 10.1.1.1 ?

  dot1q  IEEE 802.1Q encapsulation

  qinq   802.1Q in 802.1Q

  <cr> 

# 如果在Loopback接口上配置静态加入组播组或组播源组,组播交换机将组播数据引入后不会立即转发出去,当有用户点播到该组数据才转发,从而减少网络流量。

其他支持IGMP的接口会立即转发。

比如,对于用户可能点播而尚未点播的组播组,可以在Loopback接口上配置;对于某些存在稳定成员的组播组,可以在与用户网段相连的接口上配置。

 

4、配置接口加入组播组(缺省可加入任何组播组)

为了限定接口所在网段的成员主机加入的组播组范围,可以配置ACL规则,对收到的成员报告报文进行过滤,只对该规则允许的组播组维护组成员关系。

[Huawei-GigabitEthernet0/0/1]igmp group-policy ?

  INTEGER<2000-3999>  Apply basic or advanced ACL

 

[Huawei-GigabitEthernet0/0/1]igmp group-policy 2000 ?

  1     Version 1

  2     Version 2

  3     Version 3

  <cr> 

 

5IGMP Router-Alert选项配置

通常情况下,网络设备收到报文时,只有目的IP地址为本设备接口地址的报文才会上送给相应的协议模块处理。如果协议报文的目的地址不是本设备的接口地址,比如IGMP协议报文,由于其目的地址为组播地址,这种情况下就无法上送给IGMP协议模块处理,导致正常的组成员关系不能维护。

为了解决此类问题,Router-Alert选项应运而生。如果IP报文头中携带Router-Alert选项,设备在接收到此类报文后,会直接上送给相应的协议模块处理,而不检查目的地址。

出于兼容性考虑,当前交换机在收到IGMP报文后,无论其IP报文头是否包含Router-Alert选项,缺省情况下都会上送给IGMP协议模块处理。

为了提高设备性能、减少不必要的开支,同时出于协议安全性的考虑,也可以配置交换机丢弃未携带Router-Alert选项的IGMP报文。

交换机在发送IGMP报文时,也可以选择是否需要携带Router-Alert选项。

缺省情况下,组播交换机发送的IGMP报文中携带Router-Alert选项。

当需要与不支持Router-Alert选项的设备互通时,可以配置交换机在发送IGMP报文时不包含Router-Alert选项。

配置Router-Alert选项同时支持全局配置(即IGMP视图)和接口配置,生效原则如下:

IGMP视图下的配置全局有效,在接口视图下的配置只对该接口有效。

如果接口视图和IGMP视图下都配置了命令,则优先选择接口视图下配置的值。接口视图下没有配置时,IGMP视图下配置的值有效。

如果IGMP视图下配置非缺省值,则接口视图下配置的缺省值无效。

5.1、配置设备在收到IGMP报文时检查Router-Alert选项,丢弃不包含Router-Alert选项的IGMP报文。

[Huawei-igmp]require-router-alert

[Huawei-GigabitEthernet0/0/1]igmp require-router-alert

 

5.2、配置设备在发送的IGMP报文头中包含Router-Alert选项。

[Huawei-igmp]send-router-alert

[Huawei-GigabitEthernet0/0/1]igmp send-router-alert

 

6IGMP查询器参数配置

IGMP通过查询和响应报文维护组成员关系。

当同一网段上有多台组播路由交换机时,由IGMP查询器负责发送IGMP查询报文。IGMP查询器在工作过程中使用了多项参数,当这些参数均为缺省值时,IGMP查询器可以正常工作。

同时,为了使组成员关系得到及时的更新维护,避免报文发送过多造成网络拥塞,也可以通过命令行对IGMP查询器的参数进行合理的调整。

下表1列出了IGMP查询器各参数的说明和缺省值。

1 IGMP查询器各参数的说明和缺省值

参数

参数说明

缺省值

IGMP普遍组查询报文的发送时间间隔

查询器周期性的发送普遍组查询报文,维护接口上的组成员关系。

本参数定义了查询器发送普遍组查询报文的时间间隔。

60s

设置组播转发模式为大规格模式后,IGMP普遍组查询间隔(Timer query)默认值由60s变为120s

IGMP查询器的健壮系数

 查询器的健壮系数是为了弥补可能发生的网络丢包而设置的报文重传次数

该参数用来规定以下两个值:

查询器启动时,发送健壮系数次的普遍组查询报文

查询器收到针对某组播组的离开报文时,发送健壮系数次的特定组\源组查询报文,询问该组播组是否还存在成员。

2

设置组播转发模式为大规格模式后,IGMP查询器的健壮系数(Robust-count)默认值由2变为3

IGMP普遍组查询报文的最大响应时间

组播组成员接收到一个IGMP普遍组查询报文后,会在最大响应时间内发送Report报文回应IGMP查询器。

10s

其他IGMP查询器的存活时间

如果非查询器在其他IGMP查询器的存活时间内收不到查询报文,就认为查询器失效,自动发起查询器选举。

IGMP普遍组查询报文的发送时间间隔、IGMP查询器健壮系数和IGMP普遍组查询报文的最大响应时间都取缺省值时,其他IGMP    查询器的存活时间为125

设置组播转发模式为大规格模式后,其他IGMP查询器的存活时间(Timer other-querier-present)默认值由125s变为245s

IGMP特定组\源组查询报文的发送时间间隔

当查询器收到主机退出某组播组的离开报文时,会连续发送IGMP特定组\源组查询报文,询问该组播组是否还存在成员。

本参数定义了发送报文的时间间隔。

1s

    在共享网段内,如果多台设备的用户侧接口都使能了IGMP,应确保设备上配置的查询器参数一致,否则有可能导致IGMP协议无法正常运行。

    此项配置同时支持全局配置(即IGMP视图)和接口配置,生效原则如下:

    IGMP视图下的配置全局有效,在接口视图下的配置只对该接口有效。

    如果接口视图和IGMP视图下都配置了命令,则优先选择接口视图下配置的值。接口视图下没有配置时,IGMP视图下配置的值有效。

    如果IGMP视图下配置非缺省值,则接口视图下配置的缺省值无效。

    实际配置中,要确保“IGMP查询报文最大响应时间”<IGMP普遍组查询报文发送时间间隔”<“其他IGMP查询器存活时间”。

6.1、设置设备发送IGMP普遍组查询报文的时间间隔

[Huawei-igmp]timer ?

  other-querier-present  Specify the Other Querier Present timer  

  query                  Specify the query timer 

[Huawei-GigabitEthernet0/0/1]undo portswitch  #(可选) 以太网接口切换到三层

[Huawei-GigabitEthernet0/0/1]igmp timer ?

  other-querier-present  Specify the Other Querier Present timer

  query                  Specify the query timer

 

[Huawei-igmp]timer query ?

  INTEGER<1-18000>  Interval of the query timer (in seconds)

 

6.2、设置其他IGMP查询器的存活时间

[Huawei-igmp]timer other-querier-present ?

  INTEGER<60-300>  Interval of the Other Querier Present timer (in seconds)

 

6.3、设置GMP查询器的健壮系数(重传次数)

[Huawei-igmp]robust-count ?

  INTEGER<2-5>  Value of the robustness count

[Huawei-GigabitEthernet0/0/1]igmp robust-count ?

  INTEGER<2-5>  Value of the robustness count

 

6.4IGMP普遍组查询报文的最大响应时间

[Huawei-igmp]max-response-time ?

  INTEGER<1-25>  Value of the maximum response time (in seconds)

[Huawei-GigabitEthernet0/0/1]igmp max-response-time ?

  INTEGER<1-25>  Value of the maximum response time (in seconds)

 

6.5、设备发送IGMP特定组\源组查询报文的时间间隔

[Huawei-igmp]lastmember-queryinterval ?

  INTEGER<1-5>  Value of last member query interval (in seconds)

[Huawei-GigabitEthernet0/0/1]igmp lastmember-queryinterval ?

  INTEGER<1-5>  Value of last member query interval (in seconds)

 

7IGMP快速离开(prompt-leave 设置

    在某些应用中,IGMP查询器的一个接口下只连接着一台成员主机。

    当主机在多个组播组间频繁切换时,为了快速响应主机的离开组报文,可以在IGMP查询器上配置IGMP快速离开功能。

    在配置了IGMP快速离开功能之后,当查询器收到来自主机的离开报文时,不再发送特定组查询报文,而是直接向上游发送离开通告。

    这样一方面减小了响应延迟,另一方面也节省了网络带宽。

    IGMP快速离开功能仅适用于IGMPv2IGMPv3

[Huawei-igmp]prompt-leave ?

  group-policy  Specify group policy to allow group membership protocol leaves

  <cr>         

 

[Huawei-igmp]prompt-leave g        

[Huawei-igmp]prompt-leave group-policy ?

  INTEGER<2000-3999>  Apply basic or advanced ACL

[Huawei-GigabitEthernet0/0/1]igmp  prompt-leave ?

  group-policy  Specify group policy to allow group membership protocol leaves

  <cr>

 

8IGMP On-Demand配置

    在标准的IGMP工作机制中,查询器通过周期性发送查询报文并接收成员反馈的报告和离开报文来了解组播组成员信息。

    当网络中的组成员关系比较稳定时,为了减少IGMP的报文交互数目,降低网络流量,可以在查询器上配置IGMP On-Demand功能。

    IGMP On-Demand是指查询器根据成员的要求来维护成员关系,不主动发送查询报文去收集成员状态,这样可以减少查询器和成员主机之间的IGMP报文数量。

    交换机接口上配置了IGMP On-Demand特性后:

    接口不再发送IGMP查询报文。

    收到报告报文后创建组表项,且创建的表项永不超时。

    收到IGMP离开报文后,立即删除接口上对应的组表项。

    IGMP On-Demand只适用于IGMPv2IGMPv3

   如果查询器上有动态IGMP组表项存在,请先执行reset igmp group命令清除IGMP组表项后再执行igmp on-demand命令。

[Huawei-GigabitEthernet0/0/1]igmp on-demand

 

9、过滤IGMP报文设置

    IGMP运行在成员主机和与主机网段直连的三层组播设备上,组播交换机会对收到的所有IGMP报文进行处理。

    为了提高安全性,避免网络中其他设备恶意伪造IGMP报文而影响正常的组播业务,可以在交换机与成员主机相连的接口上配置对IGMP报文进行过滤。

    这里可以过滤的报文包括查询报文、报告/离开报文。

9.1IGMP查询报文过滤

[Huawei-GigabitEthernet0/0/1] igmp query ip-source-policy { basic-acl-number | acl-name acl-name }

 

9.2IGMP报告/离开报文过滤

[Huawei-GigabitEthernet0/0/1]igmp ip-source-policy [ basic-acl-number | acl-name acl-name ]

 

    # 如果不配置ACL,交换机对IGMP报告/离开报文的源地址检查的规则如下:

    如果源地址和接收报文的接口地址在同一网段,或者源地址是0.0.0.0,正常处理该报文。

    如果源地址和接收报文的接口地址不在同一网段,丢弃该报文。

    在定义ACLrule时,通过permit参数配置接口仅接收指定源地址范围的IGMP报告/离开报文。如果ACL未定义rule,则接口默认过滤掉所有IGMP报告/离开报文。

 

10IGMP SSM Mapping配置

    为了使运行IGMPv1IGMPv2的主机能够使用SSM服务,可以在组播交换机上配置IGMP SSM Mapping功能,向运行IGMPv1IGMPv2的成员提供SSM服务。

    当成员主机支持IGMPv3时,才可以使用SSM模型提供的在成员端指定组播源的传输服务。

    有些情况下,成员主机只能运行IGMPv1IGMPv2,为了使这部分主机也能够使用SSM服务,可以在组播交换机上配置IGMP SSM Mapping功能。

    IGMP SSM Mapping通过在组播交换机上静态配置SSM地址的映射规则,将IGMPv1IGMPv2的报告报文中的(*G)信息转化为对应的(SG)信息,向运行IGMPv1IGMPv2的成员提供SSM服务。

    缺省情况下,SSM组地址范围为232.0.0.0232.255.255.255

10.1、使能IGMP SSM Mapping功能

[Huawei-GigabitEthernet0/0/1]igmp ssm-mapping enable ?

  policy  Specify policy of SSM Mapping

  <cr> 

# 为保证接口网段内运行任意版本IGMP的成员主机都能得到SSM服务,建议在交换机的接口上运行IGMPv3

 

10.2、设置组到源的SSM Mapping规则

[Huawei-igmp]ssm-mapping ?

  X.X.X.X  Specify the static SSM Mapping group address

 

[Huawei-igmp]ssm-mapping 239.1.1.1 ?

  INTEGER<4-32>  Specify the static SSM Mapping group mask length

  X.X.X.X        Specify the static SSM Mapping group mask

 

[Huawei-igmp]ssm-mapping 239.1.1.1 24 ?

  X.X.X.X  Specify the static SSM Mapping source address

 

[Huawei-igmp]ssm-mapping 239.1.1.1 24 10.10.101.1 ?

  <cr> 

 

11IGMP Limit配置

IGMP Limit提供了对组成员关系的个数限制功能。

按照组播协议的规定,组播组成员可以在任意时间、任意位置加入或退出组播组,并且加入的组成员总数不受限制。

但是当大量用户同时收看多套节目时,需要占用组播设备的大量带宽,可能会造成组播性能下降。

为了避免这种情况的发生,可以在组播交换机上配置IGMP Limit功能,通过限制全局、单实例或接口下的组播组个数,使加入组播组的用户收看更加清晰稳定的节目。

当组播交换机收到Report报文时,首先判断是否超过配置的个数限制,如果没有超过,才建立组成员关系,给用户转发该组的数据流。

设备全局的成员个数限制即对所有实例下表项总和进行限制。单实例的成员个数限制即对当前实例下表项总和进行限制。接口下的成员个数限制即对当前接口下表项总和进行限制。

组成员关系的计数规则为:

每个(*G)组成员关系计为一个表项。

每个(SG)源组成员关系计为一个表项。

*代表任意组播源,G代表组播组,S代表指定源。

使用IGMP SSM Mapping的每个(*G)组成员关系计为一个表项,按照映射生成的(SG)表项不进行计数。

若需要在同一交换机上配置基于全局、单实例和接口的IGMP Limit功能时,建议全局IGMP组成员关系个数限制值>单实例IGMP组成员关系个数限制值>基于接口IGMP组成员关系个数限制值。

11.1、全局IGMP组成员关系个数限制

[Huawei]igmp global limit ?

  INTEGER<1-49152>  Value of limit for all instances

 

11.2、单实例IGMP组成员关系个数限制

[Huawei-igmp]limit ?

  INTEGER<1-49152>  Value of limit for the instance

 

11.3、基于接口的IGMP组成员关系个数限制

[Huawei-GigabitEthernet0/0/1]igmp limit ?

  INTEGER<1-16384>  Value of interface entry limit

 

[Huawei-GigabitEthernet0/0/1]igmp limit 10 ?

  except  Specify interface limit except some acl number

  <cr>   

 

[Huawei-GigabitEthernet0/0/1]igmp limit 10 ex    

[Huawei-GigabitEthernet0/0/1]igmp limit 10 except ?

  INTEGER<2000-3999>  Apply basic or advanced ACL

  acl-name            Name ACL

 

# 如果未使用except参数,则动态创建的所有组或源组成员关系都受IGMP表项最大个数的限制。使用except参数之前,需要配置相应的ACL,接口将按照该ACL过滤收到的IGMP报告报文。

创建通过ACL过滤的表项时不受IGMP表项最大个数限制。

 您阅读这篇文章共花了: 
二维码加载中...
技术交流:欢迎在本文下方留言或加入QQ群:859273036 互相学习。     
本文地址:http://www.023wg.com/Multicast/213.html
版权声明:若无注明,本文皆为“Swiers思唯网络博客”原创,转载请保留文章出处。
lalaland2017-03-18 16:52
你好,关于IGMP查询器发送通用组查询报文我有一个疑惑。对于IGMPv1里面用通用组查询报文来获悉组播组成员关系,但是在v2和v3里面,组成员都是显式离开,那么什么情况下需要发送通用组查询报文呢?
另外我还有一个疑惑是,既然是显式离开,为什么对组播组成员要设置老化时间呢?这个老化时间的设置,主要作用是什么呢?

返回顶部    首页   
版权所有:Swiers思唯网络博客    浙江思唯网络