一种基于路由校验的边界网关协议的路由更新方法

文档序号:10555516阅读:384来源:国知局
一种基于路由校验的边界网关协议的路由更新方法
【专利摘要】本发明涉及一种基于路由校验的边界网关协议的路由更新方法,属于互联网技术领域;该方法包括:当第一与第二BGP路由器首次建立邻居关系后,第一BGP路由器向第二BGP路由器发送所有路由信息;当两者邻居关系中断后,第一BGP路由器接收到来自其他BGP路由器的要删除的路由信息和要新添的路由信息,第二BGP路由器将存储的路由信息设为临时失效标志;当再次建立邻居关系后,第一BGP路由器接收到第二路由器的接收校验码确定要删除路由信息对应的校验码或要新添的路由信息,第二BGP路由器确定删除该路由信息及对应的接收校验码或新添路由信息;并将路由信息表中的全部路由信息对应的临时失效标志设置为未失效。本发明可减少发送的数据量,节省更新所需时间和带宽。
【专利说明】
一种基于路由校验的边界网关协议的路由更新方法
技术领域
[0001]本发明属于互联网技术领域,尤其涉及基于路由校验的边界网关协议的路由更新方法。
【背景技术】
[0002]边界网关协议BGP(Border Gateway Protocol)是一种域间路由协议,它在自治系统(Autonomous System,AS)间动态地学习路由信息,被互联网服务提供商所广泛使用,基于边界网关协议的路由器称为BGP路由器。BGP路由器之间通过更新(UPDATE)消息交换路由信息,从而相互学习路由信息。当BGP路由器之间建立邻居关系后,需要通过路由更新将彼此的路由信息发送给对方。在邻居关系保持期间,只有发生了改变的路由信息会被通告。如果邻居关系中断并重新建立,无论之前是否建立过邻居关系,BGP路由器将重新发送所有路由信息。
[0003]随着互联网规模的迅速扩大,BGP路由条目的数量越来越多,通告所有路由信息的过程会持续较长的时间,导致BGP收敛时间增加,影响网络路由的可达性。此外,发送所有路由信息还会占据较多的计算和带宽资源。并且,在某些场景下,BGP路由器之间的邻居关系的确会发生中断并重新建立的情况,例如链路发生短时间故障后恢复,路由器重新启动,移动网络中BGP路由器发生运动,或者天地一体化网络中卫星上搭载的BGP路由器由于卫星的周期运动而发生运动,BGP路由器必需重新发送所有路由信息。
[0004]目前,BGP路由器重新建立邻居关系后重新发送所有路由信息的问题,已有解决方案主要是BGP优雅重启(BGP Graceful Restart,BGP GR)技术。BGP优雅重启的主要方法是使即将重启的BGP路由器提前通知邻居BGP路由器,使邻居BGP路由器暂时保留原有接收到的路由信息,这样当BGP路由器完成了重启并重新建立邻居关系后,便可以避免向邻居BGP路由器发送所有路由。该技术已建立了相应的国际标准RFC4724。然而,BGP优雅重启仅仅针对BGP路由器重新启动导致重新发送所有路由的情况,而且一方面,BGP路由器重启事件是可以被事先预见的,另一方面,BGP路由器重启的过程持续时间较短,使得BGP路由器之间的邻居关系中断持续时间较短。因此,对于那些难以事先预见的情况,例如链路故障、网络随机移动等,以及BGP路由器之间的邻居关系中断时间较长的情况,例如天地一体化网络中低轨卫星的周期运动,BGP优雅重启均不能适用。此外,天地一体化网络中BGP路由器向邻居BGP路由器发送全部路由信息会比传统互联网中带来更大的开销,因为空间链路带宽和空间路由器处理能力较低。

【发明内容】

