专利名称:基于主备网关设备状态切换后业务恢复的方法及系统的制作方法
技术领域:
本发明涉及通信领域,尤其是涉及一种基于主备网关设备状态切换后业务恢复的方法及系统。
背景技术:
随着网络技术的发展,用户对网络可靠性的要求日益提高,用户设备通常都要求接入双网关,网关之间运行虚拟冗余路由协议(Virtual RouterRedundancy Protocol;VRRP),以使得网关设备的倒换对用户设备是透明的。在某些场景下,用户设备是路由器等三层设备,它与允许VRRP协议的网关设备之间运行BGP协议,彼此之间交互路由。在这种应用场景下,如果主用设备故障导致网关设备状态发生切换,用户设备需要拆除与先前的网关主用设备之间建立的边界网关协议(Border Gateway Protocol;BGP)的邻居关系,再与新的网关主用设备建立BGP协议的邻居关系,这其中必然存在一个BGP协议生成的转发表项先删除再创建的一个过程,将导致较长时间(几秒、十几秒甚至几十秒)的业务中断,难以满足客户对网络可靠性的要求。
在现有网络系统中,网关设备不使用VRRP功能,用户设备与双网关设备之间使用网关设备的接口或者环回地址建立BGP协议连接,用户设备利用BGP协议自身的优选技术选择一个网关设备作为业务上行出口,当被选中的网关设备发生故障时,用户设备再利用BGP协议自身的收敛技术感知其故障,选择另外一个网关设备作为业务上行出口。在该现有技术中,当用户设备感知主用网关设备故障并且将指向主用网关设备的转发表项修改成指向备用网关期间,业务是中断的,当该转发项数量较多时,其业务中断时间依然比较长,难以满足用户对网络可靠性的要求。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于主备网关设备状态切换后业务恢复的方法。当网关主备用设备发生切换的情况下,通过优雅重启(Graceful Restart;GR)的方式,达到在不引起业务中断的情况下建立新的网关主用设备与用户设备之间的BGP协议的连接。
本发明提供一种基于主备网关设备状态切换后业务恢复的方法,其特征在于,包括如下步骤A.当用户设备与网关设备之间建立边界网关协议(BGP)连接时,网关设备使用虚拟冗余路由协议(VRRP)虚地址作为BGP协议的源地址;B.在网关设备主备用状态切换之后,新的网关主用设备采用优雅重启(GR)的方式与用户设备建立边界网关协议(BGP)连接,保证用户设备和新的网关主用设备平滑地建立协议连接。
所述的步骤B具体包括,在BGP协议中增加GR技术来扩展BGP协议的功能,使用户设备和网关设备之间能实现GR技术。
所述的步骤B还包括,B1.当网关设备状态切换之后,新的网关主用设备中的VRRP模块将网关设备状态切换消息通告给网关设备的BGP模块;B2.网关设备的BGP模块收到新的网关主用设备发来的网关设备状态切换消息后,其主动向用户设备的BGP模块发送BGP协议的连接请求报文;B3.用户设备的BGP模块根据收到的BGP连接请求报文,按照GR技术来处理所述报文。
所述的B2具体包括网关设备的BGP模块在邻居建立报文(OPEN)中放入重启(Restart)标记,来发起与用户设备的协议连接请求报文。
在步骤B之后,还具体包括C.在新的网关主用设备和先前网关主用设备之间建立IBGP协议连接,使新的网关主用设备和先前网关主用设备都有用户设备发布的路由;
D.在网关设备状态切换之后,新的网关主用设备和先前网关主用设备不主动删除先前的网关主用设备从用户设备学习到的路由,新的网关主用设备使用所述的路由来指导从承载网回来的流量转发给用户设备,以保证返回用户设备的业务不中断。
所述的步骤D具体包括,D1.新的网关主用设备与用户设备的GR过程中,新的网关主用设备会从用户设备重新学到先前网关主用设备指向用户设备的路由;D2.新的网关主用设备通过IBGP协议将所述的路由转发给先前网关主用设备,先前网关主用设备保留所收到的所述路由并根据所收到的所述路由删除其从用户设备直接学到的相对应的路由;D3.当新的网关主用设备与用户设备的GR结束之后,新的网关主用设备删除掉所有从先前网关主用设备学到的指向用户设备的路由,同时新的网关主用设备向先前网关主用设备通告GR结束,先前网关主用设备再删除掉所有直接从用户设备获得的路由。
在步骤D3中,所述的新的网关主用设备通过扩展VRRP协议报文向先前网关主用设备通告GR结束。
为了避免GR失效或GR恢复的时间变长,新的网关主用设备建立的连接的源端口号与先前的网关主用设备连接的端口号不同。
当网关主用设备与用户设备建立连接时,网关主用设备通过扩展VRRP协议向网关备用设备通告其与用户设备建立BGP邻居使用的源端口号。
本发明还提供一种基于主备网关设备状态切换后业务恢复的系统,包括网关设备、用户设备、BGP模块、VRRP模块、VRRP切换感知模块和切换通知模块,所述的网关设备之间通过VRRP模块运行虚拟冗余路由协议;所述的网关设备和用户设备均配置优雅重启(GR)技术,并通过BGP模块建立边界网关协议连接;所述的切换通知模块用于通告网关设备状态切换报文给VRRP切换感知模块
所述的VRRP切换感知模块根据所收到的网关设备状态切换报文向用户设备的BGP模块发起BGP协议连接请求报文;所述用户设备的BGP模块根据所收到的BGP协议连接请求报文进行优雅重启(GR)。
所述的切换通知模块内嵌于VRRP模块内部。
所述的VRRP切换感知模块内嵌于网关设备的BGP模块内部。
图1为本发明的基本组网方案示意图;图2为本发明的的方法流程图;图3为本发明的一实施例的系统示意图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1为本发明的基本组网方案示意图,参见图1,假设网关A为缺省的网关主用设备,网关B为备用设备,网关的信令在网关A——交换机A——交换机B——网关B之间的链路上承载。
网关主备用设备发生状态切换包括如下情形,A.当网关A设备发生故障时,网关B通过VRRP信令或者其他方式检测到网关A故障,切换成网关主用设备;B.网关A与网关B之间的优先级发生翻转,网关B配置成抢占模式,网关B主动切换成网关主用设备;C.修改网关A的配置,使其离开网关备份组,网关B收到相应的信令报文之后,主动切换成网关主用设备;当网关主备用状态发生切换后,本发明提供了一种基于主备网关设备状态切换后业务恢复的方法,本发明的核心是在当网关主备用设备发生切换的情况下,通过GR的方式,达到在不引起业务中断的情况下建立新的网关主用设备与用户设备之间的BGP协议的连接。
本发明的具体技术方案如下,包括网关设备、用户设备、BGP模块和VRRP模块。所述的网关设备之间运行虚拟冗余路由协议;所述的网关设备和用户设备均配置优雅重启(GR)技术;所述的网关设备使用VRRP虚地址作为BGP协议连接的源地址;所述的用户设备使用VRRP虚地址作为BGP协议连接的目的地址;在网关设备上(包括主用设备和备用设备)配置VRRP协议与BGP协议的绑定关系,这些协议与指定邻居(用户设备)之间的报文交互受其绑定的网关设备状态的影响,使得只有网关主用设备能正常接收、发送与用户设备之间的协议报文,而网关备用设备则既不接收也不发送这样的报文,这样,网关主用设备就可以与用户设备建立正常的协议邻居,而网关备用设备则无法建立这种邻居关系。从用户设备的角度看,它并不关心它的协议邻居是网关A还是网关B,其BGP协议的邻居地址是网关地址(VRRP虚地址),相应地,这些协议生成的转发表项的下一跳地址也是网关地址(VRRP虚地址),由这些转发项指导转发的报文的目的MAC地址是VRRP虚地址对应的MAC地址,根据VRRP协议的原理,只能由网关主用设备接收并进行三层转发;当由于前面描述的种种原因,导致网关设备状态发生切换,根据本发明提供的方法,如图2所示,步骤201、网关设备状态发生切换;例如,网关A为先前网关主用设备,当网关设备状态发生切换后,网关B升级为新的网关主用设备。
步骤202、切换通知模块网关设备发生状态切换;当网关设备状态发生切换后,切换通知模块将网关设备状态切换消息通告给VRRP切换感知模块;如图3所示,切换通知模块可内嵌在VRRP模块内部,VRRP切换感知模块可内嵌于网关设备的BGP模块内部。
步骤203、VRRP切换感知模块向用户设备的BGP模块发起BGP协议连接请求报文;按照我们前面的描述,网关B设备配置了BGP的GR能力,网关B的BGP模块将该网关设备状态切换消息理解成一个GR事件,主动发起与用户设备的协议连接;例如BGP模块在OPEN(邻居建立)报文中放入Restart(重起)标记。
步骤204、用户设备的BGP模块根据所收到的连接请求报文进行优雅重启;由于用户设备也配置了BGP的GR能力,而它从报文中又区分不出与之建立连接的是网关A还是网关B,因此,当网关设备的BGP模块发起新的协议连接时,触发了用户设备的GR能力,这样,用户设备就可以和网关B设备平滑的建立协议邻居,而且,在BGP协议建立过程中,不会删除已经建立的转发项,保证用户设备上行的业务不会中断;为了解决从承载网返回的流量长时间中断的问题,本发明的方法是在网关主用设备和网关备用设备之间建立IBGP邻居,例如,网关主用设备为网关A,网关备用设备为网关B,这样,网关A就会向网关B转发从用户设备学习到的路由,其下一跳地址设置为不修改,依然指向用户设备,这样,网关B上就同样有用户设备发布的路由。当网关设备状态发生切换之后,网关A不立即删除与用户设备建立的BGP邻居学到的路由,网关B也不立即删除从网关A学到的指向用户设备的路由,依然使用这些路由指导从承载网回来的流量转发给用户设备,以保证返回用户设备的业务不中断;在网关B与用户设备的GR过程中,网关B会重新学到这些指向用户设备的路由,网关B优选从用户设备学到的路由并通过IBGP邻居将其转发给网关A,网关A优选网关B发来的路由,并删除从用户设备直接学到的与网关B发来的相应的路由;在网关B与用户设备的GR结束之后,网关B删除掉所有从网关A学到的指向用户设备的路由,同时通过扩展VRRP协议报文或IBGP等其它协议报文,知会网关A GR结束,网关A再删除掉所有直接从用户设备获得的路由,到这个时候为止,网关B上所有指向用户设备的路由都是从与用户设备建立的BGP邻居直接获得的,而网关A上所有指向用户设备的路由都是从与网关B建立的IBGP邻居学习到的。在这个过程中,网关A和网关B都没有主动删除指向用户设备的转发项,而是采用更新与删除相结合的技术,有效的保证了返回用户设备的流量不因为网关设备状态的切换而中断。当用户对承载网返回的流量中断时间不敏感,或者采用在网关A和网关B上部署静态路由或者IBGP协议等其他技术指导从承载网返回的流量的转发的时候,在网关A和网关B之间部署IBGP协议不是必须的。
此外,从GR的角度看,一般要求新建立的连接的源端口号与先前连接的端口号不同,否则TCP可能会忽略或者错误处理新的连接请求,导致GR失效或者GR恢复时间变长。为了解决这个问题,网关主用设备可通过扩展VRRP协议或IBGP等其它协议向网关备用设备通告其与用户设备建立的BGP邻居使用的源端口号,这样,网关B成为新的网关主用设备之后,与用户设备建立BGP邻居时,有目的的不使用这个端口号作为源端口号。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
权利要求
1.一种基于主备网关设备状态切换后业务恢复的方法,其特征在于,包括如下步骤A.当用户设备与网关设备之间建立边界网关协议(BGP)连接时,网关设备使用虚拟冗余路由协议(VRRP)虚地址作为BGP协议的源地址;B.在网关设备主备用状态切换之后,新的网关主用设备采用优雅重启(GR)的方式与用户设备建立边界网关协议(BGP)连接,保证用户设备和新的网关主用设备平滑地建立协议连接。
2.根据权利要求1所述的方法,其特征在于,所述的步骤B具体包括,在BGP协议中增加GR技术来扩展BGP协议的功能,使用户设备和网关设备之间能实现GR技术。
3.根据权利要求2所述的方法,其特征在于,包括VRRP模块和BGP模块,所述的步骤B具体包括,B1.当网关设备状态切换之后,新的网关主用设备中的VRRP模块将网关设备状态切换消息通告给网关设备的BGP模块;B2.网关设备的BGP模块收到新的网关主用设备发来的网关设备状态切换消息后,其主动向用户设备的BGP模块发送BGP协议的连接请求报文;B3.用户设备的BGP模块根据收到的BGP连接请求报文,按照GR技术来处理所述报文。
4.根据权利3所述的方法,其特征在于,所述的B2具体包括网关设备的BGP模块在邻居建立报文(OPEN)中放入重启(Restart)标记,来发起与用户设备的协议连接请求报文。
5.根据权利要求1所述的方法,其特征在于,在步骤B之后,还具体包括C.在新的网关主用设备和先前网关主用设备之间建立IBGP协议连接,使新的网关主用设备和先前网关主用设备都有用户设备发布的路由;D.在网关设备状态切换之后,新的网关主用设备和先前网关主用设备不主动删除先前的网关主用设备从用户设备学习到的路由,新的网关主用设备使用所述的路由来指导从承载网回来的流量转发给用户设备,以保证返回用户设备的业务不中断。
6.根据权利要求5所述的方法,其特征在于,所述的步骤D具体包括,D1.新的网关主用设备与用户设备的GR过程中,新的网关主用设备会从用户设备重新学到先前网关主用设备指向用户设备的路由;D2.新的网关主用设备通过IBGP协议将所述的路由转发给先前网关主用设备,先前网关主用设备保留所收到的所述路由并根据所收到的所述路由删除其从用户设备直接学到的相对应的路由;D3.当新的网关主用设备与用户设备的GR结束之后,新的网关主用设备删除掉所有从先前网关主用设备学到的指向用户设备的路由,同时新的网关主用设备向先前网关主用设备通告GR结束,先前网关主用设备再删除掉所有直接从用户设备获得的路由。
7.根据权利要求6所述的方法,其特征在于,在步骤D3中,所述的新的网关主用设备通过扩展VRRP协议报文向先前网关主用设备通告GR结束。
8.根据权利要求1所述的方法,其特征在于,为了避免GR失效或GR恢复的时间变长,新的网关主用设备建立的连接的源端口号与先前的网关主用设备连接的端口号不同。
9.根据权利要求8所述的方法,其特征在于,当网关主用设备与用户设备建立连接时,网关主用设备通过扩展VRRP协议向网关备用设备通告其与用户设备建立BGP邻居使用的源端口号。
10.一种基于主备网关设备状态切换后业务恢复的系统,其特征在于,包括网关设备、用户设备、BGP模块、VRRP模块、VRRP切换感知模块和切换通知模块,所述的网关设备之间通过VRRP模块运行虚拟冗余路由协议;所述的网关设备和用户设备均配置优雅重启(GR)技术,并通过BGP模块建立边界网关协议连接;所述的切换通知模块用于通告网关设备状态切换报文给VRRP切换感知模块;所述的VRRP切换感知模块根据所收到的网关设备状态切换报文向用户设备的BGP模块发起BGP协议连接请求报文;所述用户设备的BGP模块根据所收到的BGP协议连接请求报文进行优雅重启(GR)。
11.根据权利要求10所述的系统,其特征在于,所述的切换通知模块内嵌于VRRP模块内部。
12.根据权利要求10所述的系统,其特征在于,所述的VRRP切换感知模块内嵌于网关设备的BGP模块内部。
全文摘要
本发明公开了一种基于主备网关设备切换后业务恢复的方法及系统,该发明的核心在于当用户设备与网关设备之间建立BGP协议连接时,网关设备使用VRRP虚地址作为BGP协议的源地址,在网关设备主备用状态切换之后,新的网关主用设备采用GR的方式与用户设备建立BGP协议连接,保证用户设备和新的网关主用设备平滑地建立协议连接。通过本发明,在用户设备与网关设备之间建立BGP协议邻居的场景下,当网关主备设备发生切换时,采用GR的方式,可以有效缩短网关状态切换造成的业务中断时间,大大地满足用户对网络可靠性的要求。
文档编号H04L12/24GK1980224SQ20051010208
公开日2007年6月13日 申请日期2005年12月1日 优先权日2005年12月1日
发明者熊怡 申请人:华为技术有限公司