05-IGMP配置
本章节下载: 05-IGMP配置 (565.12 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查询器(Router 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路由器(Router A和Router 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组播服务,则需在Router A上配置IGMP SSM Mapping规则。
配置完成后,当Router A收到来自主机的IGMPv1或IGMPv2报告报文时,首先检查该报文中所携带的组播组地址G,然后根据检查结果的不同分别进行处理:
(1) 如果G不在SSM组地址范围内,则提供ASM组播服务。
(2) 如果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”。
在如图1-4所示的一些简单网络拓扑中,诸如Router 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
表1-1 IGMP配置任务简介
配置IGMP基本功能 |
|||
配置IGMP版本 |
|||
调整IGMP性能 |
|||
配置IGMP代理 |
使能IGMP代理功能 |
||
配置IGMP代理的负载分担功能 |
|||
配置IGMP用户的接入策略 |
|||
配置带VLAN封装的静态加入 |
在配置IGMP基本功能之前,需完成以下任务:
· 配置PIM协议
在配置IGMP基本功能之前,需准备以下数据:
· IGMP的版本
· 组播组过滤的ACL规则
使能IP组播路由,并进入MRIB视图 |
缺省情况下,IP组播路由处于关闭状态 本命令的详细介绍请参见“IP组播命令参考”中的“组播路由与转发” |
|
缺省情况下,IGMP处于关闭状态 |
由于不同版本IGMP协议的报文结构与种类不同,因此需要为同一网段上的所有路由器配置相同版本的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”。
如果不希望接口所在网段上的主机加入某些组播组,可在该接口上配置ACL规则作为过滤器,接口将按照该规则对收到的IGMP成员关系报告报文进行过滤,只为该规则所允许的组播组维护组成员关系。
由于组播组过滤器只能过滤IGMP报文,因此无法对接口静态加入组播组或组播源组进行限制。
在调整IGMP性能之前,需完成以下任务:
· 配置IGMP基本功能
只有当设备运行在IGMPv2或IGMPv3时,本配置才有效。
在某些应用(如ADSL拨号上网)中,IGMP查询器的一个端口唯一对应着一台接收者主机,当主机在多个组播组间频繁切换(如进行电视选台)时,为了快速响应主机的离开组报文,可以在IGMP查询器上开启IGMP快速离开功能。
在使能了IGMP快速离开功能之后,当IGMP查询器收到来自主机的离开组报文时,不再发送IGMP特定组查询报文或IGMP特定源组查询报文,而是直接向上游发送离开通告,这样一方面减小了响应延迟,另一方面也节省了网络带宽。
缺省情况下,组播组成员快速离开功能处于关闭状态 |
在SSM网络中,由于各种可能的限制,某些接收者主机只能运行IGMPv1或IGMPv2。为了向这些仅支持IGMPv1或IGMPv2的接收者主机提供SSM服务,可以在路由器上配置IGMP SSM Mapping规则。
由于IGMP SSM Mapping不会对IGMPv3的报告报文进行处理,因此为保证本网段内运行任意版本IGMP的接收者主机都能得到SSM服务,建议在该网段的接口上运行IGMPv3。
在配置IGMP SSM Mapping规则之前,需完成以下任务:
· 配置IGMP基本功能
进入IGMP视图 |
||
在IGMP代理设备上,请先根据网络拓扑确定其路由器接口和主机接口,然后在路由器接口上使能并配置IGMP功能,在主机接口上使能IGMP代理功能。
在配置IGMP代理之前,需完成以下任务:
· 一个接口上如果同时使能IGMP代理功能和IGMP协议,IGMP协议将不会生效。在已使能IGMP代理功能的接口上配置其它IGMP命令时,只有igmp version命令会生效。
· 如果在一台设备上同时使能IGMP代理功能和组播路由协议(如PIM和MSDP),组播路由协议将不会生效。而由于IGMPv1查询器要由PIM选出的DR来充当,因此若IGMP代理设备的路由器接口运行IGMPv1,则该接口将无法成为DR,从而无法充当IGMP查询器,此时为使该接口下的主机能够接收组播数据,需在该接口上使能非查询器转发功能。
表1-8 使能IGMP代理功能
使能IP组播路由,并进入MRIB视图 |
缺省情况下,IP组播路由处于关闭状态 本命令的详细介绍请参见“IP组播命令参考”中的“组播路由与转发” |
|
使能IGMP代理功能 |
缺省情况下,IGMP代理功能处于关闭状态 |
组播数据通常只被查询器转发,非查询器不具备组播转发能力,这样可避免组播数据被重复转发。但如果IGMP代理设备的路由器接口未能当选查询器,应在该接口上使能非查询器转发功能,否则下游主机将无法收到组播数据。
在共享网段内存在多台IGMP代理设备的情况下,如果其中一台IGMP代理设备的路由器接口已当选为查询器,不应再在其它IGMP代理设备的路由器接口上使能非查询器转发功能,否则该网段将收到多份重复的组播数据。
当在IGMP代理设备的多个接口上使能了IGMP代理功能时:
· 如果关闭了IGMP代理的负载分担功能,则只有IP地址最大的接口会转发组播流量。
· 如果使能了IGMP代理的负载分担功能,则可通过这些接口对组播流量按组进行负载分担。
表1-10 配置IGMP代理的负载分担功能
进入IGMP视图 |
||
使能IGMP代理的负载分担功能 |
缺省情况下,IGMP代理的负载分担功能处于关闭状态 |
· 仅CSPEX-1204单板支持配置本功能。
· 可控组播不支持IPoE专线方式。关于IPoE的详细介绍请参见“二层技术-广域网接入配置指导”中的“IPoE”。
· 可控组播不支持IPoE、PPPoE和Portal的用户侧接口作为组播源的入接口。关于PPPoE的详细介绍请参见“二层技术-广域网接入配置指导”中的“PPP”。关于Portal的详细介绍请参见“安全配置指导”中的“Portal”。
· L3VE接口及其子接口不支持IPoE和PPPoE可控组播功能。关于L3VE接口及其子接口的详细介绍请参见“MPLS配置指导”中的“L2VPN接入L3VPN或IP骨干网”。
· 当用户侧接口配置了QinQ终结或模糊Dot1q终结功能时,为确保组播数据按会话记录的用户进行正常转发,要求必须通过igmp join-by-session命令开启设备的按会话记录用户加入组播组功能。对于可控组播功能的PPPoE接入方式不存在该限制。关于QinQ终结和模糊Dot1q终结的详细介绍请参见“二层技术-以太网交换配置指导”中的“VLAN终结”。
· 配置IGMP基本功能(请勿使用IGMPv1版本,否则将无IGMP查询器可用)
进入三层以太网接口/三层以太网子接口/三层聚合接口/三层聚合子接口/VT接口视图 |
interface interface-type { interface-number | interface-number.subnumber } |
|
如果在一个User Profile下指定了某ACL规则作为IGMP用户的接入策略,当被授权此User Profile的用户上线后,设备将按照该规则对用户发送的IGMP成员关系报告报文进行过滤,只为该规则所允许的组播组维护组成员关系。
在RADIUS服务器上还可以配置用户授权的组列表,并与用户授权的User Profile共同构成了用户的授权信息。当用户发送的IGMP成员关系报告报文只要能通过其中的一项,就允许通过。
表1-12 配置IGMP用户的接入策略
进入ISP域视图 |
||
配置当前ISP域的缺省授权User Porfile |
缺省情况下,当前ISP域无缺省授权User Porfile 如果RADIUS服务器上指定了用户授权的User Profile,则以服务器的配置为准 |
|
配置IGMP用户的接入策略 |
缺省情况下,没有配置IGMP用户的接入策略,即IGMP用户未被授权加入组播组 通过多次执行本命令可以配置多条IGMP用户接入策略,用户发送的IGMP成员关系报告报文只需匹配其中一条就允许通过 |
通常情况下,BRAS设备按接口记录用户加入的组播组,只会向物理接口发送一份组播报文,组播的复制分发工作将由运行IGMP Snooping的下游设备完成。
当下游设备不支持IGMP Snooping时,可以在BRAS设备的下游接口上配置按会话记录用户加入的组播组,BRAS设备将按会话复制组播报文,并向接口下的每位用户分别发送一份。
如果接口上存在不带VLAN封装的静态加入配置,当在该接口上进行本配置时系统会自动删除这些不带VLAN封装的静态表项。
进入三层以太网接口/三层以太网子接口/三层聚合接口/三层聚合子接口视图 |
interface interface-type { interface-number | interface-number.subnumber } |
|
由于可控组播中的用户带有VLAN封装,因此在BRAS设备的子接口上配置静态加入时也要带有VLAN封装,否则该子接口将无法加入相应的组播组或组播源组。
在子接口上配置了带VLAN封装的静态加入后,当该VLAN内的用户上线,或指定该子接口转发该VLAN的组播数据时,将创建相应的静态组播表项。
表1-14 配置带VLAN封装的静态加入
进入三层以太网子接口/三层聚合子接口视图 |
interface interface-type { interface-number | interface-number.subnumber } |
|
执行reset igmp group命令可能导致接收者中断组播信息的接收。
在完成上述配置后,在任意视图下执行display命令可以显示配置后IGMP的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除IGMP的统计信息。
表1-15 IGMP显示和维护
显示IGMP组播组的信息 |
|
显示接口上IGMP配置和运行信息 |
|
显示IGMP代理记录的组播组信息 |
|
显示IGMP代理路由表的信息 |
|
display igmp [ vpn-instance vpn-instance-name ] ssm-mapping group-address |
|
显示IGMP用户的授权信息 |
display igmp user-authorization [ interface interface-type interface-number ] |
清除IGMP组的动态加入记录 |
reset igmp group命令只能清除动态加入记录,无法清除静态加入记录。
· 网络中运行OSPF和PIM-DM,接收者通过组播方式接收视频点播信息,不同组织的接收者组成末梢网络N1和N2,Host A与Host C分别为N1和N2中的组播信息接收者。
· PIM网络中的Router A连接N1,Router B与Router C共同连接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] 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] 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] 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
# 在Router A上限定接口GigabitEthernet1/0/1下的主机只能加入组播组224.1.1.1。
[RouterA-acl-basic-2001] rule permit source 224.1.1.1 0
[RouterA-acl-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网络中同时采用ASM和SSM方式提供组播服务,将Router D的接口GigabitEthernet1/0/3配置为C-BSR和C-RP,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地址 |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
(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] 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] 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) 配置C-BSR和C-RP
# 在Router D上配置C-BSR和C-RP的位置。
[RouterD-pim] c-bsr 192.168.4.1
[RouterD-pim] c-rp 192.168.4.1
[RouterD-pim] quit
(4) 配置SSM组播组的地址范围
# 在Router D上配置SSM组播组的地址范围为232.1.1.0/24。
[RouterD-acl-basic-2000] rule permit source 232.1.1.0 0.0.0.255
[RouterD-acl-basic-2000] quit
[RouterD] pim
[RouterD-pim] ssm-policy 2000
[RouterD-pim] quit
Router A、Router B和Router C的配置与Router D相似,配置过程略。
# 在Router D上配置IGMP SSM Mapping规则。
[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组播组信息。
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)
RP: 192.168.4.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(s) information:
Total number of downstreams: 1
1: GigabitEthernet1/0/1
Protocol: igmp, UpTime: 00:13:25, Expires: -
(133.133.3.1, 232.1.1.1)
RP: 192.168.4.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(s) information:
Total number of downstreams: 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] 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] 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/1/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地址 |
||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
(1) 配置IP地址和单播路由协议
请按照图1-8配置各接口的IP地址和子网掩码,并在PIM-SM域内的各路由器上配置OSPF协议,具体配置过程略。
(2) 使能IP组播路由,并配置PIM-SM
# 在Router A上使能IP组播路由,并在接口GigabitEthernet1/1/1~GigabitEthernet1/1/3上使能PIM-SM。
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/1/1
[RouterA-GigabitEthernet1/1/1] pim sm
[RouterA-GigabitEthernet1/1/1] quit
[RouterA] interface gigabitethernet 1/1/2
[RouterA-GigabitEthernet1/1/2] pim sm
[RouterA-GigabitEthernet1/1/2] quit
[RouterA] interface gigabitethernet 1/1/3
[RouterA-GigabitEthernet1/1/3] pim sm
[RouterA-GigabitEthernet1/1/3] quit
# 在Router B上使能IP组播路由,并在各接口上使能PIM-SM。
[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/1/2配置为C-BSR和C-RP。
[RouterA-pim] c-bsr 11.110.2.1
[RouterA-pim] c-rp 11.110.2.1
[RouterA-pim] quit
(3) 在BRAS设备上配置接入业务
# 配置RADIUS客户端。
[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
此外,还需要修改RADIUS服务器上的配置文件:增加相应的用户,并指定与客户端一致的密码和IP地址。
# 创建ISP域,并配置业务类型和接入方式。
[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/1/5.1和GigabitEthernet1/1/5.2上分别配置VLAN终结,并绑定虚拟模板接口。
[RouterA] interface gigabitethernet 1/1/5.1
[RouterA-GigabitEthernet1/1/5.1] vlan-type dot1q vid 1 second-dot1q 1 to 100
[RouterA-GigabitEthernet1/1/5.1] pppoe-server bind virtual-template 1
[RouterA-GigabitEthernet1/1/5.1] quit
[RouterA] interface gigabitethernet 1/1/5.2
[RouterA-GigabitEthernet1/1/5.2] vlan-type dot1q vid 2 second-dot1q 1 to 100
[RouterA-GigabitEthernet1/1/5.2] pppoe-server bind virtual-template 2
[RouterA-GigabitEthernet1/1/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] rule permit source 224.1.1.1 0
[RouterA-acl-basic-2000] rule permit source 225.1.1.1 0
[RouterA-acl-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 number 2001
[RouterA-acl-basic-2001] rule permit source 225.1.1.1 0
[RouterA-acl-basic-2001] rule permit source 226.1.1.1 0
[RouterA-acl-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
在RADIUS服务器上配置用户授权的组列表,也同样可以控制用户加入的组播组。
# 假设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/1/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 可控组播配置组网图(IPoE接入方式)
IP地址 |
IP地址 |
||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
(1) 配置IP地址和单播路由协议
请按照图1-9配置各接口的IP地址和子网掩码,并在PIM-SM域内的各路由器上配置OSPF协议,具体配置过程略。
(2) 使能IP组播路由,并配置PIM-SM
# 在Router A上使能IP组播路由,并在接口GigabitEthernet1/1/1~GigabitEthernet1/1/3上使能PIM-SM。
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/1/1
[RouterA-GigabitEthernet1/1/1] pim sm
[RouterA-GigabitEthernet1/1/1] quit
[RouterA] interface gigabitethernet 1/1/2
[RouterA-GigabitEthernet1/1/2] pim sm
[RouterA-GigabitEthernet1/1/2] quit
[RouterA] interface gigabitethernet 1/1/3
[RouterA-GigabitEthernet1/1/3] pim sm
[RouterA-GigabitEthernet1/1/3] quit
# 在Router B上使能IP组播路由,并在各接口上使能PIM-SM。
[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/1/2配置为C-BSR和C-RP。
[RouterA-pim] c-bsr 11.110.2.1
[RouterA-pim] c-rp 11.110.2.1
[RouterA-pim] quit
(3) 在BRAS设备上配置接入业务
# 配置RADIUS客户端。
[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
此外,还需要修改RADIUS服务器上的配置文件:增加相应的用户,并指定与客户端一致的密码和IP地址。
# 创建ISP域,并配置业务类型和接入方式。
[RouterA-isp-isp1] service-type stb
[RouterA-isp-isp1] authentication ipoe radius-scheme spec
[RouterA-isp-isp1] authorization ipoe radius-scheme spec
[RouterA-isp-isp1] accounting ipoe radius-scheme spec
[RouterA-isp-isp1] quit
[RouterA] domain isp2
[RouterA-isp-isp2] service-type stb
[RouterA-isp-isp2] authentication ipoe radius-scheme spec
[RouterA-isp-isp2] authorization ipoe radius-scheme spec
[RouterA-isp-isp2] accounting ipoe radius-scheme spec
[RouterA-isp-isp2] quit
# 启用DHCP服务。
# 为ISP域创建并配置DHCP地址池。
[RouterA] dhcp server ip-pool 1
[RouterA-dhcp-pool-1] network 192.168.2.1 mask 255.255.255.0
[RouterA-dhcp-pool-1] domain-name isp1
[RouterA-dhcp-pool-1] quit
[RouterA] dhcp server ip-pool 2
[RouterA-dhcp-pool-2] network 192.168.3.1 mask 255.255.255.0
[RouterA-dhcp-pool-2] domain-name isp2
[RouterA-dhcp-pool-2] quit
# 在用户的接入接口GigabitEthernet1/1/5.1和GigabitEthernet1/1/5.2上分别配置VLAN终结,并配置DHCP服务。
[RouterA] interface gigabitethernet 1/1/5.1
[RouterA-GigabitEthernet1/1/5.1] vlan-type dot1q vid 1 second-dot1q 1 to 100
[RouterA-GigabitEthernet1/1/5.1] dhcp server apply ip-pool 1
[RouterA-GigabitEthernet1/1/5.1] ip subscriber routed enable
[RouterA-GigabitEthernet1/1/5.1] ip subscriber initiator dhcp enable
[RouterA-GigabitEthernet1/1/5.1] ip subscriber dhcp domain isp1
[RouterA-GigabitEthernet1/1/5.1] quit
[RouterA] interface gigabitethernet 1/1/5.2
[RouterA-GigabitEthernet1/1/5.2] vlan-type dot1q vid 2 second-dot1q 1 to 100
[RouterA-GigabitEthernet1/1/5.2] dhcp server apply ip-pool 2
[RouterA-GigabitEthernet1/1/5.2] ip subscriber routed enable
[RouterA-GigabitEthernet1/1/5.2] ip subscriber initiator dhcp enable
[RouterA-GigabitEthernet1/1/5.2] ip subscriber dhcp domain isp2
[RouterA-GigabitEthernet1/1/5.2] quit
(4) 在BRAS设备上配置可控组播
# 在子接口上使能IGMP和可控组播功能,并配置按会话记录用户加入的组播组。
[RouterA] interface gigabitethernet 1/1/5.1
[RouterA-GigabitEthernet1/1/5.1] igmp enable
[RouterA-GigabitEthernet1/1/5.1] igmp authorization-enable
[RouterA-GigabitEthernet1/1/5.1] igmp join-by-session
[RouterA-GigabitEthernet1/1/5.1] quit
[RouterA] interface gigabitethernet 1/1/5.2
[RouterA-GigabitEthernet1/1/5.2] igmp enable
[RouterA-GigabitEthernet1/1/5.2] igmp authorization-enable
[RouterA-GigabitEthernet1/1/5.2] igmp join-by-session
[RouterA-GigabitEthernet1/1/5.2] quit
# 配置IGMP用户的接入策略。
[RouterA-acl-basic-2000] rule permit source 224.1.1.1 0
[RouterA-acl-basic-2000] rule permit source 225.1.1.1 0
[RouterA-acl-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 number 2001
[RouterA-acl-basic-2001] rule permit source 225.1.1.1 0
[RouterA-acl-basic-2001] rule permit source 226.1.1.1 0
[RouterA-acl-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
在RADIUS服务器上配置用户授权的组列表,也同样可以控制用户加入的组播组。
# 假设Host A和Host C两个用户已上线,此时在Router A上可显示IGMP用户的授权信息。
[RouterA] display igmp user-authorization
Authorized users in total: 2
User name: user1@isp1
Access type: IPoE
Interface: Multicast-UA1
Access interface: GigabitEthernet1/1/5.1
VLAN ID: 1
Second VLAN ID: 2
Maximum programs for order: 4
User profile: profile1
Authorized programs list:
User name: user1@isp2
Access type: IPoE
Interface: Multicast-UA2
Access interface: GigabitEthernet1/1/5.2
VLAN ID: 2
Second VLAN ID: 2
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/1/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。
IP地址 |
IP地址 |
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
(1) 配置IP地址和单播路由协议
请按照图1-10配置各接口的IP地址和子网掩码,并在PIM-SM域内的各路由器上配置OSPF协议,具体配置过程略。
(2) 使能IP组播路由,并配置PIM-SM
# 在Router A上使能IP组播路由,并在接口GigabitEthernet1/1/1~GigabitEthernet1/1/3上使能PIM-SM。
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface gigabitethernet 1/1/1
[RouterA-GigabitEthernet1/1/1] pim sm
[RouterA-GigabitEthernet1/1/1] quit
[RouterA] interface gigabitethernet 1/1/2
[RouterA-GigabitEthernet1/1/2] pim sm
[RouterA-GigabitEthernet1/1/2] quit
[RouterA] interface gigabitethernet 1/1/3
[RouterA-GigabitEthernet1/1/3] pim sm
[RouterA-GigabitEthernet1/1/3] quit
# 在Router B上使能IP组播路由,并在各接口上使能PIM-SM。
[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/1/2配置为C-BSR和C-RP。
[RouterA-pim] c-bsr 11.110.2.1
[RouterA-pim] c-rp 11.110.2.1
[RouterA-pim] quit
(3) 在BRAS设备上配置接入业务
# 配置RADIUS客户端。
[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 http://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
· 修改RADIUS服务器上的配置文件:增加相应的用户,并指定与客户端一致的密码和IP地址。
· 在iMC服务器上:配置上线用户的地址范围,配置到用户方向的路由下一跳为10.110.5.1,并指定与客户端一致的密码和IP地址。
· 在用户主机上:配置ISP 1中主机到iMC服务器方向的路由下一跳为192.168.1.1;配置ISP 2中主机到iMC服务器方向的路由下一跳为192.168.2.1。
# 创建ISP域,并配置业务类型和接入方式。
[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/1/5和GigabitEthernet1/1/6上分别配置Portal服务。
[RouterA] interface gigabitethernet 1/1/5
[RouterA-GigabitEthernet1/1/5] portal enable method direct
[RouterA-GigabitEthernet1/1/5] portal domain isp2
[RouterA-GigabitEthernet1/1/5] portal apply web-server spec
[RouterA-GigabitEthernet1/1/5] quit
[RouterA] interface gigabitethernet 1/1/6
[RouterA-GigabitEthernet1/1/6] portal enable method direct
[RouterA-GigabitEthernet1/1/6] portal domain isp1
[RouterA-GigabitEthernet1/1/6] portal apply web-server spec
[RouterA-GigabitEthernet1/1/6] quit
(4) 在BRAS设备上配置可控组播
# 在子接口上使能IGMP和可控组播功能,并配置按会话记录用户加入的组播组。
[RouterA] interface gigabitethernet 1/1/5
[RouterA-GigabitEthernet1/1/5] igmp enable
[RouterA-GigabitEthernet1/1/5] igmp authorization-enable
[RouterA-GigabitEthernet1/1/5] igmp join-by-session
[RouterA-GigabitEthernet1/1/5] quit
[RouterA] interface gigabitethernet 1/1/6
[RouterA-GigabitEthernet1/1/6] igmp enable
[RouterA-GigabitEthernet1/1/6] igmp authorization-enable
[RouterA-GigabitEthernet1/1/6] igmp join-by-session
[RouterA-GigabitEthernet1/1/6] quit
# 配置IGMP用户的接入策略。
[RouterA-acl-basic-2000] rule permit source 224.1.1.1 0
[RouterA-acl-basic-2000] rule permit source 225.1.1.1 0
[RouterA-acl-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 number 2001
[RouterA-acl-basic-2001] rule permit source 225.1.1.1 0
[RouterA-acl-basic-2001] rule permit source 226.1.1.1 0
[RouterA-acl-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
在RADIUS服务器上配置用户授权的组列表,也同样可以控制用户加入的组播组。
# 假设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/1/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/1/5
Maximum programs for order: 4
User profile: profile2
Authorized programs list:
当某主机发送了加入组播组G的报文后,离该主机最近的路由器上却没有组播组G的组成员信息。
· 组网、接口连线的正确与否以及接口的协议层是否up将直接影响组播组成员信息的生成;
· 在路由器上必须使能组播路由,在连接主机的接口上必须使能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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!