PIM-SM(IPv4)配置与管理
PIM-SM属于稀疏模式的域内组播路由协议。与PIM-DM不同的是,PIM-SM不会将组播数据扩散到全网,而只将组播数据传输到有组成员的网络,一般用于规模较大、组成员分布稀疏的组播网络,且PIM-SM同时适用于ASM模型和SSM模型。
与PIM-DM ASM以组播源为转发中心和SPT路径起点不同的是,在PIM-SM ASM模型中,RP是网络的转发中心和SPT路径的起点,网络中所有PIM路由器都知道RP的位置。当网络中出现组成员时,连接组成员的最后一跳PIM路由器向RP方向发送Join信息,然后沿着到达RP单播路由逆向路径向组成员端传递,并逐跳创建(*,G)表项,生成一棵以RP为根的RPT,所以它采用“拉”(Pull)模式来转发组播报文,即由组成员主动申请。当网络中出现活跃的组播源时,第一跳PIM路由器将组播信息封装在Register报文中发往RP,在RP上创建(S,G)表项,注册源信息。然后,RP会将注册信息中的组播信息解封装,沿着RPT转发到有组成员的网段。
——所谓“推”(Push)和“拉”(pull),我的理解是主要区别在于PIM路由器上路由表项的建立不同,push推是由组播源发起的,即组播源加入组播组时,将组播路由表项推到各PIM路由器上,而拉pull是由主机发起的,从主机侧开始,即从最后一跳路由器向上游发起加入报文,在沿途PIM路由器上建立组播路由表项。
如果当前RP、RPT负担较重,可通过以下DPT切换方式减轻压力。
(1)RP向组播源方向发送Join信息,构建“源-RP”的SPT。
(2)组成员端DR向组播源方向发送Join信息,构建“源-组成员”的SPT。
如上图为一个SPT切换示例,最终所有组播成员都采用以RP为核心的SPT路径进行数据转发(左图所示,SwitchB为RP),后面SwitchC经过向源方向的SPT切换,最终为HostA生成了另一条不经过RP的新路径(如右图所示),减轻了RP的压力。
在SSM模型中,网络用户能够预先知道组播源的具体位置。因此用户在加入组播组时,可以明确指定从哪些源接收信息。所以在SSM模型中,与ASM模型的最大区别就是SSM模型中无需维护RP、无需构建RPT(汇集点树)、无需注册组播源,可以直接在源与组成员之间建立SPT。组成员端DR了解到用户的需求后,直接向组播源方向发送Join信息。Join信息按照到达组播源的单播路由路径逐跳向上传输,在源与组成员之间建立SPT。
如下图,HostA、HostB都已经加入了组播组G,HostA需要接收S1的组播数据,HostB需要接收S2的组播数据,各自的组成员端DR向各自源方向发送Join信息,构建SPT。
一、PIM-SM(IPv4)特性的产品支持
在PIM-SM(IPv4)中支持的产品特性有PIM-SM for ASM、PIM-SM for SSM、调整PIM-SM控制参数、PIM BFD、PIM GR、PIM Silent。
1、PIM-SM forASM
ASM模型中,设备支持的PIM-SM基本特性如下:
●静态/动态RP(S2700/3700系列交换机不支持动态RP)。
●BSR管理域(S2700/3700系列交换机不支持)。
●SPT切换条件的配置。
●源注册控制参数的调整。
●C-RP/C-BSR参数的调整(S2700/3700系列交换机不支持动态RP)。
2、PIM-SM for SSM
在SSM模型中,设备支持通过配置SSM组策略来指定SSM组地址范围。
3、调整PIM-SM控制参数
在配置ASM或SSM的PIM-SM基本功能后,通过设备提供的缺省值,PIM-SM域就可以正常工作,将组播源发出的组播数据分发到组成员网段。同时可以根据实际需要,对下表所示的PIM-SM控制参数进行调整,多数参数与PIM-DM控制参数一样,只是在PIM-SM网络中多了“DR竞选控制参数”和“组成员加入控制参数”,而少了PIM-DM网络中的“嫁接控制参数”和“状态刷新控制参数”。
4、PIM BFD
正常情况下,如果共享网段上的当前DR(每个网段都会选举一个DR的)出现故障,其他PIM邻居会等到邻居关系超时才触发新一轮的DR竞选过程,这样组播数据传输中断的时间会比较长(不小于邻居关系的超时时间,通常是秒级)。当使能BFD功能后,其故障检测可达毫秒级,可大大缩短因DR出现故障而使组播数据传输中断的时间。因为BFD功能可快速地检测共享网段上PIM邻居的状态,当检测到对端故障后立即上报PIM模块,然后立即出发新一轮的DR竞选过程,而不是等到邻居关系超时。
PIM BFD功能也适用于共享网段上Assert(断言)竞选过程,以快速检测Assert Winner接口故障。
5、PIM GR
在堆叠系统中有时候会进行主备倒换。如果堆叠系统中有组播业务在运行,在主交换机和备交换机进行倒换后,新的主交换机将重新学习PIM路由表及组播转发表,这样会造成组播流量在学习期间的断流。在堆叠系统中配置PIM GR(Gracefule Restart)功能后,主交换机会向备交换机备份PIM路由表项、组播转发表以及需要向上游发送的Join/Prune信息。这样在主备倒换后,新的主交换机就可以主动快速地向上游发送Join信息,维持上游的加入状态。同时,PIM协议向所有使能了PIM-SM的交换机发送携带新Generation ID的Hello报文,当下游交换机发现其邻居的Generation ID发生了变化,便向邻居发送Join/Prune报文以帮助其重建路由表项,从而保证转发平面组播数据的不间断转发。
在堆叠系统中配置PIM GR功能后,如果网络中使用的是动态RP,在网络中的DR或次DR收到Generation ID改变的Hello报文后,会向发生主备倒换的堆叠系统单播发送Bootstrap报文(自举报文),堆叠系统可从该自举报文中学习并恢复RP信息。如果堆叠系统未能从自举报文中学习到网络中的RP信息,则还可从下游发送的Join/Prune报文中获取RP信息,重新创建组播路由表。
6、PIM Silent
PIM Silent功能用来禁止用户侧组播设备接口接收和转发任何PIM协议报文,并删除该接口上的所有PIM邻居以及PIM状态机,以防止恶意的PIM Hello报文攻击。
二、ASM模型PIM-SM的配置任务
在配置ASM模型的PIM-SM之前也需要配置单播路由协议,保证网络内单播路由畅通。
ASM模型的PIM-SM配置如下,“使能PIM-SM”和“配置RP”为必选配置任务,其他均为可选配置。
1、使能PIM-SM
在PIM-SM网络中,在使能了组播路由功能后,首先要使能的就是PIM-SM功能,但设备上不能同时使能PIM-SM和PIM-DM。建议将处于PIM-SM域内的所有接口都使能PIM-SM,以确保与相连PIM设备都能建立邻居关系。
如果接口上需要同时使能PIM-SM和IGMP,必须先使能PIM-SM,再使能IGMP。
2、配置RP
配置RP有手工静态配置和BSR机制动态选举两种方式。手工方式静态配置RP可以避免C-RP与BSR之间频繁的信息交互而占用带宽。通过BSR机制动态选举RP,可以避免手工配置的繁琐;同时配置多台C-RP可以保证组播数据转发的可靠性。
静态RP和动态RP可同时配置,但此时静态RP由于缺省优先级较低而被当作备份RP。同时配置时需要确保各组播设备间的RP信息一致,否则容易导致网络故障。
3、(可选)配置BSR管理域
为更有效管理PIM-SM域,可将PIM-SM域划分为多个BSR(自举路由器)管理域和一个Global域。每个BSR管理域都维护一个BSR,服务于自己特定地址范围的组播组;Global域也维护一个BSR,为剩余不属于任何BSR管理域的组播组服务。由于一台设备只能加入一个管理域,因此,各个管理域转发组播报文互不干涉;Global可以通过任意管理域内的设备进行报文转发。
BSR管理域可服务的最大组地址范围为239.0.0.0~239.255.255.255。该段地址可重复使用,相当于每个BSR管理域的私有组地址。
4、(可选)配置RPT不向SPT切换
缺省情况下,组成员端DR在接收到第一份组播数据包文后都会向源方向发起SPT切换。如果不希望组成员端DR发起SPT切换,一直用RPT传输组播数据,可配置RPT不向SPT切换功能。
5、(可选)调整注册控制参数
源端DR在收到组播源发送来的组播数据后,会将其封装在注册报文中转发给RP,使得相应组播源可以在RP上注册。注册报文控制参数可在RP和源端DR两个位置进行调整。
在源端DR上进行如下调整。
(1)配置注册Register抑制时间(缺省为60s)。源端DR在收到RP发来的Register-stop(注册停止)报文后,在注册抑制时间内停止向RP发送注册报文。超时后,如果源端DR没有收到后续的注册停止报文,则恢复相应注册报文的转发。
(2)配置发送空注册报文时间间隔(缺省为5s)。如果注册抑制时间过大或过小,都会影响组播数据的正常转发。通过在抑制期间发空注册报文,可以改善这种影响。
(3)配置仅根据注册报文头来计算校验和(缺省RP根据整个注册报文来计算校验和),这样可减少计算校验和的时间,提高注册报文封装组播数据的效率。
(4)配置注册报文的源地址。如果当前源DR向RP发送的注册报文的源地址对于RP来说不是网络中唯一的IP地址,或者RP上配置了过滤策略将该地址已过滤掉,RP都不会接收到注册报文。此时,通过重新指定合理的源IP地址,可解决此问题。——当前源DR向RP发送的注册报文的源地址对于RP来说不是网络中唯一的IP地址这句话如何理解,是在当前源DR上有两个以上组播源??
在RP上可配置过滤注册报文的规则(缺省没有配置过滤策略,即允许接收任意组地址的注册报文),可限定注册报文的地址范围,提高网络安全性。
6、(可选)调整C-RP控制参数
在接口上配置了C-RP(候选RP)后,C-RP会周期性(缺省为60s)地向BSR发送Advertisement报文(宣告报文),报文携带该C-RP优先级、该宣告报文的保持时间。BSR在收到该报文后,启动C-RP超时定时器,时间设为宣告报文的保持时间(缺省为150s)。在超时前,BSR将宣告报文中携带的C-RP信息汇总成RP-Set信息,封装在自举报文中向PIM域中的所有PIM路由器发送。如果超时后BSR仍没收到来自某C-RP后续的宣告报文,则认为目前网络中该C-RP失效或不可达。所以C-RP发送宣告报文时间间隔必须小于宣告报文的保持时间。
C-RP发送宣告报文时间间隔、C-RP优先级、宣告报文的保持时间都可以进行手工配置。有时为了防止非法C-RP欺骗,还可在BSR上设置合法的C-RP地址范围,只接收该地址范围内C-RP的宣告报文。
7、(可选)调整C-BSR控制参数
BSR由C-BSR(候选BSR)之间自动选举产生。在选举开始时,每个C-BSR都认为自己是本PIM-SM域的BSR,向域内所有PIM路由器发送自举报文。C-BSR在接收到其他C-BSR发来的自举报文后,首先比较二者的优先级;若优先级相同,则再比较二者IP地址,IP地址较大者获胜。获胜者将成为域内的BSR,它会将自己的IP地址和RP-Set信息封装在自举报文中向域内发送。自举报文还携带哈希掩码信息,以备在C-RP竞选中进行哈希计算时所需。
BSR周期性(缺省为60s)地发送自举报文,其他的C-BSR收到该报文后会启动超时定时器,时间设为自举报文的保持时间(缺省为150s);超时后如果没有接收到BSR发来的自举报文,C-BSR之间会触发新一轮的BSR选举过程。所以BSR发送自举报文的时间间隔必须要小于自举报文的保持时间。
C-BSR优先级、BSR哈希掩码、BSR发送自举报文时间间隔、自举报文的保持时间都可进行手工配置。有时候为了防止非法BSR欺骗,还可在接口使能PIM-SM的设备上设置合法的BSR地址范围,只接收该地址范围内BSR的自举报文。
三、配置ASM模型PIM-SM
——上表中的第32项感觉描述是错误的,它的描述与36项相同,32项应该是配置BSR等待接收C-RP发送的Advancement报文的超时时间,如果超时,说明C-RP出现故障,BSR重新封装RPSet,重新进行RP的选举。
示例:全局配置地址为11.110.0.6的交换机为静态RP,为ACL2001定义的组播组提供服务,并且启用静态RP优先。
——这里有一点疑问的,对于ACL的规则来说,原来的理解是source是指的IP报文中的源地址,在组播中,如这里所指的源225.1.0.0 0.0.255.255明显是指的组播源,在IP报文中是目的地址。
示例:在交换机的VLANIF100上配置C-BSR。
示例:全局配置Loopback0接口作为PIM-SM组播域中组播组地址为225.1.0.0/16和226.2.0.0/16的C-RP,并且设置该C-RP的优先级为10。
示例:在C-BSR交换机上配置C-RP策略,仅允许1.1.1.1/32的交换机作为C-RP,并且只允许该C-RP为225.1.0.0/16范围的组播组服务(通过高级ACL定义规则)。
示例:全局配置合法BSR地址范围是10.1.1.0/24网段。
四、配置SSM模型的PIM-SM
SSM模型PIM-SM的配置很简单,主要包括两项配置任务:一是必选的PIM-SM功能,二是可选的SSM组策略配置。通过SSM组策略可用来控制SSM组地址范围。
五、PIM-SM其他可选功能及参数配置
(1)调整组播源控制参数——source-lifetime、source-policy
(2)调整邻居控制参数——timer hello、hello-option holdtime、pim triggered-hello-delay、pim neighbor-policy等
(3)调整DR竞选控制参数
设备之间通过交互Hello报文选举DR,主要负责源端或者组成员端的协议报文发送的工作。这里又包括配置DR优先级和配置DR切换延迟两方面。
在“配置DR优先级”方面,组播源或组播成员所在的共享网段,通常同时连接着多台PIM设备。为了争取该网段唯一的组播报文转发权,PIM设备之间就需要通过交互Hello报文进行DR竞选。竞选时,首先比较Hello报文携带的DR优先级(缺省为1),优先级较高者获胜(优先级数值越大,表示优先级越高);如果DR优先级相同或该网段存在至少一台PIM设备不支持在Hello报文中携带DR优先级,则IP地址较大者获胜。DR优先级在全局PIM视图下和接口视图下都可配置,如同时配置,接口视图配置生效。
在“配置DR切换延迟”方面,有时候由于某些原因,当前共享网段的DR变成非DR,原有向该网段的转发数据的组播表项会被立即删除,这可能会导致短时间内组播数据的断流。此时,可以配置DR切换延迟,并指定延迟时间,原有表项仍然有效直到延迟时间超时。
(4)调整加入和剪枝控制参数
(5)调整断言控制参数
(6)PIM BFD
这部分是PIM-SM所特有的功能,用于在检测到对端故障以后立即触发新一轮的DR竞选过程,而不是等到邻居关系超时,这将在很大程度上缩小组播数据传输的中断时间,提高组播网络的可靠性。
(7)PIM GR
这部分也是PIM-SM网络所特有的功能,用于在设备进行主备倒换时实现快速倒换,保持用户组播流量的正常转发。
(8)PIM Silent
对于PIM-SM网络中特有的一些参数和功能的具体配置步骤:
1、配置跟踪下游邻居功能
设备发送Hello报文时,会生成一个GenerationID携带在该报文中。一般Generation ID不会改变,只有设备状态改变,此时Generation ID重新生成才会改变。这时邻居设备在收到Hello报文后,发现Generation ID改变,会立即向该设备发送加入报文以刷新邻居关系。
正常情况下,如果共享网段内有多台设备都准备向同一上游设备发送加入请求,会采用侦听机制来抑制这种相同加入报文的数目,即一台设备在侦听到其他设备的加入报文后,将不会再向该上游PIM邻居发送加入报文。这时会因Generation ID改变的上游邻居无法刷新与每台下游的邻居关系。配置了“跟踪下游邻居”功能后,设备在侦听到其他设备发送的加入报文时,将不会抑制向相同的上游PIM邻居发送加入报文。
该功能在全局PIM视图下和接口视图下都可配置。如同时配置,接口视图上的配置生效,但必须保证共享网段中的所有设备都使能该功能。
2、调整DR竞选控制参数
设备之间通过交互Hello报文选举DR,主要负责源端或者组成员端的协议报文发送的工作。可以配置DR竞选优先级和DR切换延迟功能,无先后顺序。
(1)DR优先级:在组播源或组成员所在的共享网段,通常同时连接着多台PIM设备。为了争取该网段唯一的组播报文转发权,PIM设备之间就需要通过交互Hello报文进行DR竞选。竞选时,首先比较Hello报文中携带的DR优先级(缺省值为1),优先级较高者获胜(优先级数值越大,表示优先级越高);如果DR优先级相同或该网段存在至少一台PIM设备不支持在Hello报文中携带DR优先级,则IP地址较大者获胜。DR优先级在全局PIM视图下和接口视图下都可配置,如同时配置,接口视图配置生效。
(2)配置DR切换延迟:有时候由于某些原因,当前共享网段的DR变成非DR,原有向该网段的转发数据的组播表项会被立即删除,这可能会导致短时间内组播数据的断流。此时可以配置DR切换延迟,并指定延迟时间,原有表项仍然有效直到延迟时间超时。
3、配置Join信息的过滤策略
有时为了防止非法用户的加入,还可配置Join信息过滤策略,指定Join-Prune报文中Join信息的合法源地址范围。具体配置方法是在对应的PIM接口视图下使用pim join-policy { asm basic-acl-number | ssm advance-acl-number |advance-acl-number }命令配置Join信息过滤策略,限定Join信息的合法源地址范围。
(1)asm basic-acl-number:多选一参数,指定用于过滤在asm组播组地址的Join信息。
(2)ssm advance-acl-number:多选一参数,指定源地址向组地址在SSM范围内的组播组发送的Join信息。
(3)advance-acl-number:多选一参数,指定源地址向ASM或SSM组地址的组播组发送的Join信息。
在定义ACL规则时,通过permit选项配置设备仅接收指定地址范围的Join信息。如果ACL未定义规则,则接口缺省过滤掉Join-Prune报文中所有地址范围的Join信息。
示例:配置VLANIF100接收组播地址范围是225.1.0.0/16的join信息。
<Huawei>system-view
[Huawei]acl number 2001
[Huawei-acl-basic-2001]rule permit source225.1.0.0 0.0.255.255
[Huawei-acl-basic-2001]quit
[Huawei]multicast routing-enable
[Huawei]interface vlanif 100
[Huawei-Vlanif100]pim join-policy asm 2001
4、配置PIM BFD
启动BFD功能后,可以实现毫秒级的快速故障检测。利用BFD来检测共享网段上PIM邻居的状态,当BFD检测到对端故障以后上报PIM模块,PIM模块立即触发新一轮的DR竞选过程,而不是等到邻居关系超时,这将在很大程度上缩小组播数据传输的中断时间,提高组播网络的可靠性。
5、配置PIM GR
在堆叠系统中配置PIM GR(GracefulRestart)功能后,主交换机会向备交换机备份PIM路由表项、组播转发表以及需要向上游发送的Join/Prune信息。这样主备倒换后,新的主交换机就可以主动快速地向上游发送Join信息,维持上游的加入状态。
六、PIM-SM(ASM模型)配置示例
如上图拓扑,是一个单域PIM-SM网络。现用户主机HostA、HostB希望能够接收到Source发送的组播数据。
1、基本配置思路分析
因为没有明确要求用户仅接收指定组播源发来的数据,所以可以通过PIM-SM ASM模型来实现,使得加入同一组播组的所有用户主机能够接收任意源发往该组的组播数据。总体配置任务如下:
(1)配置交换机各VLAN接口IP和单播路由协议。组播域内路由协议PIM依赖单播路由协议,单播路由正常是组播协议正常工作的基础。
(2)在所有提供组播服务的交换机上使能组播路由功能,是配置PIM-SM的前提。
(3)在交换机所有接口上使能PIM-SM功能,然后才能配置PIM-SM的其他功能。
(4)在与主机侧相连的交换机接口上使能IGMP。组播组成员能通过发送IGMP消息自有加入或离开某个组播组。叶节点交换机通过IGMP协议来维护组播组成员关系列表。
如果用户主机侧同时配置PIM-SM和IGMP,必须先使能PIM-SM,再使能IGMP。
(5)可在与主机侧相连的交换机接口上使能PIM Silent,防止恶意主机模拟发送PIM Hello报文,增加PIM-SM域的安全性。但如果用户主机(如HostB)所在网段连接着多台交换机,那么这些交换机的用户主机侧接口不能使能PIM Silent,如图中的SwitchB、SwitchC的对应接口。
(6)配置RP。在PIM-SM域中,RP是提供ASM服务的核心,是转发组播数据的中转站。建议RP的位置配置在组播流量分支较多的交换机上,如图中的SwitchE的位置。
(7)在与外域相连的SwitchDGE0/0/1接口上配置BSR边界,自举报文不能通过该边界,使BSR只为该PIM-SM域服务,增加组播可控性。
2、具体配置步骤
(1)按照图中标注配置各交换机VLAN接口的IP地址和掩码,配置各交换机间采用OSPF进行互连,确保网络中各交换机间能够在网络层互通。
[SwitchA]vlan batch 10 20 30
[SwitchA]interface gigabitethernet0/0/1
[SwitchA-GigabitEthernet0/0/1]port hybridpvid vlan 10
[SwitchA-GigabitEthernet0/0/1]port hybriduntagged vlan 10
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface gigabitethernet0/0/2
[SwitchA-GigabitEthernet0/0/2]port hybridpvid vlan 20
[SwitchA-GigabitEthernet0/0/2]port hybriduntagged vlan 20
[SwitchA-GigabitEthernet0/0/2]quit
[SwitchA]interface gigabitethernet0/0/3
[SwitchA-GigabitEthernet0/0/3]port hybridpvid vlan 30
[SwitchA-GigabitEthernet0/0/3]port hybriduntagged vlan 30
[SwitchA-GigabitEthernet0/0/3]quit
[SwitchA]interface vlanif 10
[SwitchA-Vlanif10]ip address 192.168.5.1 24
[SwitchA-Vlanif10]quit
[SwitchA]interface vlanif 20
[SwitchA-Vlanif20]ip address 10.110.1.1 24
[SwitchA-Vlanif20]quit
[SwitchA]interface vlanif 30
[SwitchA-Vlanif30]ip address 192.168.1.1 24
[SwitchA-Vlanif30]quit
[SwitchA]ospf
[SwitchA-ospf-1]area 0
[SwitchA-ospf-1-area-0.0.0.0]network10.110.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]network192.168.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]network192.168.5.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]quit
[SwitchA-ospf-1]quit
(2)在所有交换机使能组播路由功能,在各VLAN接口上使能PIM-SM功能。
[SwitchA]multicast routing-enable
[SwitchA]interface valnif 10
[SwitchA-Vlanif10]pim sm
[SwitchA-Vlanif10]quit
[SwitchA]interface valnif 20
[SwitchA-Vlanif20]pim sm
[SwitchA-Vlanif20]quit
[SwitchA]interface valnif 30
[SwitchA-Vlanif30]pim sm
[SwitchA-Vlanif30]quit
(3)在SwitchA连接用户主机的接口上使能IGMP功能。
[SwitchA]interface valnif 20
[SwitchA-Vlanif20]igmp enable
[SwitchA-Vlanif20]quit
(4)在SwitchA接口上使能PIMSilent。
[SwitchA]interface valnif 20
[SwitchA-Vlanif20]pim silent
[SwitchA-Vlanif20]quit
(5)配置RP。配置RP有两种方式:静态RP和动态RP。可以同时配置,也可只配置其中一种。同时配置两种RP时,可以通过参数调整优化选择哪种RP。本例同时配置两种RP,缺省优选动态RP,静态RP作为备份。
下面时配置动态RP的方法,需要将PIM-SM域的一个或多个交换机上配置为C-RP和C-BSR。本例中指定SwitchE同时为C-RP和C-BSR,在SwitchE上配置RP服务的组地址范围,及C-BSR和C-RP所在接口位置。
[SwitchE]acl number 2008
[SwitchE-acl-basic-2008]rule permit source225.1.1.0 0.0.0.255
[SwitchE-acl-basic-2008]quit
[SwitchE]pim
[SwitchE-pim]c-bsr valnif 60
下面是配置静态RP的方法,需要在交换机上指定静态RP地址。以SwitchA为例。
[SwitchA]pim
[SwitchA-pim]static-rp 192.168.2.2
(6)在SwitchD与外域相连的接口上配置BSR边界。
[SwitchD]interface vlanif70
[SwitchD-Vlanif70]pim bsr-boundary
[SwitchD-Vlanif70]quit
模拟器测试:
1、配置VLAN、IP、各端口,配置ospf,单播路由互通
查看形成的IP单播路由:
没有出现IP路由与STP之间的矛盾,LSWB——LSWE之间的链路被阻塞,IP路由也避开了这条链路。
2、在所有交换机上使能组播路由功能,在各VLAN接口上使能PIM-SM功能。
3、主机侧配置接口使能IGMP
4、使能PIM后,能够看到各交换机的邻居
5、配置RP。两种方式,静态RP和动态RP。配置动态RP的方法,需要将PIM-SM域的一个或多个交换机上配置为C-RP和C-BSR。本例中指定SwitchE同时为C-RP和C-BSR,在SwitchE上配置RP服务的组地址范围,及C-BSR和C-RP所在接口位置。
查询其他的交换机,
BSR和RP都是192.168.4.2
6、配置上述后,在PC1与LSWA之间抓包,可以看到有PIM Hello报文
配置VLANIF20接口的pim silent
配置后抓包依旧,不知道变化在什么地方??
7、将PC2加入225.1.1.2组播群,
在LSWA上没有对应的组播路由
说明PIM SM模式下,是由接收端拉,而不是源端推,组播路由的建立需要从最后一跳路由器上发起。
8、配置LSWD与外域相连的接口上配置BSR边界
缺省情况下,组成员端DR在收到组播源发来的第一份组播数据后会触发SPT切换,新建(S,G)路由表项。因此交换机上显示的(S,G)路由表项一般都是SPT切换后的(S,G)路由表项。
七、PIM-SM(SSM模型)配置示例
如上图拓扑,是一个单域PIM-SM网络,现HostA希望能够接收组播源S1(10.110.4.100/24)、S2(10.110.3.100/24)发送的组播数据,而HostB希望能够接收组播源S2发送的组播数据。
1、基本配置思路分析
本例要求组播成员仅接收指定源的组播数据,所以需要采用PIM-SM SSM模型,使得用户主机在加入组播组的同时能够接收到自己所指定的组播源的组播数据。
相对于PIM-SM ASM模型,SSM模型的配置要简单许多,因为它既不需要维护RP,也不需要专门构建SPT,也无需注册组播源,仅需要使能SSM服务,配置用于限定接收指定组播源数据的组策略。
(1)配置交换机接口IP地址和单播路由协议。
(2)在所有提供组播服务的交换机上使能组播功能。
(3)在交换机所有接口上使能PIM-SM功能。
(4)在与主机侧相连的交换机接口上使能IGMP,并配置IGMP协议的版本号为v3,因为在不启用SSM Mapping的情况下仅IGMPv3支持SSM服务。
如果用户主机侧同时配置PIM-SM和IGMP,必须先使能PIM-SM,再使能IGMP。
(5)在与主机侧相连的交换机接口上使能PIM Silent,防止恶意主机模拟发送PIM Hello报文,增加PIM-SM域的安全性。同样,如果用户主机所在网段相连着多台交换机那么这些交换机的用户主机侧接口不能使能PIM Silent,如图中的SwitchB、SwitchC。
(6)在各交换机上设置SSM组地址范围。使PIM-SM域内的交换机为特定组地址范围内的SSM服务,实现可控组播。但各交换机上设置SSM组地址范围必须相同。
(7)在HostA和HostB主机连接的交换机VLANIF接口上配置Join-Prune报文过滤,以实现仅接收来自限定组播源的组播数据。
2、具体配置步骤
(1)按照图示的标注配置各交换机VLAN接口的IP地址和掩码,配置各交换机间采用OSPF进行互连,确保网络中各交换机间能够在网络层互通。以SwitchA为例。
[SwitchA]vlan batch 10 20 30
[SwitchA]interface gigabitethernet0/0/1
[SwitchA-GigabitEthernet0/0/1]port hybridpvid vlan 10
[SwitchA-GigabitEthernet0/0/1]port hybriduntagged vlan 10
[SwitchA-GigabitEthernet0/0/1]quit
[SwitchA]interface gigabitethernet0/0/2
[SwitchA-GigabitEthernet0/0/2]port hybridpvid vlan 20
[SwitchA-GigabitEthernet0/0/2]port hybriduntagged vlan 20
[SwitchA-GigabitEthernet0/0/2]quit
[SwitchA]interface gigabitethernet0/0/3
[SwitchA-GigabitEthernet0/0/3]port hybridpvid vlan 30
[SwitchA-GigabitEthernet0/0/3]port hybriduntagged vlan 30
[SwitchA-GigabitEthernet0/0/3]quit
[SwitchA]interface vlanif 10
[SwitchA-Vlanif10]ip address 192.168.5.1 24
[SwitchA-Vlanif10]quit
[SwitchA]interface vlanif 20
[SwitchA-Vlanif20]ip address 10.110.1.1 24
[SwitchA-Vlanif20]quit
[SwitchA]interface vlanif 30
[SwitchA-Vlanif30]ip address 192.168.1.1 24
[SwitchA-Vlanif30]quit
[SwitchA]ospf
[SwitchA-ospf-1]area 0
[SwitchA-ospf-1-area-0.0.0.0]networt10.110.1.1 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]networt192.168.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]networt192.168.5.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0]quit
[SwitchA-ospf-1]quit
(2)在所有交换机使能组播路由功能,在各VLAN接口上使能PIM-SM功能。仅以SwitchA为例。
[SwitchA]multicast routing-enable
[SwitchA]interface vlanif 10
[SwitchA-Vlanif10]pim sm
[SwitchA-Vlanif10]quit
[SwitchA]interface vlanif 20
[SwitchA-Vlanif20]pim sm
[SwitchA-Vlanif20]quit
[SwitchA]interface vlanif 30
[SwitchA-Vlanif30]pim sm
[SwitchA-Vlanif30]quit
(3)在SwitchA连接用户主机的接口上使能IGMPv3功能。SwitchB和SwitchC配置类似。
[SwitchA]interface vlanif 20
[SwitchA-Vlanif20]igmp enable
[SwitchA-Vlanif20]igmp version 3
(4)在SwitchA接口上使能PIMSilent。
[SwitchA]interface vlanif 20
[SwitchA-Vlanif20]pim silent
(5)在所有交换机配置SSM组播组地址范围为232.1.1.0/24。其他类似
[SwitchA]acl number 2000
[SwitchA-acl-basic-2000]rule permit source232.1.1.0 0.0.0.255
[SwitchA-acl-basic-2000]quit
[SwitchA]pim
[SwitchA-pim]ssm-policy 2000
[SwitchA-pim]quit
(6)在SwitchA的VLANIF20接口上配置Join-Prune报文过滤,指定HostA可接收组播源S1和S2发来的组播数据。
[SwitchA]acl number 3001
[SwitchA-acl-adv-3001]rule permit source10.110.3.100 0 destination 232.1.1.0 0.0.0.255
[SwitchA-acl-adv-3001]rule permit source10.110.4.100 0 destination 232.1.1.0 0.0.0.255
[SwitchA-acl-adv-3001]quit
[SwitchA]interface vlanif 20
[SwitchA-Vlanif20]pim join-policy ssm 3001
(7)在SwitchB和SwitchC的VLANIF40接口上配置Join-Prune报文过滤,指定HostB仅可接收组播源S2发来的组播数据。
[SwitchB]acl number 3001
[SwitchB-acl-adv-3001]rule permit source10.110.3.100 0 destination 232.1.1.0 0.0.0.255
[SwitchB-acl-adv-3001]quit
[SwitchB]interface vlanif 40
[SwitchB-Vlanif40]pim join-policy ssm 3001
模拟器测试:
1、配置IP、端口、VLAN、OSPF
2、全局使能组播路由,各接口使能pim sm,在用户主机接口侧使能IGMPv3功能
3、在所有交换机配置SSM组播组地址范围为232.1.1.0/24,在A的VLANIF20接口上配置Join-Prune报文过滤,指定PC1可接收组播源MCS1和MCS2发来的组播数据,在B和C的VLANIF40接口上配置Join-Prune报文过滤,指定PC2仅可接收组播源MCS2发来的组播数据。
4、结果测试
使用了ACL策略,预测结果应该是232.2.1.2组播组不应该出现在组播路由中,但是实际测试时出现了,策略没有起作用。