专利名称:防止bgp会话在业务变更时断开的方法及其适用的系统的制作方法
技术领域:
本发明涉及一种分组交换系统中的数据传输方法,具体涉及一种防止已建立BGP 会话在业务变更时断开的方法及该方法适用的系统。
背景技术:
边界网关协议BGP (Border Gateway Protocol)是一种自治系统间的动态路由发现协议。BGP-4适用于分布式结构,并支持无类域间路由CIDR(Classless Inter-Domain Routing),利用BGP还可以实施用户配置的策略。BGP-4做为事实上的Internet外部路由协议标准,被广泛应用于因特网服务提供商ISP(Internet Service Provider)之间。发送BGP消息的路由器称为BGP发言人(speaker),它不断的接收或产生新路由信息,并将它广告(advertise)给其它的BGP发言人。当BGP发言人收到来自其它自治系统的新路由广告时,如果该路由比当前已知路由好、或者当前还没有该接收路由,它就把这个路由广告给自治系统内所有其它的BGP发言人。一个BGP发言人也将同它交换消息的其它的BGP发言人称为对等体(peer),若干相关的对等体可以构成对等体组(group)。BGP对等体在成功建立BGP会话之前会经历以下状态1、空闲(Idle) ;2、连接 (Connect) ;3、激活(Active) ;4、OPEN 发送(OpenSend) ;5、OPEN 确认(OpenConfirm); 6、已建立(Established)。BGP协议状态机的运行是通过消息驱动的,其消息包括open message、notification message、keep-alive message、update message 以及 refresh message。其中open message是连接建立后发送的第一个消息,它用于建立BGP对等体间的连接关系;通知报文notification message是错误通告消息,用于表明一个错误,这个错误会导致BGP会话中断,当BGP连接中断后,在两个BGP对等体之间的TCP会话将关闭, 所有资源被释放,“路由撤销”报文会向其他BGP对等体发送,所有BGP路由会从路由表中删除;ke印-alive message是用于检测连接有效性的消息;update message是用于在对等体之间交换路由信息;刷新报文Refresh message是指一种用来要求对等体(peer)重新发送指定地址的路由信息的报文。现有技术中在业务扩展,例如在一个已经成功建立IPv4单播会话连接的两个路由器RTA和RTB之间的增加组播时,BGP会话会经历以下步骤(参见图1、2)步骤01、路由器RTA向路由器RTB发送通知报文notification message ;步骤02、路由器RTB收到通知报文notification message,将已经成功建立连接的两个路由器RTA和RTB之间的IPv4单播会话断开,终止BGP会话;步骤03、路由器RTA修改本地能力值,变更为支持IPv4单播业务和组播业务;步骤04、路由器RTA向路由器RTB发送开启报文Open message,该开启报文中携带了 IPv4单播业务和组播业务的相关信息;步骤05、路由器RTB确认路由器RTA发来的开启报文Open message ;步骤06、路由器RTA、RTB间的IPv4单播业务和组播业务的会话连接建立。在上述已经成功建立连接的会话进行更改业务时,已经建立的会话将会断开之后再进行全部业务的重建,这必然会导致之前正常运行的业务被中断。
发明内容
有鉴于此,本发明的主要目的是针对BGP协议在业务更改时会话会断开重建,导致之前的正常运行的业务中断的技术问题,提供一种在BGP已存在的会话上更改业务时不会断开邻居,利用刷新报文(Refresh message)防止已建立BGP会话在业务变更时断开的方法及该方法适用的系统。为达到上述目的,本发明提供的技术方案如下一种防止已建立BGP会话在业务变更时断开的方法,其应用于已经与其他路由器建立会话连接、支持特定业务的路由器RTA上,在进行新增或者减少该特定业务时,上述方法具体包括以下步骤步骤1、所述路由器RTA修改本地能力值,变更为支持或者撤销所述特定业务;步骤2、所述路由器RTA向与其建立会话连接的所述其他路由器发送经过能力值变更后所支持的业务的路由信息,并同时发送刷新报文Refresh message,该刷新报文要求所述其他路由器重新发送指定地址的路由信息;步骤3、所述路由器RTA收到所述其他路由器经过能力值变更后所支持的业务的路由信息,以使已经建立的会话连接经过业务变更不被中断。优选的,在步骤3中,如所述路由器RTA还收到与其建立会话连接的所述其他路由器发送来的刷新报文Refresh message,则所述路由器RTA向所述其他路由器重新发送指定地址的路由信息。优选的,在步骤2与步骤3之间,所述路由器RTA如收到与其建立会话连接的所述其他路由器发送来的通知报文notification message则断开已建立的会话连接。优选的,所述路由器RTA支持的所述特定业务包括组播业务、单播业务、IPv6业务以及VPNv4业务中的一种或者几种。一种上述的方法适用的系统,包括支持特定业务、已经建立会话连接的两个路由器RTA、RTB,在进行新增或者减少该特定业务时所述路由器RTA用于修改本地能力值,变更为支持或者撤销所述特定业务,之后向路由器RTB发送其经过能力值变更后所支持的业务的路由信息,并在发送该路由信息的同时发送刷新报文Refresh message,该刷新报文要求路由器RTB重新发送指定地址的路由fn息;所述路由器RTB用于在接收到路由器RTA发来的刷新报文Refresh message后修改本地能力值,变更为支持或者撤销所述特定业务,并向路由器RTA发送其经过能力值变更后所支持的业务的路由信息。优选的,所述路由器RTB用于在发送经过能力值变更后所支持的业务的路由信息的同时发送刷新报文Refresh message,该刷新报文要求路由器RTA重新发送指定地址的
路由信息。 优选的,所述路由器RTA如收到与其建立会话连接的所述路由器RTB发送来的通知报文notification message则断开已建立的会话连接。优选的,所述特定业务包括组播业务、单播业务、IPv6业务以及VPNv4业务中的一种或者几种。本发 明的增强BGP会话稳定性的方法具有以下的有益效果,该方法通过能力值变化的特定处理,利用Refresh报文的特点,使得BGP在已存在的会话上增删地址簇时,可以不用断开邻居,从而增强了 BGP会话的稳定性,并避免业务升级时对原有业务的影响。本发明的增强BGP会话稳定性的方法,由于两端配置存在先后,后配置端可能会丢失部分先配置端发过来的路由,因此为了防止上述配置丢失的现象发生,在配置完成后, 后配置端可以显式地向先配置端发送Refresh报文。
图1是现有技术中在一个已经成功建立IPv4单播会话连接的两个路由器RTA和 RTB之间的增加组播业务时的信号流图;图2是图1所示的具体情况的步骤流程示意图;图3是本发明的防止已建立BGP会话在业务变更时断开的方法一种具体实施方式
的信号流图;图4是图3所示具体实施方式
的步骤流程示意图;图5是本发明的防止已建立BGP会话在业务变更时断开的方法另外一种具体实施方式
的信号流图;图6是图5所示具体实施方式
的步骤流程示意图。
具体实施例方式为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例, 对本发明进一步详细说明。本发明提供了一种防止已建立BGP会话在业务变更时断开的方法以及其适用的系统,其中该方法应用于通过发送本地支持的全部业务能力值的Open报文等步骤,经历了 1、空闲(Idle) ;2、连接(Connect) ;3、激活(Active) ;4、OPEN 发送(OpenSend) ;5、OPEN 确认(OpenConfirm) ;6、已建立(Established)等状态的,已经成功建立会话连接的两个路由器之间的业务更改,换句话说应用在需要进行增加或者减少业务的时侯。具体的说,在本发明的方法中,在更改业务时不向对端路由器发送通知报文notification message,而是直接修改本地支持业务能力值,向对端发送变更能力值后的路由信息,并同时发送刷新报文 Refresh message,利用刷新报文Refresh message可要求对等体(peer)重新发送指定地址的路由信息的特点,使得BGP在已存在的会话上增删地址簇、变更业务能力时可以不用断开邻居,从而实现了增强BGP会话的稳定性。优选的,由于两端配置存在先后,后配置端可能会丢失部分先配置端发过来的路由,因此为了防止上述配置丢失的现象发生,在配置完成后,后配置端可以显式地向先配置端发送Refresh报文,在这种情况下,对于每台需要进行业务变更的交换机来说,其所需要进行的操作均为进行修改本地能力值、发送经过能力值变更后所支持的业务的路由信息并同时发送刷新报文Refresh message,换句话说,已经成功建立会话连接的两个路由器在进行业务更新时所进行的操作是一样的。实施例1
图3和图4显示了本发明的防止已建立BGP会话在业务变更时断开的方法一种具体实施方式
,其中路由器RTA、RTB都支持单播、组播业务,所述路由器RTA、RTB间已经建立了 IPv4单播连接。现在进行增加一项业务,在两端路由器之间使能进行组播业务,进行的步骤如下步骤11、路由器RTA修改本地能力值,变更为支持IPv4单播业务和组播业务;步骤12、路由器RTA向路由器RTB发送IPv4单播、组播路由信息,并同时发送刷新报文Refresh message,该刷新报文要求路由器RTB重新发送指定地址的路由信息; 步骤13、路由器RTB收到路由器RTA发来的刷新报文Refresh message,路由器 RTB修改本地能力值,变更为支持IPv4单播业务和组播业务;步骤14、路由器RTB向路由器RTA发送IPv4单播、组播路由信息,并同时发送刷新报文Refresh message,该刷新报文要求路由器RTA重新发送指定地址的路由信息;步骤15、路由器RTA、RTB间的IPv4单播业务和组播业务的会话连接建立,之前已经建立的会话连接没有断开。在本实施例上述过程中,所述路由器RTA不向所述路由器RTB发送Not i fi cat ion 消息,从而原先已经建立的单播业务会话就不会中断,从而做到了增强BGP会话的稳定性。实施例2图5和图6显示了本发明的防止已建立BGP会话在业务变更时断开的方法另外一种具体实施方式
,其中路由器RTA、RTB都支持本单播、组播业务,所述路由器RTA、RTB间已经建立了 IPv4单播和组播会话连接。现在两端路由器之间终止进行组播业务,进行的步骤如下步骤21、路由器RTA修改本地能力值,变更为只支持IPv4单播业务;步骤22、路由器RTA向路由器RTB发送IPv4单播路由信息,并同时发送刷新报文 Refresh message,该刷新报文要求路由器RTB重新发送指定地址的路由信息;步骤23、路由器RTB修改本地能力值,变更为只支持IPv4单播业务;步骤24、路由器RTB收到路由器RTA发来的刷新报文Refresh message后向路由器RTA发送IPv4单播路由信息;步骤25、路由器RTA、RTB间的组播业务会话被撤销,IPv4单播业务会话依然保持连接。在本实施例的上述过程中,所述路由器RTA不向所述路由器RTB发送 Notification消息,从而原先已经建立的单播业务会话就不会中断。实施例3一种本发明的防止已建立BGP会话在业务变更时断开的方法适用的系统,其包括支持组播业务、单播业务的两个路由器RTA、RTB0在已经建立组播业务的基础上进行新增单播业务时所述路由器RTA用于修改本地能力值,变更为支持单播业务,之后向路由器RTB发送其经过能力值变更后所支持的组播和单播业务的路由信息,并在发送该路由信息的同时发送刷新报文Refresh message,该刷新报文要求路由器RTB重新发送指定地址的路由信息;所述路由器RTB用于在接收到路由器RTA发来的刷新报文Refresh message后修改本地能力值,变更为支持组播以及单播业务,并向路由器RTA发送其经过能力值变更后所支持的业务的路由信息。所述路由器RTB在发送该路由信息的同时向所述路由器RTA发送刷新报文Refresh message,该刷新报文要求路由器RTA重新发送指定地址的路由信息。本实施例中的系统在已经建立组播业务的基础上进行新增单播业务时,组播业务不会被中断,避免了业务升级时对原有业务的影响。最后需要说明的是,本发明不仅适用于单播、组播业务等特定任务的增加或者撤销,其同样还适用于IPv6业务以及VPNv4业务的增加或者撤销;另外,对于有些不支持所述特定任务的交换机,其在进行业务变更时会发出通知报文notification message,从而导致已经建立的会话连接被中断。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种防止已建立BGP会话在业务变更时断开的方法,其特征在于,其应用于已经与其他路由器建立会话连接、支持特定业务的路由器RTA上,在进行新增或者减少该特定业务时,上述方法具体包括以下步骤步骤1、所述路由器RTA修改本地能力值,变更为支持或者撤销所述特定业务;步骤2、所述路由器RTA向与其建立会话连接的所述其他路由器发送经过能力值变更后所支持的业务的路由信息,并同时发送刷新报文Refresh message,该刷新报文要求所述其他路由器重新发送指定地址的路由信息;步骤3、所述路由器RTA收到所述其他路由器经过能力值变更后所支持的业务的路由信息,以使已经建立的会话连接经过业务变更不被中断。
2.根据权利要求1所述的方法,其特征在于,在步骤3中,如所述路由器RTA还收到与其建立会话连接的所述其他路由器发送来的刷新报文Refreshmessage,则所述路由器RTA 向所述其他路由器重新发送指定地址的路由信息。
3.根据权利要求1所述的方法,其特征在于,在步骤2与步骤3之间,所述路由器RTA 如收到与其建立会话连接的所述其他路由器发送来的通知报文notification message则断开已建立的会话连接。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,所述路由器RTA支持的所述特定业务包括组播业务、单播业务、IPv6业务以及VPNv4业务中的一种或者几种。
5.一种权利要求1所述的方法适用的系统,包括支持特定业务、已经建立会话连接的两个路由器RTA、RTB,其特征在于,在进行新增或者减少该特定业务时所述路由器RTA用于修改本地能力值,变更为支持或者撤销所述特定业务,之后向路由器RTB发送其经过能力值变更后所支持的业务的路由信息,并在发送该路由信息的同时发送刷新报文Refresh message,该刷新报文要求路由器RTB重新发送指定地址的路由信息;所述路由器RTB用于在接收到路由器RTA发来的刷新报文Refresh message后修改本地能力值,变更为支持或者撤销所述特定业务,并向路由器RTA发送其经过能力值变更后所支持的业务的路由信息。
6.根据权利要求5所述的系统,其特征在于,所述路由器RTB用于在发送经过能力值变更后所支持的业务的路由信息的同时发送刷新报文Refreshmessage,该刷新报文要求路由器RTA重新发送指定地址的路由信息。
7.根据权利要求5所述的系统,其特征在于,所述路由器RTA如收到与其建立会话连接的所述路由器RTB发送来的通知报文notification message则断开已建立的会话连接。
8.根据权利要求5-7中任意一项所述的系统,其特征在于,所述特定业务包括组播业务、单播业务、IPv6业务以及VPNv4业务中的一种或者几种。
全文摘要
本发明提供了一种防止已建立BGP会话在业务变更时断开的方法以及该方法适用的系统,其中该方法应用在支持一个特定业务的两个路由器之间,在进行新增或者减少该特定业务时,通过能力值变化的特定处理,利用Refresh报文的特点,使得BGP在已存在的会话上变更业务能力、增删地址簇时,可以不用断开邻居,从而增强了BGP会话的稳定性,并避免业务升级时对原有业务的影响。
文档编号H04L12/56GK102271080SQ201010197069
公开日2011年12月7日 申请日期2010年6月3日 优先权日2010年6月3日
发明者章海锋 申请人:杭州华三通信技术有限公司