CN101895475A - 基于pim sm协议的优雅重启方法及其系统 - Google Patents

基于pim sm协议的优雅重启方法及其系统 Download PDF

Info

Publication number
CN101895475A
CN101895475A CN2010102417143A CN201010241714A CN101895475A CN 101895475 A CN101895475 A CN 101895475A CN 2010102417143 A CN2010102417143 A CN 2010102417143A CN 201010241714 A CN201010241714 A CN 201010241714A CN 101895475 A CN101895475 A CN 101895475A
Authority
CN
China
Prior art keywords
multicast
equipment
state
message
restarting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010102417143A
Other languages
English (en)
Other versions
CN101895475B (zh
Inventor
熊思
王强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN2010102417143A priority Critical patent/CN101895475B/zh
Publication of CN101895475A publication Critical patent/CN101895475A/zh
Application granted granted Critical
Publication of CN101895475B publication Critical patent/CN101895475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种能更加快速收敛组播协议状态的基于PIM SM协议优雅重启的方法以及实现该方法的系统。邻居设备检查所有与重启设备相连的接口,若在接口上存在IGMP成员,则伪造IGMP主机成员报告发送给重启设备;重启设备通过解析IGMP主机成员报告中的组播组IP地址恢复该IGMP主机成员报告对应接口下的IGMP成员状态。重启设备各个接口上的邻居设备都检查和重启设备相连网段上的IGMP成员信息,如果存在IGMP成员,则构造IGMP主机成员报告。这样,重启设备不需要等待各个接口上的主机逐一发送IGMP成员报告便可快速恢复各接口上的IGMP成员信息。加快了重启设备控制平面恢复IGMP成员状态的速度。

Description

基于PIM SM协议的优雅重启方法及其系统 
技术领域
本发明涉及数据通信技术领域,尤其涉及PIM SM(稀疏模式独立组播协议,protocolindependent multicast sparse mode)的优雅重启技术。 
背景技术
目前,新兴起的流媒体业务对可靠性提出了较高的要求,设备级可靠性是实现业务可靠性的一个重要方面。高可靠性设备通常采用数据平面、控制平面分离的分布式体系结构以及双主控冗余的设计。数据平面、控制平面分离的分布式体系结构将设备划分为控制和转发两个层面,控制层面负责路由的控制和计算,转发层面只负责数据转发。支持双主控冗余的设备使用两个MPU(main processing unit),主MPU处于工作状态,从MPU处于备份状态,当主MPU出现故障或者手工重启后,从MPU立刻接替主MPU的工作。目前大多数厂商将静态配置信息和数据平面的转发表项信息备份到从MPU上,当设备发生主从切换后,备份的转发表项能正确指导转发线卡上的数据转发。对于控制平面的协议状态的备份,有两种实现方法:第一种是在从MPU上实时备份主MPU上所有的协议状态信息,当设备主从切换后,协议可以迅速恢复到正常的工作状态。显然备份所有协议状态会占用设备太多资源,扩展性也很差,实现代价过高。第二种方法是切换发生后在控制平面重新建立协议状态的信息。但是在切换过程中协议状态达到稳定之前,可能会出现路由震荡甚至可能导致业务转发中断。因此,目前有一些路由协议提出了优雅重启的方法。优雅重启技术可以避免设备主从切换时邻居关系发生震荡。一旦重启发生,重启设备尽快完成与邻居的路由信息的同步,然后更新本地路由信息。 
PIM SM协议是目前被广泛使用的组播路由协议,DR(指定路由器,designated router)为直接与组播源相连的路由器,RP(汇聚点,rendezvous point)为SM(稀疏模式)中的组播汇聚点,汇聚组播发送者与接收者。组播路由表项包括(*,G)、(S,G)等,其中*表示匹配任何组播源IP地址,G表示组播组IP地址,S表示组播源IP地址。PIM SM协议的基本工作过程如下: 
组播接收者所在网段的DR主动发送(*,G)加入消息到RP,告知RP下游有组播组G的接收者。与组播源直连的DR通过源注册机制告知RP组播源开始发送数据。RP将组播源发送的数据转发到相关的组播接收者,这样形成了以源DR为根的组播源到RP和以RP为根的RP到组播接收者的组播分发树。其中,源DR到RP的注册过程为:源DR收到组播组G的数据后,将组播数据封装在注册报文中,单播该注册报文到组播组G对应的RP。RP收到 注册报文后,创建注册状态(S,G)表项,如果存在下游接收者,向组播源DR方向发送(S,G)加入消息,沿途的各个设备都会建立起(S,G)表项。组播源DR收到(S,G)加入消息后,将收到加入消息的接口添加到(S,G)表项的出接口列表中,这样组播数据开始通过(S,G)表项转发。RP在(S,G)表项的入接口收到组播数据后,发送注册停止消息给源DR。这时,数据沿着源DR到RP的组播分布树到达RP,再沿RP到接收端DR的组播分布树到达组播接收者。 
PIM SM协议的hello报文中定义了generation ID(接口身份标识)字段,设备在启动或者重启后每个接口都生成唯一的generation ID值。设备检测到邻居发送的hello报文中generation ID值发生变化后认为邻居设备接口上的PIM协议发生了重启。 
如图1所示,主MPU上控制平面保存的组播协议状态信息包括有:邻居状态(包括每个接口上的邻居generation ID信息、邻居保活定时器等)、DR状态(包括每个接口所在网段的指定路由器IP地址、DR优先级)、RP-set(汇聚点集合)和BSR(发布rp-set(汇聚点集合)信息的自举路由器)状态、TIB(tree informationbase组播分布树信息库)。TIB状态用(*,G)、(S,G)等组播路由表项形式维护了该设备上所有的组播分布树信息,包括各个接口上的IGMP(因特网组管理协议)成员信息和下游加入剪枝状态,以及设备上游加入剪枝状态,在承担特殊角色的源DR和RP上还保存了有关的由(S,G)表项构成的注册状态。设备上数据平面维护了用来指导数据转发的MFIB(组播转发信息库,multicast forwarding informationbase)。MFIB中的(S,G)表项由第一个组播业务数据触发创建;当第一个组播业务数据触发MFIB创建时,会向协议层发送no cache(无缓存)消息。组播路由协议收到此消息后,根据TIB信息,将输出接口列表下发到MFIB中。当下发输出接口的操作完成后,以后组播路由协议层的TIB变化时会及时更新数据平面的对应MFIB表项。从MPU的控制平面在正常情况下的组播协议状态为空,当主从切换发生时,原从MPU应恢复切换前主MPU上所有协议的状态信息。 
目前,能够触发TIB更新MFIB的情况有: 
(1)协议层只有收到no cache消息之后,才会根据TIB的变化来更新相应的MFIB表项。 
(2)主从切换过程结束时,触发TIB更新MFIB表项。 
TIB对MFIB的更新方式有两种: 
(1)在设备发生主从切换的过程中,为了保证数据流的不中断,TIB更新MFIB时采取只增添不删除的方式,这可能造成切换过程中控制平面的TIB和数据平面的MFIB不一致; 
(2)主从切换过程结束时,触发TIB更新MFIB,此时的更新方式需在MFIB中删除与 TIB不一致的表项,使TIB和MFIB状态完全达成一致。 
本文将上述第(1)种更新方式称为无删除式更新,将第(2)种更新方式称为一致性更新。 
主从切换过程中采用的无删除式更新可能造成切换过程中控制平面中的TIB和数据平面MFIB的不一致。而这种不同步的状态可能会导致不必要的数据流占用网络资源,甚至还可能引起一些网络问题,如出现环路。 
因此,需要寻求一种能够更加快速结束设备主从切换过程的方法。这样,一方面能减少切换过程中已有的组播业务和新增的组播业务需求受到的影响;另一方面,通过尽快结束TIB状态和MFIB不一致,以尽量避免可能带来的网络问题。 
主从切换速度依赖于控制平面的组播协议状态收敛速度。所以,要加快主从切换过程,实际需解决的是,如何快速恢复控制平面的组播协议状态。 
在协议已有的实现中,邻居设备检测到有设备发送的Hello报文中的generation ID变化,则认为该设备接口上的PIM协议发生了重启,此时该邻居设备会向重启设备发送Hello报文应答、BSM(bootstrap message自举报文)。另外,下游设备检测到上游RPF(reverse pathforwarding逆向路径转发)邻居发生重启,会向重启设备发送triggeredjoin(触发加入)消息。重启设备收到应答的Hello报文后可立即恢复邻居状态、DR状态。邻居设备主动发送BSM,这可以让重启设备不必等到BSR周期发送BSM(发送周期为60s)就可以快速恢复RP-set和BSR状态。另外triggered join消息的发送让重启设备不需要等待下游设备上维护的上游加入剪枝消息发送定时器超时(普通的加入剪枝消息的发送间隔为60s)即可获得下游加入剪枝状态,上游加入剪枝状态根据所有接口保存的下游加入剪枝状态计算出来。现有的优雅重启方法虽然可以从某些方面加快组播协议状态收敛的速度(能加快重启设备快速恢复RP-set和BSR状态、以及TIB状态中的下游加入剪枝状态),但对加快各个接口上的IGMP成员信息恢复以及针对承担特殊角色的源DR和RP的由(S,G)表项构成的注册状态并未提出更有效率的恢复方法。 
按目前的实现技术,设备重启后默认自己为IGMP查询者,在各个接口上发送普通查询并等待与接口相连的所有主机发送成员报告来获取接口上的IGMP成员状态。IGMP协议中主机发送普通成员报告的时间间隔为10s。当RP设备主从切换时,RP上注册状态的恢复需要等到接收源DR周期发送的下一个注册报文,协议中注册报文的发送间隔为60s。源DR上的由(S,G)表项构成的注册状态是在第一个来自组播源S的组播业务报文到达时由no cache消息触发创建的,包括创建注册接口,维护注册停止定时器。当源DR设备主从切换时,由于在数据平面备份了MFIB,来自组播源S的组播业务数据不会触发no cache消息的发送,因此在MFIB删 除之前控制平面无法建立注册状态。在重启过程中,MFIB只能通过自然老化方式(即保活定时器到期)删除,而通常表项的保活时间很长,这使得重启过程中源DR上无法在短时间内恢复注册状态。 
发明内容
本发明所要解决的技术问题是,提供一种能更加快速收敛组播协议状态的基于PIM SM协议优雅重启的方法以及实现该方法的系统。 
本发明为解决上述技术问题所采用的技术方案是,将支持优雅重启的设备分为两个角色:重启设备RR(restart router)和协助RR恢复协议状态的邻居设备HR(helper router),基于PIMSM协议的优雅重启方法,包括: 
发生主从切换的RR发送重启通知报文至HR,并启动优雅重启定时器; 
HR接收到重启通知报文后,向RR发送重启应答报文,协助RR完成组播协议状态信息恢复,所述组播协议状态信息包括邻居状态、DR状态、BSR状态、rp-set状态、TIB状态,所述TIB状态包括各个接口上的IGMP成员状态、下游加入剪枝状态;HR协助RR完成组播协议状态信息恢复具体包括:HR将本地保存的BSR信息和rp-set信息用BSM单播给RR;位于RR下游的HR根据其TIB中的上游加入剪枝状态向RR发送triggeredjoin消息;HR检查所有与RR相连的接口,若在接口上存在IGMP成员,则伪造IGMP主机成员报告发送给RR; 
当优雅重启定时器超时,或当RR接收完毕所有HR发送的组播协议状态信息并完成组播协议状态信息恢复后,重启结束,触发TIB状态一致性更新MFIB;RR向HR发送重启结束报文;RR恢复组播协议状态信息具体为:RR通过解析接收到重启应答报文恢复出邻居状态和DR状态;RR通过解析接收到BSM恢复出BSR状态和rp-set状态;通过解析triggered join消息恢复下游加入剪枝状态,并根据所有接口保存的下游加入剪枝状态恢复出上游加入剪枝状态;通过解析IGMP主机成员报告中的组播组IP地址恢复该IGMP主机成员报告对应接口下的IGMP成员状态。 
RR各个接口上的HR都检查和RR相连网段上的IGMP成员信息,如果存在IGMP成员,则构造IGMP主机成员报告。这样,RR不需要等待各个接口上的主机逐一发送IGMP成员报告便可快速恢复各接口上的IGMP成员信息。加快了RR控制平面恢复IGMP成员状态的速度。 
在多接入网段上,可以进一步优化上一步骤:采用DR选举的方法在同一网段的多个HR中选举出一个HR向RR发送BSM和IGMP成员报告,从而可以避免该网段上所有支持优雅重启的HR都向RR发送相同的BSM和IGMP成员报告,节约网络带宽。(位于同一网段的设备上保存的BSR和rp-set信息相同,连接到同一网段的各个接口下的IGMP成员信息相同)。 
进一步的,当RR为汇聚点设备,所述RR的组播协议状态信息还包括注册状态; 
位于RR上游的HR将注册报文中伪IP头部的源IP地址和目的IP地址修改为(S,G)表项中的组播源IP地址和组播组IP地址,并将该注册报文发给RR;RR收到注册报文后,创建注册状态。 
具体的,在重启通知报文中增加Local RP list字段;发生主从切换的RR先检查静态配置中是否存在本地IP地址配置为静态汇聚点设备或者动态候选汇聚点设备,如是,将配置为静态汇聚点设备或者动态候选汇聚点设备的本地IP主地址填入Local RP list字段,后将重启通知报文发送至HR;HR提取并保存重启通知报文中的Local RP list字段;位于RR上游的HR将本地保存的TIB信息中与RR相关的下游加入剪枝状态置上标记,针对在TIB中置上标记的(S,G)表项,在rp-set信息中查找该(S,G)表项中组播组IP地址映射的汇聚点设备,如果查找到的汇聚点设备的IP地址存在于所述Local RP list中,上游的HR则判断该RR为汇聚点设备。 
RP的上游HR邻居借助local RP list字段,检查RR是否为TIB中组播组IP地址映射的RP。通过在rp-set中组播组IP地址映射的RP,如果查找到的RP也位于local RP list中,则伪造空注册报文帮助RP迅速建立起注册状态。 
进一步的,重启过程中RR遍历MFIB,为MFIB的每一个表项启动no cache消息发送定时器,周期性地向协议层发送no cache消息,触发协议层利用TIB状态无删除式更新MFIB,并将更新过的MFIB表项设置更新标志;重启结束后,RR清除no cache消息发送定时器,同时主动将MFIB中没有更新标志的MFIB表项删除。 
重启设备RR为备份的MFIB表项构造no cache消息发送定时器。当重启设备为源DR时,nocache消息的发送使得源DR上控制平面能够建立起注册状态。另外,周期性发送no cache消息使得协议层新建的TIB状态能够立即无删除式更新MFIB中的对应表项,从而不影响切换过程中新的业务需求。 
进一步的,为了更合理地设置优雅重启定时器的超时时间,在重启应答报文中增加holdtime值;所述holdtime值为能容忍邻居经历重启的最长时间; 
优雅重启定时器中超时时间的具体设置为:优雅重启定时器启动时,优雅重启定时器的超时时间设置为本地配置的最长状态收敛时间;当RR若收到HR发送的重启应答报文中的holdtime值小于当前设置的超时时间,则将超时时间重新设置为该最小的holdtime值。 
基于PIM SM协议的优雅重启系统,包括RR、HR: 
HR用于,接收到重启通知报文后,向RR发送重启应答报文,协助RR完成组播协议状态信息恢复;HR将本地保存的BSR信息和rp-set信息用BSM单播给RR;HR检查所有与RR相连的接口,若在接口上存在IGMP成员,则伪造IGMP主机成员报告单播给RR;当HR位于RR下游,还根据其TIB中的上游加入剪枝状态向RR发送triggered join消息; 
RR用于,发生主从切换的RR发送重启通知报文至HR,并启动优雅重启定时器;当优雅重启定时器超时,或当RR接收完毕所有HR发送的组播协议状态信息并完成组播协议状态信息恢复后,重启结束,触发TIB状态一致性更新MFIB;RR向HR发送重启结束报文;所述组播协议状态信息恢复具体为RR通过解析接收到BSM恢复出BSR状态和rp-set状态;通过解析triggeredjoin消息恢复下游加入剪枝状态;通过解析IGMP主机成员报告中的组播组IP地址恢复该IGMP主机成员报告对应接口下的IGMP成员状态。 
进一步的,当多个HR位于同一网段,仅由一个选举出的HR向RR发送BSM和伪造的IGMP主机成员报告。 
进一步的,位于RR上游的HR还用于,判断出RR为汇聚点设备后,将注册报文中伪IP头部的源IP地址和目的IP地址修改为(S,G)表项中的组播源IP地址和组播组IP地址,并将该注册报文发给RR;RR还用于,收到注册报文后,创建注册状态。 
进一步的,RR还用于,在重启过程中遍历MFIB,为MFIB的每一个表项启动no cache消息发送定时器,周期性地向协议层发送no cache消息,触发协议层利用TIB状态无删除式更新MFIB,并将更新过的MFIB表项设置更新标志;重启结束后,RR清除no cache消息发送定时器,同时主动将MFIB中没有更新标志的MFIB表项删除。 
本发明的有益效果是,在现有PIM SM协议的基础上扩展的优雅重启机制能使设备上控制平面协议状态的恢复时间由原来的几十秒减为1秒以下,减少了重启过程中长时间不稳定的协议状态对已有业务和新增的业务需求造成的影响,最大限度避免了重启过程中TIB状态和MFIB不一致造成的网络问题,对于提高组播业务的可靠性和节约网络带宽有着重要的意义。 
附图说明
图1是MPU控制平面、数据平面维护的状态信息图; 
图2是RR发生主从切换后PIM SM协议处理流程图; 
图3是HR收到RR重启通告后PIM SM协议处理流程图; 
图4是实施例中的网络示意图。 
具体实施方式
本发明提出了一种PIM SM协议优雅重启的方法,用于设备发生主从切换时控制平面协议状态的快速收敛。将支持优雅重启的设备分为两个角色:发生重启的设备RR(restart router)和协助RR恢复协议状态的邻居设备HR(helper router)。该方法包括: 
在协议的hello报文中定义两个新的私有字段-优雅重启字段和Local RP list(本地被配置为RP的IP地址列表)字段。优雅重启字段用于设备间互相协商对优雅重启的支持,包含 三个标志位(分别是优雅重启的发生标志S,应答标志A和结束标志E)和一个时间值holdtime(能容忍邻居经历重启的最长时间)。Local RP list字段用于RP上注册状态的恢复。RR检查静态配置中是否存在本地IP地址配置为静态RP或者动态候选RP。如果存在,将这些本地IP主地址填入该字段,并将它通告给HR。如果不存在,则在该字段中填充0。 
如图2所示,发生主从切换的设备RR将优雅重启字段的S置位,填充好Local RP list字段,发送hello报文通知邻居自己发生了重启,并启动重启定时器GRT(graceful restart timer)。支持优雅重启的邻居设备HR收到generation ID值变化和S置位的hello报文后,认为邻居发生了重启,于是将重启设备的local RP list保存下来,并发送A置位的重启应答。 
其中,GRT启动时,其值设置为本地配置的最长状态收敛时间。若收到邻居的重启应答报文中的holdtime值小于当前GRT的值,则将GRT重新设为该holdtime值。 
HR在发送重启应答之后,将本地保存的BSR和rp-set信息用BSM单播给RR。 
位于RR下游的HR设备根据TIB中的上游加入剪枝状态向RR发送triggered join消息。 
HR检查所有与RR相连接的接口,若在接口上存在IGMP成员,伪造IGMP主机成员报告单播给RR,RR解析出成员报告中的组地址即可恢复收到成员报告的接口下的IGMP成员状态。 
RR的上游HR邻居借助hello报文中的local RP list字段,检查重启设备RR是否为TIB表项中组G映射的RP。通过在rp-set中查找组G映射的RP,如果查找到的RP也位于local RP list中,则伪造空注册报文帮助RR迅速建立起注册状态:如图3所示,位于RR上游的HR设备将TIB中与重启设备相关的下游加入剪枝状态置上标记,对TIB中置上标记的(S,G)表项,在rp-set中查找该表项中组播组G映射的RP,如果查找到的RP地址也位于保存的邻居状态的local RP list中,说明重启设备为这个组的RP。为了帮助RP尽快恢复注册状态,上游HR伪造空注册报文,将注册报文中伪IP头部的源地址和目的地址修改为(S,G)表项中的源和组地址,发给重启设备。重启设备收到注册报文后,创建注册状态(S,G)。这样RR不需要收到源DR周期发送的注册报文即可恢复注册状态。如果在rp-set中查找到组G映射的RP地址不在邻居状态的localRP list中,则不做任何操作。 
RR遍历数据平面MFIB中的表项,为每一个表项启动no cache消息发送定时器,周期性向协议发送no cache消息,no cache消息触发协议层TIB无删除式更新MFIB中的相关表项,并将更新过的表项设置更新标志。待重启结束后,清除no cache消息发送定时器,同时主动将MFIB中没有更新标志的表项删除。 
RR和HR检查自己是否可以结束优雅重启的过程,如果满足结束条件,则发送E置位的hello报文通告邻居已经结束优雅重启。 
其中,HR结束优雅重启的条件为:根据本地保存的协议状态检查是否需要向RR发送IGMP 成员报告、triggered join消息以及伪注册报文,在需要的情况下完成上述操作;RR结束优雅重启的条件为:GRT定时器到期(已经过了足够长的时间)或者收到了所有HR发送的E置位的hello报文。如果RR收到了所有HR发送的E置位的hello报文,可以认为协议状态信息已经恢复完成,可以结束重启。 
重启设备RR为备份的MFIB表项构造no cache消息发送定时器。no cache消息的发送使得源DR上控制平面能够建立起注册状态,并且使得协议层新建的TIB状态能及时无删除式更新MFIB的对应表项。 
实施例 
如图4所示的网络环境,假设图中设备都支持PIM SM优雅重启功能。源DR向RP发起组播源注册,RP根据本地保存的IGMP成员状态(接收者R1)和下游发送的加入消息(接收者R2),将两个接收者对应的接口填入注册状态(S,G)表项的出接口中。同时向源DR发起(S,G)加入。源DR和RP之间的设备上都建立起(S,G)表项。在不发生RPT切换的情况下,组播流从源DR流向RP,再从RP到达各个接收者。 
在本实施例中,RP设备发生主从切换。 
步骤1,RP将hello消息中优雅重启字段的S标识置位,此时,设备检查到静态配置中存在本地的loopback0接口被配置为动态rp-candidate,于是将该loopback0地址填入local RP list列表中,通过发送hello消息向HR1和HR2通告自己发生了重启。启动重启定时器GRT,取值为本地配置的最长状态收敛时间。 
步骤2,RP上游邻居HR1和下游邻居HR2收到了RP的重启通告,保存重启设备的local RPlist列表,将hello消息中优雅重启字段的A标识置位,将本地配置的能容忍邻居重启的最长时间填入holdtime字段,通过发送hello消息通告重启设备接下来将协助它完成控制平面协议状态的恢复。 
步骤3,RP在f0和f1接口上分别接收到来自HR1和HR2的hello应答消息,将GRT设置为min(GRT当前值,HR1 hello中holdtime字段值,HR2hello中holdtime字段值)。 
步骤4,HR1将保存的rp-set和BSR信息用BSM单播给重启设备RP。检查与RP相连接口f0所在网段上有无IGMP成员,发现存在接收者成员R1,则构造IGMP成员报告发送给重启设备RP。RP保存收到的BSM和IGMP成员信息,根据这些信息建立起对应的组播状态(*,G)并向上游邻居发起(*,G)加入(此时自己为RP所以没有加入动作)。 
步骤5,HR2将保存的rp-set和BSR信息用BSM单播给重启设备RP。检查与RP相连接口f1所在网段上有无IGMP成员,发现不存在任何接收者,于是执行步骤6。 
步骤6,下游邻居HR2根据TIB中的上游加入剪枝状态向RP发送triggered join。HR2将hello 消息中优雅重启字段的E标识置位,通告重启设备本地协助重启的工作已经结束。 
步骤7,上游邻居HR1上TIB中的(S,G)表项保存了重启设备的下游加入剪枝状态,将该状态置上标记,查找本地保存的rp-set信息,发现查找到的RP(即RR的loopback0接口地址)位于邻居RR的local RP list列表中,于是伪造空注册报文发送给重启设备。HR1将hello消息中优雅重启字段的E标识置位,通告重启设备本地协助重启的工作已经结束。 
步骤8,RP为数据平面MFIB中的表项(S,G)构造no cache消息,MFIB中(S,G)表项得到无删除式更新,被置上更新标识。 
步骤9,RP收到HR1和HR2的重启结束报文或者GRT超时后,将hello消息中优雅重启字段的E标识置位,通告邻居HR1和HR2已经完成优雅重启过程。 
上述步骤涉及到三个设备的操作,因此各个步骤之间不具备严格的时间先后次序。可以看出,RR可以在HR协助下快速恢复BSR和rp-set状态、TIB状态,结束优雅重启过程,从设备级可靠性方面为可靠组播业务的开展提供了平台。 

Claims (10)

1.基于PIM SM协议的优雅重启方法,包括:
发生主从切换的重启设备发送重启通知报文至邻居设备,并启动优雅重启定时器;
邻居设备接收到重启通知报文后,向重启设备发送重启应答报文,协助重启设备完成组播协议状态信息恢复,所述组播协议状态信息包括邻居状态、指定路由器状态、自举路由器状态和汇聚点集合状态、组播分布树信息库状态,所述组播分布树信息库状态包括各个接口上的因特网组管理协议成员状态、下游加入剪枝状态、上游加入剪枝状态;
当优雅重启定时器超时,或当重启设备接收完毕所有邻居设备发送的组播协议状态信息并完成组播协议状态信息恢复后,重启结束,触发组播分布树信息库状态一致性更新组播转发信息库;重启设备向邻居设备发送重启结束报文;
其特征在于,
邻居设备协助重启设备完成组播协议状态信息恢复具体包括:邻居设备将本地保存的自举路由器信息和汇聚点集合信息用自举报文单播给重启设备;位于重启设备下游的邻居设备根据其组播分布树信息库中的上游加入剪枝状态向重启设备发送触发加入消息;邻居设备检查所有与重启设备相连的接口,若在接口上存在因特网组管理协议成员,则伪造因特网组管理协议主机成员报告发送给重启设备;
重启设备完成组播协议状态信息恢复具体包括:重启设备通过解析接收到重启应答报文恢复出邻居状态和指定路由器状态;通过解析接收到自举报文恢复出自举路由器状态和汇聚点集合状态;通过解析触发加入消息恢复下游加入剪枝状态,并根据所有接口保存的下游加入剪枝状态恢复出上游加入剪枝状态;通过解析因特网组管理协议主机成员报告中的组播组IP地址恢复该因特网组管理协议主机成员报告对应接口下的因特网组管理协议成员状态。
2.如权利要求1所述基于PIM SM协议的优雅重启方法,其特征在于,在同一网段的多个邻居设备中仅选举一个邻居设备向重启设备发送自举报文和伪造的因特网组管理协议主机成员报告。
3.如权利要求1或2所述基于PIM SM协议的优雅重启方法,其特征在于,当重启设备为汇聚点设备,所述重启设备的组播协议状态信息还包括由注册报文触发创建的由(S,G)表项构成的注册状态;
位于重启设备上游的邻居设备将注册报文中伪IP头部的源IP地址和目的IP地址修改为(S,G)表项中的组播源IP地址和组播组IP地址,并将该注册报文发给重启设备;
重启设备收到注册报文后,创建注册状态。
4.如权利要求3所述基于PIM SM协议的优雅重启方法,其特征在于,在重启通知报文中增加Local RP list字段;
发生主从切换的重启设备先检查静态配置中是否存在本地IP地址配置为静态汇聚点设备或者动态候选汇聚点设备,如是,将配置为静态汇聚点设备或者动态候选汇聚点设备的本地IP主地址填入Local RP list字段,后将重启通知报文发送至邻居设备;
邻居设备提取并保存重启通知报文中的Local RP list字段;
位于重启设备上游的邻居设备将本地保存的组播分布树信息库信息中与重启设备相关的下游加入剪枝状态置上标记,针对在组播分布树信息库中置上标记的(S,G)表项,在汇聚点集合信息中查找该(S,G)表项中组播组IP地址映射的汇聚点设备,如果查找到的汇聚点设备的IP地址存在于所述Local RP list中,上游的邻居设备则判断该重启设备为汇聚点设备。
5.如权利要求1或2所述基于PIM SM协议的优雅重启方法,其特征在于,重启过程中重启设备遍历组播转发信息库,为组播转发信息库的每一个表项启动无缓冲消息发送定时器,周期性地向协议层发送无缓冲消息,触发协议层利用组播分布树信息库状态无删除式更新组播转发信息库,并将更新过的组播转发信息库表项设置更新标志;
重启结束后,重启设备清除无缓冲消息发送定时器,同时主动将组播转发信息库中没有更新标志的组播转发信息库表项删除。
6.如权利要求1所述基于PIM SM协议的优雅重启方法,其特征在于,在重启应答报文中增加holdtime值;所述holdtime值为能容忍邻居设备经历重启的最长时间;
优雅重启定时器中超时时间的具体设置为:
优雅重启定时器启动时,优雅重启定时器的超时时间设置为本地配置的最长状态收敛时间;若重启设备收到邻居设备发送的重启应答报文中的holdtime值小于当前设置的超时时间,则将超时时间重新设置为该最小的holdtime值。
7.基于PIM SM协议的优雅重启系统,包括重启设备、邻居设备,其特征在于,
所述邻居设备用于,接收到重启通知报文后,向重启设备发送重启应答报文,协助重启设备完成组播协议状态信息恢复;邻居设备将本地保存的自举路由器信息和汇聚点集合信息用自举报文单播给重启设备;邻居设备检查所有与重启设备相连的接口,若在接口上存在因特网组管理协议成员,则伪造因特网组管理协议主机成员报告发送给重启设备;当邻居设备位于重启设备下游,还根据其组播分布树信息库中的上游加入剪枝状态向重启设备发送触发加入消息;
所述重启设备用于,发生主从切换的重启设备发送重启通知报文至邻居设备,并启动优雅重启定时器;当优雅重启定时器超时,或当重启设备接收完毕所有邻居设备发送的组播协议状态信息并完成组播协议状态信息恢复后,重启结束,触发组播分布树信息库状态一致性更新组播转发信息库;重启设备向邻居设备发送重启结束报文;所述组播协议状态信息恢复具体为:重启设备通过解析接收到重启应答报文恢复出邻居状态和指定路由器状态;重启设备通过解析接收到自举报文恢复出自举路由器状态和汇聚点集合状态;通过解析触发加入消息恢复下游加入剪枝状态,并根据所有接口保存的下游加入剪枝状态恢复出上游加入剪枝状态;通过解析因特网组管理协议主机成员报告中的组播组IP地址恢复该因特网组管理协议主机成员报告对应接口下的因特网组管理协议成员状态。
8.如权利要求7所述基于PIM SM协议的优雅重启系统,当多个邻居设备位于同一网段,仅由一个选举出的邻居设备向重启设备发送自举报文和伪造的因特网组管理协议主机成员报告。
9.如权利要求7或8所述基于PIM SM协议的优雅重启方法,其特征在于,
位于重启设备上游的邻居设备还用于,判断出重启设备为汇聚点设备后,将注册报文中伪IP头部的源IP地址和目的IP地址修改为(S,G)表项中的组播源IP地址和组播组IP地址,并将该注册报文发给重启设备;
重启设备还用于,收到注册报文后,创建注册状态。
10.如权利要求7或8所述基于PIM SM协议的优雅重启方法,其特征在于,重启设备还用于,在重启过程中遍历组播转发信息库,为组播转发信息库的每一个表项启动无缓冲消息发送定时器,周期性地向协议层发送无缓冲消息,触发协议层利用组播分布树信息库状态无删除式更新组播转发信息库,并将更新过的组播转发信息库表项设置更新标志;重启结束后,重启设备清除无缓冲消息发送定时器,同时主动将组播转发信息库中没有更新标志的组播转发信息库表项删除。
CN2010102417143A 2010-07-30 2010-07-30 基于pim sm协议的优雅重启方法及其系统 Active CN101895475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102417143A CN101895475B (zh) 2010-07-30 2010-07-30 基于pim sm协议的优雅重启方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102417143A CN101895475B (zh) 2010-07-30 2010-07-30 基于pim sm协议的优雅重启方法及其系统

Publications (2)

Publication Number Publication Date
CN101895475A true CN101895475A (zh) 2010-11-24
CN101895475B CN101895475B (zh) 2012-05-30

Family

ID=43104548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102417143A Active CN101895475B (zh) 2010-07-30 2010-07-30 基于pim sm协议的优雅重启方法及其系统

Country Status (1)

Country Link
CN (1) CN101895475B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102986178A (zh) * 2011-07-19 2013-03-20 华为技术有限公司 稀疏模式协议无关组播中的组播转发方法和组播转发设备
CN104243305A (zh) * 2014-09-28 2014-12-24 福建星网锐捷网络有限公司 一种组播业务的故障处理方法和装置
CN102170399B (zh) * 2011-05-17 2016-11-30 南京中兴新软件有限责任公司 一种调整保活时间的方法、装置、及系统
CN107222402A (zh) * 2016-03-22 2017-09-29 中兴通讯股份有限公司 重启恢复时间的调整方法和装置
CN110740086A (zh) * 2018-07-18 2020-01-31 中国电信股份有限公司 数据组播分发树切换方法、系统及装置
CN111404908A (zh) * 2020-03-10 2020-07-10 腾讯科技(深圳)有限公司 数据交互方法、装置、电子设备及可读存储介质
US10721159B2 (en) 2018-04-25 2020-07-21 Hewlett Packard Enterprise Development Lp Rebuilt flow events
CN115529265A (zh) * 2022-09-30 2022-12-27 上海博达数据通信有限公司 一种pimsm路由器上游路径的优化选择方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006014710A2 (en) * 2004-07-23 2006-02-09 Cisco Technology, Inc. System and method for preserving multicast data forwarding during control failures in a router
CN101035080A (zh) * 2007-04-16 2007-09-12 杭州华为三康技术有限公司 优雅重启方法、指定中间系统、邻居路由器及广播网络
CN101616069A (zh) * 2008-06-23 2009-12-30 华为技术有限公司 基于优雅重启的信息恢复方法和路由器
CN101741585A (zh) * 2008-11-10 2010-06-16 迈普通信技术股份有限公司 实现疏密模式协议无关组播的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006014710A2 (en) * 2004-07-23 2006-02-09 Cisco Technology, Inc. System and method for preserving multicast data forwarding during control failures in a router
CN101035080A (zh) * 2007-04-16 2007-09-12 杭州华为三康技术有限公司 优雅重启方法、指定中间系统、邻居路由器及广播网络
CN101616069A (zh) * 2008-06-23 2009-12-30 华为技术有限公司 基于优雅重启的信息恢复方法和路由器
CN101741585A (zh) * 2008-11-10 2010-06-16 迈普通信技术股份有限公司 实现疏密模式协议无关组播的方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102170399B (zh) * 2011-05-17 2016-11-30 南京中兴新软件有限责任公司 一种调整保活时间的方法、装置、及系统
CN102986178A (zh) * 2011-07-19 2013-03-20 华为技术有限公司 稀疏模式协议无关组播中的组播转发方法和组播转发设备
CN102986178B (zh) * 2011-07-19 2015-06-03 华为技术有限公司 稀疏模式协议无关组播中的组播转发方法和组播转发设备
CN104243305A (zh) * 2014-09-28 2014-12-24 福建星网锐捷网络有限公司 一种组播业务的故障处理方法和装置
CN107222402A (zh) * 2016-03-22 2017-09-29 中兴通讯股份有限公司 重启恢复时间的调整方法和装置
US10721159B2 (en) 2018-04-25 2020-07-21 Hewlett Packard Enterprise Development Lp Rebuilt flow events
CN110740086A (zh) * 2018-07-18 2020-01-31 中国电信股份有限公司 数据组播分发树切换方法、系统及装置
CN110740086B (zh) * 2018-07-18 2021-09-03 中国电信股份有限公司 数据组播分发树切换方法、系统及装置
CN111404908A (zh) * 2020-03-10 2020-07-10 腾讯科技(深圳)有限公司 数据交互方法、装置、电子设备及可读存储介质
CN115529265A (zh) * 2022-09-30 2022-12-27 上海博达数据通信有限公司 一种pimsm路由器上游路径的优化选择方法
CN115529265B (zh) * 2022-09-30 2024-04-30 上海博达数据通信有限公司 一种pimsm路由器上游路径的优化选择方法

Also Published As

Publication number Publication date
CN101895475B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN101895475B (zh) 基于pim sm协议的优雅重启方法及其系统
CN109120418B (zh) 端点的分布式多播
CN105359457A (zh) 用于在icn上的大规模会议的多层推送混合服务控制架构
US20140089619A1 (en) Object replication framework for a distributed computing environment
CN100568854C (zh) 一种保持邻居关系的方法和接口板
CN104205748A (zh) 具有协调的业务方向的机架间冗余
CN104901891A (zh) 一种组播报文的转发方法及装置
US20100142545A1 (en) Network apparatus, edge router, and packet communication system
CN102447587B (zh) 一种基于ospf协议的平滑重启方法和路由器
JP2013501279A (ja) コンフィギュレーション・アップデートが失敗した後の処理方法及びネットワークエレメント設備
CN113824723B (zh) 一种应用于音视频数据传输的端到端系统解决方法
CN103825817A (zh) 路由协议重启后不间断路由的实现方法和装置
US8411558B1 (en) Stateful home agent recovery protocol (SHARP)
CN110012115A (zh) 直播间推送信息的更新方法和系统
US9112824B2 (en) Forwarding multicast messages in a messaging network
CN108390919B (zh) 一种用于高可靠双机热备的消息同步系统及方法
CN105306356A (zh) 一种组播路由在分布式系统上实现主备切换的方法
CN101296239A (zh) 刷新标签交换路径的方法及标签交换路由器
CN100550840C (zh) 路由受限标记交换路由器的平稳重启方法
CN104901865A (zh) 一种基于全局单调序列号的移动端即时通讯信号同步方法
CN102255798A (zh) 路由转发表项的同步方法及线卡
CN103166847B (zh) 保证优雅重启的方法及设备
CN102694833A (zh) 多播树建立方法及多播系统中的服务器和节点
CN102761477A (zh) 组播协议报文发送方法及装置
CN101510890A (zh) 维持协议状态的方法及通信设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant