一种冗余保护方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信领域,特别是一种冗余保护方法及装置。
【背景技术】
[0002]【RFC4601】标准协议中定义了 DR(Designated Router,指定路由器)的竞选过程,这个标准过程通过PIM Hello报文完成。如果当前DR出现故障,其他PIM(Protocol-1ndependent Multicast,协议无关组播)路由器需要等到邻居关系超时才能发现这一事件,从而触发组播路由的收敛处理,这个过程中组播数据传输中断的时间将会不小于邻居关系的超时时间,因此通常是秒级。
[0003]需要说明的是,虽然形成邻居关系的任意多个PIM接口之间都会竞选出唯一的DR,但仅在源端与 IGMP (Internet Group Management Protocol, Internet 组管理协议)加入端,也就是常说的第一跳与最后一跳节点上,DR才具有协议意义。其中第一跳DR负责接收组播流量并发起注册过程,最后一跳DR负责处理IGMP加入请求,生成(*,G)路由,并向上游发起P頂加入。
[0004]【CN200710073938.6】专利中提出在所有相关路由器之间部署VRRP与BFD协议,通过BFD快速检测链路故障来触发PM邻居的快速选举,以此提高DR的收敛效率。但由于不能进行提前性部署,会引入大量协议报文到本地网络,在一定程度上会浪费网络带宽。尤其是在电信毫秒级保护场景下,需要高频率的发送检测报文,带宽浪费更为明显。
[0005]【CN201010252067.6】专利在此基础上做了增强。PM协议通过Hello报文竞选出共享网段中的DR/BDR (备用DR),其中,BDR成为当前DR的备份路由器。DR行使分发或者接收组播流量的功能,只有BDR与DR之间创建BFD会话以监控DR存活状态,一旦检测到DR故障,BDR立即切换为DR,接管DR事务。与【CN200710073938.6】专利相比,这种系统方法由于仅在DR/BDR之间部署BFD会话,显然具有更强的针对性,效率也更高。
[0006]以上标准、专利通过DR/BDR之间的BFD会话检测加速了 DR故障时的协议收敛过程。需要在任意DR/BDR之间创建BFD会话,即DR/BDR之间的所有接口创建BFD会话,当会话数量少时,确实能达到毫秒级的倒换保护。但随着DR/BDR对数增多,需要维护的BFD会话也随之增多,当会话数量达到上百或者上千的数量级后,一旦这些会话因为某些原因同时down掉,会产生大量的报文,造成切换的时间达到秒级,无法满足电信级的保护要求。对应于这个的典型场景就是二层网络通过路由的三层子接口接入(在三层子接口上规划部署vlan),而这些三层子接口共用同一个物理链路,拥有相同的父接口,一旦该物理链路出现故障,所有三层子接口都会产生相关报文。
【发明内容】
[0007]本发明要解决的技术问题是提供一种冗余保护方法及装置,能够有效减少BFD会话。
[0008]为解决上述技术问题,本发明的实施例提供一种冗余保护方法,实施于第一路由器,所述方法包括:
[0009]从第一路由器的接口中为第一保护组选出唯一的主动接口以及若干个被动接口 ;其中,所述第一保护组中的所有接口行使分发或接收组播流量的功能;
[0010]仅激活第一保护组中主动接口的双向转发检测BFD协议,使得所述第一保护组的主动接口能够与第二保护组的主动接口建立交互,从而使得第二路由器能够通过第二保护组的主动接口检测第一保护组的主动接口的状态;其中,所述第二保护组的所有接口均是从第二路由器的接口中选取得到的,用于作为第一保护组的备用接口 ;所述第二保护组只存在一个主动接口;
[0011 ]当所述第一保护组的主动接口发生故障时,使所述第一保护组中的所有接口失去行使分发或者接收组播流量的功能。
[0012]其中,使所述第一保护组中的所有接口停止分发或接收组播流量的步骤包括:
[0013]改变所述第一保护组的主动接口的转发状态,使得该主动接口停止分发或接收组播流量,并使得所述第一保护组的被动接口继承该主动接口的转发状态。
[0014]其中,所述第一保护组的主动接口为父接口,其被动接口为对应于该父接口的子接口。
[0015]此外,本发明的实施例还提供一种冗余保护方法,实施于第二路由器,所述方法包括:
[0016]从第二路由器的接口中为第二保护组选出唯一的主动接口以及若干个被动接口,用于作为第一保护组的备用接口 ;其中,所述第一保护组中的所有接口均是从第一路由器的接口中选取得到的,用于行使分发或接收组播流量的功能;所述第一保护组只存在一个王动接口 ;
[0017]仅激活所述第二保护组中主动接口的双向转发检测BFD协议,使得所述第二保护组的主动接口能够与所述第一保护组的主动接口建立交互,从而使得第二路由器能够通过第二保护组的主动接口检测第一保护组的主动接口的状态;
[0018]当所述第二路由器通过所述第二保护组的主动接口检测出所述第一保护组的主动接口发生故障时,使所述第二保护组中的接口替代所述第一保护组中的所有接口行使分发或者接收组播流量的功能。
[0019]其中,使所述第二保护组中的接口替代所述第一保护组中的所有接口行使分发或者接收组播流量的功能的步骤包括:
[0020]改变所述第二保护组的主动接口的转发状态,使得第二保护组的主动接口替代所述第一保护组的主动接口分发或接收组播流量,并使得所述第二保护组的被动接口继承该主动接口的转发状态。
[0021]此外,本发明的实施例还提供一种冗余保护装置,实施于第一路由器,包括:
[0022]第一选取模块,用于从第一路由器的接口中为第一保护组选出唯一的主动接口以及任意数量的被动接口 ;其中,所述第一保护组中的所有接口行使分发或接收组播流量的功能;
[0023]第一激活模块,用于仅激活第一保护组中主动接口的双向转发检测BFD协议,使得所述第一保护组的主动接口能够与第二保护组的主动接口建立交互,从而使得第二路由器能够通过第二保护组的主动接口检测第一保护组的主动接口的状态;
[0024]第一处理模块,用于当所述第一保护组的主动接口发生故障时,使所述第一保护组中的所有接口失去行使分发或者接收组播流量的功能。
[0025]其中,所述第一处理模块具体用于:
[0026]改变所述第一保护组的主动接口的转发状态,使得该主动接口停止分发或接收组播流量,并使得所述第一保护组的被动接口继承该主动接口的转发状态。
[0027]其中,所述第一保护组的主动接口为父接口,其被动接口为对应于该父接口的子接口。
[0028]本发明的实施例还提供一种冗余保护装置,实施于第二路由器,包括:
[0029]第二选取模块,用于从第二路由器的接口中为第二保护组选出唯一的主动接口以及若干个被动接口,用于作为第一保护组的备用接口 ;其中,所述第一保护组中的所有接口均是从第一路由器的接口中选取得到的,用于行使分发或接收组播流量的功能;所述第一保护组只存在一个主动接口;
[0030]第二激活模块,用于仅激活所述第二保护组