[0005]本发明的目的是解决BGP路由器重新建立邻居关系时发送全部路由信息的问题,提供一种基于路由校验的BGP的路由更新方法,以减少路由信息发送的数据量,节省路由更新所需时间和带宽。
[0006]为实现上述目的,本发明是通过下述技术方案实现的。
[0007]一种基于路由校验的域间路由协议的路由更新方法,其特征在于,应用在第一 BGP路由器与第二 BGP路由器之间的路由更新;该方法包括以下步骤:
[0008]I)当第一 BGP路由器与第二 BGP路由器首次建立邻居关系后,第一 BGP路由器通过UPDATE报文向第二 BGP路由器发送所有路由信息;
[0009]2)当第一 BGP路由器与第二 BGP路由器之间的邻居关系中断后,第一 BGP路由器对接收到来自其他BGP路由器的要删除的路由信息和要新添的路由信息,第二BGP路由器将存储的路由信息设为临时失效标志;
[0010]3)当第一 BGP路由器与第二 BGP路由器再次建立邻居关系后,第二 BGP路由器将其路由信息表中的全部临时失效标志为I的路由信息对应的接收校验码发送给第一 BGP路由器;当第一BGP路由器接收到所述接收校验码后,根据接收到的接收校验码确定要删除路由信息对应的校验码或要新添的路由信息,并发送给第二 BGP路由器要删除路由信息对应的校验码,以及通过UPDATE报文发送要新添的路由信息;第二 BGP路由器确定删除该路由信息及对应的接收校验码或新添路由信息;
[0011]4)当第一 BGP路由器发送完所有的要删除的路由信息对应的发送校验码和要新添的路由信息后,发送一个通知给第二 BGP路由器让第二 BGP路由器将全部路由信息对应的临时失效标志设置为0,表示路由信息未失效;
[0012]当所述第二BGP路由器接收到所述通知后,将第二 BGP路由器的路由信息表中的全部路由信息对应的临时失效标志设置为0,表示路由信息未失效。
[0013]本发明的所提出的基于路由校验的BGP路由更新方法具有实现简单、计算开销小的特点,能够在运行BGP协议的路由器上快速地良好地运行,并且能适应地面静态网络、移动网络、空间网络等多种网络环境。本发明能够快速地准确地确定需要发送的路由信息,且仅需要通告需要删除的路由信息对应的校验码和需要新添的路由信息,避免了通告全部路由信息,有效地减少了BGP路由更新的所需的通信数据量和通信时间,推动了域间路由协议在高动态网络中的应用发展,有效提高了异构网络一体化互联互通的能力。本发明的实施例所提出的基于路由校验的BGP路由更新方法可以运用在目前存在的各种路由器中,也可应用于未来天地一体化网络建设。
[0014]尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
【附图说明】
[0015]图1是根据本发明的基于路由校验的BGP路由更新方法流程图;
[0016]图2是根据本发明的基于路由校验的BGP路由更新方法中,第一BGP路由器路由信息表和第二BGP路由器路由信息表内容的实施例示意图;
[0017]图3是根据本发明的基于路由校验的BGP路由更新方法的实施例,在BGP邻居关系首次建立后,第一 BGP路由器的路由信息表和第二 BGP路由器的路由信息表内容及其变化示意图;
[0018]图4是根据本发明的基于路由校验的BGP路由更新的实施例,在BGP邻居关系中断后,第一BGP路由器的路由信息表和第二BGP路由器的路由信息表内容及其变化示意图;
[0019]图5是根据本发明的基于路由校验的BGP路由更新的实施例,在BGP邻居关系重新建立后,第一BGP路由器的路由信息表和第二BGP路由器的路由信息表内容及其变化示意图。
【具体实施方式】
[0020]为实现上述目的,本发明通过附图及实施例进一步说明如下:
[0021 ]本发明的基于路由校验的BGP路由更新方法,应用在第一 BGP路由器与第二 BGP路由器之间的路由更新,这两台路由器可以分别属于两个不同的自治系统,相互之间运行外部边界网关协议EBGP(External Border Gateway Protocol,EBGP);也可以属于同一个自治系统,相互之间运行内部边界网关协议IBGP(Internal Border Gateway Protocol,I BGP) ο
[0022]本发明的方法流程如图1所示,该方法包括以下步骤:
[0023]I)当第一 BGP路由器与第二 BGP路由器首次建立邻居关系后,第一 BGP路由器通过UPDATE报文向第二 BGP路由器发送所有路由信息;具体实施步骤如下:
[0024]1-1)设当在BGP邻居关系首次建立前,第一 BGP路由器将路由信息表中存储了多条路由信息,其中一条路由信息的内容如图2所示,而第二BGP路由器的路由信息表为空表。本实施例中,初始时第一BGP路由器的路由信息表中存储了4条路由信息Rl、R2、R3、R4,而第二BGP路由器的路由信息表为空表,如图3所示。
[0025]1-2)第一BGP路由器与第二BGP路由器首次建立邻居关系后,第一BGP路由器将其存储的全部路由信息发送给第二 BGP路由器,并分别为每条发送的路由信息计算一个对应的发送校验码;在图3所示的实施例中发送的路由信息为Rl、R2、R3、R4; Rl对应的发送校验码为C1,R2对应的发送校验码为C2,R3对应的发送校验码为C3,R4对应的发送校验码为C4。第一 BGP路由器将发送的路由信息与所述对应的发送校验码一起存储在第一 BGP路由器的路由信息表中。
[0026]1-3)第二BGP路由器接收到每条路由信息,为该路由信息计算一个对应的接收校验码,在图3所示的实施例中第二 BGP路由器接收的路由信息为Rl、R2、R3、R4; Rl对应的接收校验码为Cl,R2对应的接收校验码为C2,R3对应的接收校验码为C3,R4对应的接收校验码为C4。第二 BGP路由器将接收到的路由信息与对应的接收校验码一起存储在第二 BGP路由器中的路由信息表中,并将该接收到的路由信息所对应的临时失效标志设置为0,表示该条路由?目息未失效(可用)。
[0027]所述计算发送校验码和计算所述接收校验码的方法可以采用任意一种公开的校验码算法,并且第一BGP路由器与第二BGP路由器采用的算法相同。具体的可以采用的校验码算法包括但不限于CRC32、MD5、SHAl、SHA256等等。例如,图2所示路由信息中,该路由信息所对应的CRC32校验码为9a608cb0。
[0028]2)当第一 BGP路由器与第二 BGP路由器之间的邻居关系中断后,第一 BGP路由器接收到来自其他BGP路由器的要删除的路由信息和要新添的路由信息(因为第一 BGP路由器和其他BGP路由器之间的邻居关系没有中断,这里第一 BGP路由器从其他BGP路由器收到的是正常的要删除的路由信息和要添加的路由信息,不涉及校验码),第二 BGP路由器将存储的路由信息设为临时失效标志;具体步骤如下:
[0029]2-1)当第一BGP路由器接收到来自其他BGP路由器的要删除的路由信息后,在路由信息表中删除对应的路由信息和对应的发送校验码。在图4所示的实施例中,第一BGP路由器接收到了其他BGP路由器发送来的要删除的路由信息Rl,将其路由信息表中的路由信息Rl和对应的发送校验码Cl删除。
[0030]当第一BGP路由器接收到来自其他BGP路由器的要新添的路由信息后,为该新添的路由信息计算一个对应的发送校验码,将该新添的路由信息与对应的发送校验码一起存储在第一BGP路由器中的路由信息表中。在图4所示的实施例中,第一BGP路由器接收到了其他BGP路由器发送来的要新添的路由信息R5,为R5计算一个对应的发送校验码C5,并将该新添的路由信息R5与对应的发送校验码C5—起存储在第一BGP路由器的路由信息表中。
[0031]2-2)第二 BGP路由器将存储在路由信息表中的每条路由信息对应的临时失效标志设置为I,表示该路由信息临时失效(不可用)。在图4所示的实施例中,第二BGP路由器将其路由信息表中的4条路由信息Rl、R2、R3、R4对应的临时失效标志设置为I。
[0032]第一 BGP路由器与第二 BGP路由器之间的邻居关系中断发生的原因包括但不限于:连接第一 BGP路由器与第二 BGP路由器之间的链路发生故障,第一 BGP路由器或第二 BGP路由器中用于建立邻居关系的传输协议发生软件故障,第一BGP路由器或第二BGP路由器发生重启,第一BGP路由器或第二BGP路由器被人为配置强制中断邻居关系,第一BGP路由器或第二BGP路由器发生位置移动离开可以相互通信的范围,等等。
[0033]3)当第一 BGP路由器与第二 BGP路由器再次建立邻居关系后,第二 BGP路由器将其路由信息表中的全部临时失效标志为I的路由信息对应的接收校验码发送给第一 BGP路由器;当第一BGP路由器接收到所述接收校验码后,根据接收到的接收校验码确定要删除路由信息对应的校验码或要新添的路由信息,并发送给第二 BGP路由器要删除路由信息对应的校验码,以及通过UPDATE报文发送要新添的路由信息;第二 BGP路由器确定删除该路由信息及对应的接收校验码或新添路由信息;
[0034]具体步骤如下:
[0035]3-1)第二 BGP路由器将其路由信息表中的全部临时失效标志为I的路由信息对应的所述接收校验码发送给第一BGP路由器。在图5所示的实施例中,第二BGP路由器将全部临时失效标志为I的路由信息对应的接收校验码Cl、C2、C3、C4发送给第一 BGP路由器。
[0036]3-2)当第一BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一 BGP路由器的路由信息表确定删除的路由信息对应的校验码。在图5所示的实施例中,第一BGP路由器根据接收到的接收校验码Cl、C2、C3、C4和第一BGP路由器的路由信息表确定要删除的路由信息对应的校验码为Cl。如果需要删除的路由信息对应的校验码存在,则第一 BGP路由器将要删除的路由信息对应的校验码发送给第二 BGP路由器。在图5所示的实施例中,第一BGP路由器将Cl发送给第二BGP路由器。
[0037]步骤3-2)中第一BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一 BGP路由器的路由信息表确定删除的路由信息对应的校验码,具体为:
[0038]第一BGP路由器将接收到的每一个接收校验码与第一 BGP路由器的路由信息表中存储的每一个发送校验码相比较,如果不存在任何一个发送校验码与所述接收校验码比较结果相同,则该接收校验码确定为一条需要删除的路由信息对应的校验码。在图5所示的实施例中,第一BGP器将接收到的接收校验码Cl、C2、C3、C4与其路由信息表中存储的发送校验码C2、C3、C4、C5依次比较,比较结果不存在任何一个发送校验码与接收校验码Cl相同,所以Cl是一条确定要删除的路由信息对应的校验码。
[0039]3-3)当第一BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一 BGP路由器的路由信息表确定要新添的路由信息。将所述新添的路由信息发送给第二BGP路由器。在图5所示的实施例中,第一 BGP路由器根据接收到的接收校验码C1、C2、C3、C4和第一 BGP路由器的路由信息表确定要新添的路由信息为R5。如果要新添的路由信息存在,则第一 BGP路由器将要新添的路由信息通过UPDATE报文发送给第二 BGP路由器。在图5所示的实施例中,第一BGP路由器将R5发送给第二BGP路由器。
[0040]步骤3-3)当第一BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一 BGP路由器的路由信息表确定要新添的路由信息具体为:第一 BGP路由器的路由信息表中存储的每一个发送校验码与接收到的每一个接收校验码进行比较,如果不存在任何一个接收校验码与发送校验码比较结果相同,则该发送校验码对应的路由信息是一条确定要新添的对应路由信息。在图5所示的实施例中,第一BGP器将其路由信息表中存储的发送校验码02工3、04工5与接收到的接收校验码(:1工2、03工4依次比较,比较结果不存在任何一个接收校验码与发送校验码C5相同,所以C5对应的路由信息R5是一条要新添的路由信息。
[0041]3-4)第二 BGP路由器接收到第一 BGP路由器所发信息后确定在其路由表中删除该路由信息及对应的接收校验码或新添路由信息;具体为:当第二BGP路由器接收到所述需要新添的路由信息后,为每条所述要新添的路由信息计算一个对应的接收校验码,并将所述接收校验码以及对应的接收到的要新添的路由信息一起存储在第二 BGP路由器的路由信息表中。当第二 BGP路由器接收到确定要删除的路由信息对应的校验码后,将该删除的路由信息对应的校验码与第二 BGP路由器的路由信息表中的每条路由信息所对应的接收校验码相比较,如果比较结果相同,则从第二BGP路由器的路由信息表中删除该路由信息及对应的接收校验码。如图5所示的实施例中,第二BGP路由器将接收到的需要删除的路由信息对应的校验码Cl与其路由信息表中的每条路由信息所对应的接收校验码相比较,找到相同的接收校验码Cl以及对应的路由信息Rl,从第二BGP路由器的路由信息表中删除路由信息Rl及其对应的接收校验码Cl。
[0042]在图5所示的实施例中,第二BGP路由器接收到需要新添的路由信息R5,计算出对应的接收校验码为C5,将路由信息R5与对应的接收校验码C5—起存诸在第二 BGP路由器的路由信息表中。
[0043]4)当第一 BGP路由器发送完所有的要删除的路由信息对应的发送校验码和要新添的路由信息后,发送一个通知给第二 BGP路由器让第二 BGP路由器将全部路由信息对应的临时失效标志设置为0,表示路由信息未失效(可用)。
[0044]当所述第二BGP路由器接收到所述通知后,将第二 BGP路由器的路由信息表中的全部路由信息对应的临时失效标志设置为0,表示路由信息未失效(可用)。
【主权项】
1.一种基于路由校验的域间路由协议的路由更新方法,其特征在于,应用在第一 BGP路由器与第二 BGP路由器之间的路由更新;该方法包括以下步骤: 1)当第一BGP路由器与第二 BGP路由器首次建立邻居关系后,第一 BGP路由器通过UPDATE报文向第二 BGP路由器发送所有路由信息; 2)当第一BGP路由器与第二 BGP路由器之间的邻居关系中断后,第一 BGP路由器接收到来自其他BGP路由器的要删除的路由信息和要新添的路由信息,第二 BGP路由器将存储的路由信息设为临时失效标志; 3)当第一BGP路由器与第二 BGP路由器再次建立邻居关系后,第二 BGP路由器将其路由信息表中的全部临时失效标志为I的路由信息对应的接收校验码发送给第一BGP路由器;当第一BGP路由器接收到所述接收校验码后,根据接收到的接收校验码确定要删除路由信息对应的校验码或要新添的路由信息,并发送给第二BGP路由器要删除路由信息对应的校验码,以及通过UPDATE报文发送要新添的路由信息;第二 BGP路由器确定删除该路由信息及对应的接收校验码或新添路由信息;4)当第一 BGP路由器发送完所有的要删除的路由信息对应的发送校验码和要新添的路由信息后,发送一个通知给第二 BGP路由器让第二 BGP路由器将全部路由信息对应的临时失效标志设置为O,表示路由信息未失效; 当所述第二 BGP路由器接收到所述通知后,将第二 BGP路由器的路由信息表中的全部路由信息对应的临时失效标志设置为O,表示路由信息未失效。2.如权利要求1所述方法,其特征在于,所述步骤I)具体包括以下步骤: 1-1)设当在BGP邻居关系首次建立前,第一 BGP路由器将路由信息表中存储了多条路由信息,而第二 BGP路由器的路由信息表为空表; 1-2)第一BGP路由器与第二BGP路由器首次建立邻居关系后,第一BGP路由器将其存储的全部路由信息发送给第二 BGP路由器,并分别为每条发送的路由信息计算一个对应的发送校验码;第一 BGP路由器将发送的路由信息与所述对应的发送校验码一起存储在第一 BGP路由器的路由信息表中; 1-3)第二BGP路由器接收到每条路由信息,为该路由信息计算一个对应的接收校验码;第二 BGP路由器将接收到的路由信息与对应的接收校验码一起存储在第二 BGP路由器中的路由信息表中,并将该接收到的路由信息所对应的临时失效标志设置为O,表示该条路由信息未失效。3.如权利要求1所述方法,其特征在于,所述步骤2)具体包括以下步骤: 2-1)当第一BGP路由器接收到来自其他BGP路由器的要删除的路由信息后,在路由信息表中删除对应的路由信息和对应的发送校验码; 当第一 BGP路由器接收到来自其他BGP路由器的要新添的路由信息后,为该新添的路由信息计算一个对应的发送校验码,将该新添的路由信息与对应的发送校验码一起存储在第一BGP路由器中的路由信息表中; 2-2)第二BGP路由器将存储在路由信息表中的每条路由信息对应的临时失效标志设置为I,表示该路由信息临时失效。4.如权利要求1所述方法,其特征在于,所述步骤3)具体包括以下步骤: 3-1)第二BGP路由器将其路由信息表中的全部临时失效标志为I的路由信息对应的所述接收校验码发送给第一 BGP路由器; 3-2)当第一 BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一BGP路由器的路由信息表确定删除的路由信息对应的校验码;如果需要删除的路由信息对应的校验码存在,则第一 BGP路由器将要删除的路由信息对应的校验码发送给第二 BGP路由器; 步骤3-2)中第一BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一 BGP路由器的路由信息表确定删除的路由信息对应的校验码,具体为: 第一 BGP路由器将接收到的每一个接收校验码与第一 BGP路由器的路由信息表中存储的每一个发送校验码相比较,如果不存在任何一个发送校验码与所述接收校验码比较结果相同,则该接收校验码确定为一条需要删除的路由信息对应的校验码; 3-3)当第一 BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一BGP路由器的路由信息表确定要新添的路由信息;将所述新添的路由信息发送给第二 BGP路由器; 步骤3-3)当第一BGP路由器接收到所述接收校验码后,根据所述接收到的接收校验码和第一 BGP路由器的路由信息表确定要新添的路由信息具体为:第一 BGP路由器的路由信息表中存储的每一个发送校验码与接收到的每一个接收校验码进行比较,如果不存在任何一个接收校验码与发送校验码比较结果相同,则该发送校验码对应的路由信息是一条确定要新添的对应路由信息; 3-4)第二 BGP路由器接收到第一 BGP路由器所发信息后确定在其路由表中删除该路由信息及对应的接收校验码或新添路由信息;具体为:当第二BGP路由器接收到所述需要新添的路由信息后,为每条所述要新添的路由信息计算一个对应的接收校验码,并将所述接收校验码以及对应的接收到的要新添的路由信息一起存储在第二 BGP路由器的路由信息表中;当第二BGP路由器接收到确定要删除的路由信息对应的校验码后,将该删除的路由信息对应的校验码与第二 BGP路由器的路由信息表中的每条路由信息所对应的接收校验码相比较,如果比较结果相同,则从第二BGP路由器的路由信息表中删除该路由信息及对应的接收校验码。
【文档编号】H04L12/751GK105915457SQ201610284551
【公开日】2016年8月31日
【申请日】2016年4月29日
【发明人】徐明伟, 杨芫, 林恒
【申请人】清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1