背景技术
在电信业务IP化,IP网络电信化的发展趋势下,针对NGN/3G等业务接入到IP承载网的需求,在NGN(Next Generation Network,下一代网络)承载网中,NGN业务***设备一般双归连接到两个接入路由器设备,以保证电信业务的可靠性,接入路由器作为PE(Provider Edge,运营商边缘)设备,两台设备之间跑VRRP(Virtual Router RedundancyProtocol,虚拟路由器冗余协议),实现主备冗余备份。但是基础VRRP协议存在收敛时间长的缺陷,不能满足支持50ms的电信级倒换需求。在基础VRRP协议基础上通过关联BFD(Bidirectional Forwarding Detection,双向转发检测)的VRRP增强协议,提高了收敛速度,但是这些技术存在着或多或少的缺陷。
目前业界有VRRP特性增强协议,VRRP绑定BFD并增加提升优先级的操作,是在原来VRRP监视接口的功能的基础上更好的扩充了备份功能。通过增加一条新的命令,使VRRP中的track命令不仅仅可以对接口的变化,还可以对绑定的BFD的状态发生变化时,升高、降低或者恢复以前的优先级,缺省情况下优先级变化的单位为10。这样当Master路由器down时,处于Backup状态的路由器通过监视指定接口或BFD Session的状态,在无法快速感知的情况下,可以根据BFD的状态判断是否进行VRRP的状态快速切换,Slave主动快速升级成Master,接管上行流量。
但是该方法存在缺陷,当遇到BFD down时,该方法直接降低优先级,对于关联有一组以上的BFD时,如果该VRRP的一个Peer(路由器)遇到一组BFD down,而另一个Peer遇到二组BFD down,并且两个Peer降低优先级之后的值相等,将出现VRRP无法切换的问题。
现有的双机热备份方法可以规避以上问题,在双机热备份方法中,当遇到BFD down时没有采用优先级降低,而是直接down主用设备。具体结构如图1所示,包括主用BRAS(Broadband Remote Access Server,宽带远程接入服务器)、与主用BRAS直连的交换机SW1、备用BRAS、与备用BRAS直连的交换机SW2。在主用BRAS与备用BRAS之间的链路,主用BRAS与交换机SW1之间的链路以及备用BRAS与交换机SW2之间的链路上分别关联有一组BFD。
在双机热备份方法中,主备机的切换遵循以下两条原则,
1、当备用机发现和交换机SW2直连的BFD状态为UP,BRAS直连BFD状态DOWN时,备用机切换到主用;
2、当主用机发现和交换机SW1直连的BFD,以及BRAS直连的BFD状态都是DOWN时,主用BRAS切换到备用。
这么做的原因是,假如VRRP只关联BRAS之间的BFD时,当出现这种情况时,会造成主备BRAS误认为主用BRAS和交换机之间的链路down,而造成错误的VRRP切换。
但是在双机热备份方法中,存在以下问题:当备用机上连主用机的心跳线断开了,根据第一条原则,就会出现双主用的情况。
发明内容
本发明的主要目的在于提供一种用于双机冗余备份的主用接入服务器确定方法及装置,以至少解决双机热备份的口字型组网中可能导致的双主机问题。
根据本发明的一个方面,提供了一种用于双机冗余备份的主用接入服务器确定方法,包括以下步骤:在第一接入服务器和与之直连的交换机之间的下行链路、第二接入服务器和与之直连的交换机之间的下行链路、第一接入服务器经下行链路至第二接入服务器之间的链路分别关联一组双向转发检测BFD;当第一接入服务器和/或第二接入服务器所关联的一组BFD断开时,将该接入服务器的优先级从当前的配置优先级降低一个级数;当第一接入服务器和/或第二接入服务器所关联的两组BFD断开时,将该接入服务器的优先级从预定的基准优先级降低两个级数,其中基准优先级小于或等于第一接入服务器和第二接入服务器中配置优先级小的接入服务器的配置优先级;比较第一接入服务器和第二接入服务器的当前优先级,以当前优先级高的接入服务器作为主用接入服务器。
进一步地,该方法还包括:当第一接入服务器和/或第二接入服务器所关联的一组BFD恢复连接时,将该接入服务器的当前优先级提高一个级数;当第一接入服务器和/或第二接入服务器所关联的两组BFD恢复连接时,将该接入服务器的当前优先级恢复到其的配置优先级;比较第一接入服务器和第二接入服务器的当前优先级,以当前优先级高的接入服务器作为主用接入服务器。
进一步地,优先级的范围为0-255,其中,优先级的一个级数大小为10。
进一步地,第一接入服务器和第二接入服务器通过抢占模式确定主用接入服务器。
进一步地,第一接入服务器和第二接入服务器通过链路聚合形成逻辑接口,逻辑接口之间采用桥接协议连接。
根据本发明的另一方面,提供了一种用于双机冗余备份的主用接入服务器确定装置,该装置包括:关联模块,在第一接入服务器和与之直连的交换机之间的下行链路、第二接入服务器和与之直连的交换机之间的下行链路、第一接入服务器经下行链路至第二接入服务器之间的链路分别关联一组双向转发检测BFD;优先级调整模块,用于当第一接入服务器和/或第二接入服务器所关联的一组BFD断开时,将该接入服务器的优先级从当前的配置优先级降低一个级数;当第一接入服务器和/或第二接入服务器所关联的两组BFD断开时,将该接入服务器的优先级从预定的基准优先级降低两个级数,其中基准优先级小于或等于第一接入服务器和第二接入服务器中配置优先级小的接入服务器的配置优先级;主用接入服务器确定模块,用于比较第一接入服务器和第二接入服务器的当前优先级,以当前优先级高的接入服务器作为主用接入服务器。
进一步地,优先级调整模块还用于当第一接入服务器和/或第二接入服务器所关联的一组BFD恢复连接时,将该接入服务器的当前优先级提高一个级数,以及当第一接入服务器和/或第二接入服务器所关联的两组BFD恢复连接时,将该接入服务器的当前优先级恢复到其的配置优先级。
在本发明中,通过为主用和备用接入服务器关联双BFD,以及设置基准优先级,当接入服务器所关联的双BFD断开时,该接入服务器的优先级从基准优先级降低两个级数,从而可以避免双机热备份中的双主用的问题。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图2是根据本发明实施例的主用接入服务器确定方法所应用的网络结构示意图,如图2所示,该网络是由第一接入服务器、第一交换机、第二交换机和第二接入服务器组成的一个口字型结构,第一接入服务器和第二接入服务器各关联有两组BFD,在工作状态下,第一接入服务器和第二接入服务器中的一个为主用接入服务器,另一个作为备用接入服务器,根据所关联的BFD的状态,第一接入服务器和第二接入服务器可进行主备用的状态切换。VRRP通过第一接入服务器和第二接入服务器之间采用桥接协议,通过SMARTGROUP技术来保证可靠性(链路聚合形成的逻辑接口称为SMARTGROUP,可以把SMARTGROUP当做普通端口使用,保证了链路的可靠性),桥接协议使得物理上不在一个信道上的两台服务器,通过逻辑接口或者vlan(虚拟局域网)等连接在一起。
当然,在实际的应用的双机冗余备份中,网络结构较复杂,但基本上都可以抽象成上述的网络结构模型。
图3是根据本发明实施例的主用接入服务器确定方法流程图,该方法应用于图2所示的网络结构环境中,如图3所示,包括以下步骤:
步骤S302,在第一接入服务器与第一交换机之间的链路、第二接入服务器与第二交换机之间的链路、第一接入服务器经第一交换机和第二交换机至第二接入服务器之间的链路分别关联一组双向转发检测BFD。
步骤S304,当第一接入服务器和/或第二接入服务器所关联的一组BFD断开时,将该接入服务器的优先级从当前的配置优先级降低一个级数;当第一接入服务器和/或第二接入服务器所关联的两组BFD断开时,将该接入服务器的优先级从预定的基准优先级降低两个级数,其中基准优先级小于或等于第一接入服务器和第二接入服务器中配置优先级小的接入服务器的配置优先级。
步骤S306,比较第一接入服务器和第二接入服务器的当前优先级,以当前优先级高的接入服务器作为主用接入服务器。
在上述方法中,通过为主用和备用接入服务器关联双BFD,以及设置基准优先级,当接入服务器所关联的双BFD断开时,该接入服务器的优先级从基准优先级降低两个级数,从而可以避免双机热备份中的双主用的问题。
在步骤S306之后,还包括:当第一接入服务器和/或第二接入服务器所关联的一组BFD恢复连接时,将该接入服务器的当前优先级提高一个级数;当第一接入服务器和/或第二接入服务器所关联的两组BFD恢复连接时,将该接入服务器的当前优先级恢复到其的配置优先级;比较第一接入服务器和第二接入服务器的当前优先级,以当前优先级高的接入服务器作为主用接入服务器,优先级的一个级数大小可以设置为10,主用接入服务器的确定采用抢占模式。第一接入服务器与第二接入服务器之间走过桥协议,通过SMARTGROUP保证链路可靠性。
其中,在上述方法中,两个接入服务器组成一个VRRP组,每个接入服务器为VRRP组的一个PEER,通过VRRP协议进行优先级协商。基准优先级是指,在VRRP的某一个Peer需要降低优先级时,以该基准优先级为基础,在基准优先级以下降低Peer的优先级。当VRRP某一Peer关联的BFD状态down时,该VRRP的peer优先级必须降低到比基准优先级低某一幅度,当该Peer关联的BFD状态全部UP时,该VRRP的Peer优先级必须恢复到配置的优先级。该基准优先级的选取可以根据需要来配置,也可以采用VRRP组两个Peer中较小的优先级,但是必须小于VRRP组中2个Peer优先级较小的一个。
采用基准优先级是因为:假设一个peer优先级是60,另一个是40。优先级为60的bras到直连交换机的链路down,假设优先级在原来的优先级基础上,down一个bfd降低优先级10,那么原来优先级为60的那个peer因为down了2个bfd,所以优先级是60-20=40,优先级为40的那个peer优先级是40-10=30,这样会造成down的那个peer优先级是40,没down的那个优先级是30,vrrp无法切换。所以使用优先级方式vrrp切换并且支持双BFD时,必须有一个可以参考的优先级,而且该优先级必须小于等于VRRP的peer的两个优先级的最小值。
图4是根据本发明实施例的主用接入服务器确定装置结构框图,如图4所示,该确定装置包括:依次连接的关联模块10、优先级调整模块20和主用接入服务器确定模块30。
其中,关联模块10,用于第一接入服务器与第一交换机之间的链路、第二接入服务器与第二交换机之间的链路、第一接入服务器经第一交换机和第二交换机至第二接入服务器之间的链路分别关联一组双向转发检测BFD;优先级调整模块20,用于当第一接入服务器和/或第二接入服务器所关联的一组BFD断开时,将该接入服务器的优先级从当前的配置优先级降低一个级数;当第一接入服务器和/或第二接入服务器所关联的两组BFD断开时,将该接入服务器的优先级从预定的基准优先级降低两个级数,其中基准优先级小于或等于第一接入服务器和第二接入服务器中配置优先级小的接入服务器的配置优先级;主用接入服务器确定模块30,用于比较第一接入服务器和第二接入服务器的当前优先级,以当前优先级高的接入服务器作为主用接入服务器。
在上述装置中,通过为主用和备用接入服务器关联双BFD,以及设置基准优先级,当接入服务器所关联的双BFD断开时,该接入服务器的优先级从基准优先级降低两个级数,从而可以避免双机热备份中的双主用的问题。
在上述的主用接入服务器确定装置中,优先级调整模块还用于当第一接入服务器和/或第二接入服务器所关联的一组BFD恢复连接时,将该接入服务器的当前优先级提高一个级数,以及当第一接入服务器和/或第二接入服务器所关联的两组BFD恢复连接时,将该接入服务器的当前优先级恢复到其的配置优先级。
实施例一
在本实例中,采用图2所示的口字型网络结构,在VRRP的每个Peer关联两组BFD的情况下,对于BFD状态导致VRRP的Peer优先级变迁,有如下4种情况:
当1个关联的BFD状态down时,该Peer的VRRP优先级比“本身优先级”降低一个数量,例如10。
当2个BFD状态down时,该Peer的VRRP优先级比“基准优先级”降低两个数量。
当1个BFD状态UP时,该Peer的VRRP优先级比基准优先级升高一个数量。
当2个BFD状态UP时,该Peer的VRRP优先级恢复原来的配置优先级。
在上述的过程中,当VRRP的Peer优先级改变时,主动改变方立刻开始主用PEER的重新选举。
图5是根据本发明实施例一的BFD状态断开时的流程图,在本实施例中,假设原来bras1的VRRP优先级是50,bras2是40,基准优先级是40,那么当有关联的BFD状态断开时的情况如图5所示,包括以下步骤:
步骤S502,链路或节点发生故障,BFD状态down。例如,bras1和sw1之间链路down。
步骤S504,该peer根据down的链路条数开始降低VRRP优先级。bras1的vrrp关联的BFD1和BFD3全down,优先级降低为40-20=10;而bras2只down了bfd3,优先级降低为40-10=30。
步骤S506,立即重新开始VRRP主备选举,其中,主备选举采用抢占模式,抢占模式,是VRRP协议的一种模式,当Backup路由器收到VRRP通告报文后,会将自己的优先级与通告报文中的优先级进行比较;如果大于通告报文中的优先级,则成为主用设备,否则将保持备用状态。在本实施例中,bras2的当前优先级高于bras1的当前优先级,bras1作为主用设备。
步骤S508,判断是否VRRP主备切换,是转步骤S510,否则转步骤S512。bras1当选为主用设备,需要进行主备切换。
步骤S510,触发主备切换和路由处理,bras1切换为主用服务器,bras2切换为备用服务器。
步骤S512,不做处理。
在上述的步骤中,还存在以下两种情况:
当sw1和sw2之间链路down时:bras1和bras2都只有一个bfd的状态down,因此bras1优先级降低为50-10=40;bras2降低为40-10=30,根据vrrp规则还是bras1为主。
当bras2和sw2之间链路down时:bras1只down了bfd3,优先级降低为50-10=40,bras2的2个vrrp关联的bfd全down,优先级降低为40-20=10根据vrrp切换规则,bras1为主。
在上述两种情况中,通过优先级的降低,同样避免了双主用的问题。
图6是根据本发明实施例一的BFD状态恢复连接时的流程图,如图6所示,包括以下步骤:
步骤S602,Peer的BFD状态up。
步骤S604,判断是否BFD全部up,如果是,则转步骤S606,否则转步骤S608
步骤S606,该Peer的VRRP优先级恢复为配置优先级。
步骤S608,将该Peer的当前VRRP优先级提高1个数量。
步骤S610,立即重新开始VRRP主备选举,其中主备的选举采用抢占模式。
步骤S612,是否VRRP主备切换,如果是,则转步骤S614,否则转步骤S616
步骤S614,触发主备切换和路由处理。
步骤S616,不做处理。
在本发明的上述实施例中,通过为主用和备用接入服务器关联合适的双BFD,以及设置作为参考的基准优先级,当接入服务器所关联的双BFD断开时,该接入服务器的优先级从基准优先级降低两个级数,使得主备接入服务器的优先级不会出现相同的情况,从而避免了双机热备份中的双主用的问题。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。