路由更新方法、介质、装置和计算设备与流程

专利检索2022-05-11  9



1.本公开的实施方式涉及网络传输技术领域,更具体地,本公开的实施方式涉及一种路由更新方法、介质、装置和计算设备。


背景技术:

2.本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.边界网关协议(border gateway protocol,bgp)是传统网络架构中能够灵活转发的路由协议。bgp协议承载着不同网络设备的路由信息,以传输控制协议(transmission control protocol,tcp)方式进行传输,通过分布式计算获得最优路由转发路径。bgp协议具有高度的灵活性,得到越来越广泛的应用。
4.目前,为避免路由频繁变化引起的路由震荡,当网络设备中的bgp路由发生变化时,该网络设备会将变化的路由信息通知给路由反射器(route reflector,rr),由rr采用限制发布同一路由的周期,仅在周期结束时向自治域内的其余网络设备发送路由信息,以保证全网路由信息同步。
5.发明人研究发现:通过上述方式进行路由更新,虽然可以很好地避免路由震荡,但也存在形成路由环路的风险。


技术实现要素:

6.本公开提供一种路由更新方法、介质、装置和计算设备,以解决目前的路由更新方式存在形成路由环路风险的问题。
7.在本公开实施方式的第一方面中,提供了一种路由更新方法,包括:接收路由更新消息,路由更新消息中携带目标节点路由前缀信息和目标邻居节点地址信息,目标节点路由前缀信息用于标识第一网络设备的业务服务,目标邻居节点地址信息用于标识第二网络设备的网络地址,第二网络设备与接收路由更新消息的网络设备相邻,第一网络设备和第二网络设备均运行bgp;根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间;基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新,其中,目标对等体为与接收路由更新消息的网络设备在同一自治域下的网络设备。
8.在一种可能的实施方式中,根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间,包括:根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略,路由更新策略包含各个节点的路由前缀信息、邻居节点地址信息以及对应于路由前缀信息和/或邻居节点地址信息的多个抑制时间的对应关系;响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,确定与目标节点路由前缀信息和目标邻居节点地址信息同时匹配的第一策略;根据第一策略,确
定第一抑制时间;确定目标抑制时间为第一抑制时间。
9.在一种可能的实施方式中,该路由更新方法还包括:响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,确定路由更新策略中仅与目标节点路由前缀信息匹配的第二策略以及仅与目标邻居节点地址信息匹配的第三策略;根据第二策略,确定第二抑制时间;确定目标抑制时间为第二抑制时间。
10.在一种可能的实施方式中,该路由更新方法还包括:响应于路由更新策略中包含目标邻居节点地址信息,确定路由更新策略中仅与目标邻居节点地址信息匹配的第三策略;根据第三策略,确定第三抑制时间;确定目标抑制时间为第三抑制时间。
11.在一种可能的实施方式中,该路由更新方法还包括:响应于路由更新策略中既不包含目标路由前缀信息也不包含目标邻居地址信息,确定目标抑制时间为第四抑制时间。
12.在一种可能的实施方式中,基于目标抑制时间,向目标对等体发送路由更新消息,包括:响应于目标抑制时间的确定时刻,在经过目标抑制时间后,向目标对等体发送路由更新消息。
13.在一种可能的实施方式中,根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略之前,该路由更新方法还包括:根据业务服务对故障的敏感程度,确定路由更新策略。
14.在一种可能的实施方式中,基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新之前,该路由更新方法还包括:响应于目标抑制时间不为零,缓存目标路由前缀信息和目标邻居地址信息。
15.在一种可能的实施方式中,该路由更新方法还包括:响应于路由添加操作和/或路由撤销操作,接收路由更新消息。
16.第二方面,本公开实施例提供一种路由更新装置,包括:接收模块,用于接收路由更新消息,路由更新消息中携带目标节点路由前缀信息和目标邻居节点地址信息,目标节点路由前缀信息用于标识第一网络设备的业务服务,目标邻居节点地址信息用于标识第二网络设备的网络地址,第二网络设备与接收路由更新消息的网络设备相邻,第一网络设备和第二网络设备均运行bgp;确定模块,用于根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间;处理模块,用于基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新,其中,目标对等体为与接收路由更新消息的网络设备在同一自治域下的网络设备。
17.在一种可能的实施方式中,确定模块具体用于:根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略,路由更新策略包含各个节点的路由前缀信息、邻居节点地址信息以及对应于路由前缀信息和/或邻居节点地址信息的多个抑制时间的对应关系;响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,确定与目标节点路由前缀信息和目标邻居节点地址信息同时匹配的第一策略;根据第一策略,确定第一抑制时间;确定目标抑制时间为第一抑制时间。
18.在一种可能的实施方式中,确定模块还用于:响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,确定路由更新策略中仅与目标节点路由前缀信息匹配的第二策略以及仅与目标邻居节点地址信息匹配的第三策略;根据第二策略,确定
第二抑制时间;确定目标抑制时间为第二抑制时间。
19.在一种可能的实施方式中,确定模块还用于:响应于路由更新策略中包含目标邻居节点地址信息,确定路由更新策略中仅与目标邻居节点地址信息匹配的第三策略;根据第三策略,确定第三抑制时间;确定目标抑制时间为第三抑制时间。
20.在一种可能的实施方式中,确定模块还用于:响应于路由更新策略中既不包含目标路由前缀信息也不包含目标邻居地址信息,确定目标抑制时间为第四抑制时间。
21.在一种可能的实施方式中,处理模块具体用于:响应于目标抑制时间的确定时刻,在经过目标抑制时间后,向目标对等体发送路由更新消息。
22.在一种可能的实施方式中,确定模块在用于根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略之前,还用于:根据业务服务对故障的敏感程度,确定路由更新策略。
23.在一种可能的实施方式中置,处理模块在用于基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新之前,还用于:响应于目标抑制时间不为零,缓存目标路由前缀信息和目标邻居地址信息。
24.在一种可能的实施方式中,接收模块还用于:响应于路由添加操作和/或路由撤销操作,接收路由更新消息。
25.第三方面,本公开实施例提供一种计算设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如本公开第一方面所述的路由更新方法。
26.第四方面,本公开实施例提供一种存储介质,存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现如本公开第一方面所述的路由更新方法。
27.第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如本公开第一方面所述的路由更新方法。
28.本公开实施例提供的路由更新方法、介质、装置和计算设备,通过接收路由更新消息,路由更新消息中携带目标节点路由前缀信息和目标邻居节点地址信息,根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间,基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新。由于本公开根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间,进而根据目标抑制时间进行路由更新,其中,预设的多个抑制时间可根据不同的业务需求进行灵活配置,因此,能够很好地避免形成路由环路,并可以很好地避免路由震荡,降低了不同业务模型之间的干扰,提升了网络的可靠性。
附图说明
29.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:图1为本公开一实施例提供的bgp网络拓扑图;
图2为本公开实施例提供的一种应用场景示意图;图3为本公开一实施例提供的路由更新方法的流程图;图4为本公开另一实施例提供的路由更新方法的流程图;图5为本公开另一实施例提供的bgp网络拓扑图;图6为本公开一实施例提供的路由更新装置的结构示意图;图7为本公开一实施例提供的存储介质示意图;图8为本公开一实施例提供的计算设备的结构示意图。
30.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
31.下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
32.本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
33.根据本公开的实施方式,提出了一种路由更新方法、介质、装置和计算设备。
34.在本文中,需要理解的是,所涉及的术语:bgp,是网络架构中计算分发路由的协议,包含内部边界网关协议(internal border gateway protocol,ibgp)和外部边界网关协议(external border gateway protocol,ebgp),ibgp表示所有网络设备在同一自治域,ebgp表示网络设备不在同一自治域;rr,在网络架构中所有bgp邻居节点需要全相连,为了简化结构,引入了rr作为中间节点,所有网络设备与路由反射器相连,减少线路数量;路由震荡,即路由频繁地新增或撤销,使网络传输时断时续,影响网络传输质量;路由抑制,即当路由信息发生变化时,不会立即通告给其余bgp邻居节点,而是先缓存消息,等待一个设置的抑制时间周期后再通告,可以有效减少路由震荡;路由通告,即向所有bgp邻居节点发布路由更新消息,实现全网的路由同步;对等体,即bgp邻居节点,表示与自身相邻的运行bgp协议的网络设备节点;路由反射服务,开发的bgp应用程序,用于bgp路由的收发,替换当前的rr设备功能。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
35.下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
36.发明概述本发明人发现,在日常运维中,网络线路抖动或中断、服务器维护重启经常引发bgp路由的变化,频繁的路由变化导致路由器对自身维护的bgp路由表进行频繁更新,形成路由震荡,最终引发网络不稳定、业务不可用等问题。当前网络架构中的rr采用限制发布同一路由的时间间隔,通过配置向指定对等体(即bgp邻居节点)发布同一路由更新消息的时间间隔,当前路由频繁变化时,仅在每个周期结束时发送路由状态,避免频繁变化引起的路由震荡。随着互联网业务的飞速发展,不同业务对于网络有着各自特殊的要求,亟需在当前网络环境下,保障业务网络正常运行。当前网络架构中的rr所支持的抑制策略虽然可以很
好的避免路由震荡,但是也存在形成路由环路的风险。
37.示例性地,图1为本公开一实施例提供的bgp网络拓扑图,如图1所示,整体网络结构中,s1和s2均表示服务器,s1和s2建立ibgp邻居,s1和s2互为冗余备份;ar1和ar2均表示接入层设备,具体比如为接入交换机或接入路由器,用于接入服务器,ar1和s1建立ebgp邻居,ar2和s2建立ebgp邻居;br1、br2、br3和br4均表示边界设备,具体比如为边界路由器或边界交换机,用于区域内数据传输,br1和br2与ar1建立ebgp邻居,br3和br4与ar2建立ebgp邻居;cr1和cr2均表示核心设备,用于区域间数据传输;rr1和rr2均表示路由反射器,用于向核心层设备(即核心设备和边界设备)同步路由信息。其中,核心层采用rr1和rr2反射路由同步核心层路由,具体包含cr1、cr2、br1、br2、br3和br4等设备。接入层具体包含ar1和ar2,接入层与核心层采用ebgp方式连接,由边界设备br1、br2、br3和br4将接入的路由同步给rr1和rr2,然后rr1和rr2再反射给同一自治域内的其余路由器,实现全网互通。为了实现高冗余,减少网络设备故障带来的风险,业务采用任播(anycast)技术,在不同机房部署服务器,且使用同一个网际互连协议(internet protocol,ip)地址,由bgp的选路原则控制服务器的主备切换,最终实现高冗余的效果。具体地,首先,服务器s1与ar1建立ebgp邻居,并发布自身的32位主机路由(即业务地址)给ar1;然后ar1分别与br1、br2建立ebgp邻居,并将s1的32位主机路由发布给br1和br2;接着br1和br2将s1的32位主机路由同步给rr1和rr2。可以理解,服务器s2的路由发布过程同s1。最终rr1和rr2分别收到两条路由前缀相同但路径不同的路由信息,rr1和rr2通过bgp选路原则选出最优路由后,将服务器路由发布给下属的核心层所有设备(即cr1、cr2、br1、br2、br3和br4),实现网络互通。
38.正常处理流程中,rr中配置了路由更新抑制时间,防止网络设备之间的线路抖动引起路由震荡,默认配置的路由更新抑制时间比如为30秒。如果服务器s1当前是主设备且出现了故障,则ar1、br1和br2会收到撤销路由报文,在撤销路由的同时,br1和br2将撤销路由信息发布给rr1和rr2,rr1和rr2收到信息后检查抑制时间,在抑制时间结束后才会通告给其他核心层的网络设备br3、br4、cr1和cr2。在抑制时间结束前,br3、br4、cr1和cr2会将收到的访问服务器s1的数据包转发给br1和br2,而br1和br2已经撤销了路由,则br1和br2又会将该数据包转发给cr1和cr2,因此,访问服务器s1的路由就会出现环路,导致数据包在网络中一直循环传输,占用网络带宽,影响网络性能。直到抑制时间结束时,br3、br4、cr1和cr2才会收到rr1和rr2同步的路由信息,进而将该数据包转发给服务器s2。若将rr路由更新策略设置为立即更新,则会无法应对网络设备之间线路抖动产生的路由震荡。
39.基于上述问题,本公开提供一种路由更新方法、介质、装置和计算设备,通过提供可灵活配置路由更新策略的bgp路由反射服务,替换了网络架构中的rr这一硬件路由设备,相应配置有路由更新策略的bgp反射服务能够很好地在避免路由震荡的同时,也避免形成路由环路。
40.应用场景总览首先参考图2对本公开提供的方案的应用场景进行示例说明。图2为本公开实施例提供的一种应用场景示意图,如图2所示,本应用场景中,各网络设备均运行bgp,当服务器201的路由出现变化,比如新添加路由或撤销路由,则该服务器201发送路由更新消息给相邻的接入路由器202,接入路由器202将路由更新消息发送给相邻的边界路由器203,边界路由器203将路由更新消息发送给路由反射服务器204,路由反射服务器204根据路由更新消
息在预设的多个抑制时间中确定路由更新的目标抑制时间,基于目标抑制时间,向目标对等体(比如核心路由器205)发送路由更新消息,以进行路由更新。
41.需要说明的是,图2仅是本公开实施例提供的一种应用场景的示意图,本公开实施例不对图2中包括的设备进行限定,也不对图2中设备之间的位置关系进行限定。例如,在图2所示的应用场景中,还可以包括数据存储设备,该数据存储设备相对路由反射服务器204可以是外部存储器,也可以是集成在路由反射服务器204中的内部存储器。
42.示例性方法下面结合图2的应用场景,参考图3来描述根据本公开示例性实施方式的用于路由更新的方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
43.首先,通过具体实施例介绍路由更新方法。
44.图3为本公开一实施例提供的路由更新方法的流程图。本公开实施例的方法可以应用于计算设备中,该计算设备可以是服务器或服务器集群等。如图3所示,本公开实施例的方法包括:s301、接收路由更新消息,路由更新消息中携带目标节点路由前缀信息和目标邻居节点地址信息。
45.其中,目标节点路由前缀信息用于标识第一网络设备的业务服务,目标邻居节点地址信息用于标识第二网络设备的网络地址,第二网络设备与接收路由更新消息的网络设备相邻,第一网络设备和第二网络设备均运行bgp。
46.本公开实施例中,参考图1,第一网络设备比如为服务器s1,服务器s1的路由前缀信息标识了服务器s1提供的对应的业务服务,相应地,第二网络设备为br1或br2;第一网络设备比如为cr1,cr1的路由前缀信息标识了cr1与所连接的网络设备(比如br1)之间的连接服务,这时第二网络设备也为cr1。示例性地,参考图2,第一网络设备比如为服务器201,服务器201的不同业务地址用于提供不同的业务服务。若服务器201新添加了用于提供一业务服务的路由,该路由即为服务器201用于提供该业务服务的业务地址,则服务器201发送路由更新消息给相邻的接入路由器202,路由更新消息中携带服务器201的路由前缀信息(即服务器201的业务地址)以及作为邻居节点地址信息的服务器201的管理地址。接入路由器202在接收到路由更新消息后,将路由更新消息中的邻居节点地址信息更新为接入路由器202的管理地址,然后发送路由更新消息给相邻的边界路由器203,该路由更新消息中携带服务器201的路由前缀信息以及作为邻居节点地址信息的接入路由器202的管理地址。边界路由器203在接收到路由更新消息后,将路由更新消息中的邻居节点地址信息更新为边界路由器203的管理地址,然后发送路由更新消息给路由反射服务器204,该路由更新消息中携带服务器201的路由前缀信息以及作为邻居节点地址信息的边界路由器203的管理地址。路由反射服务器204接收相邻的边界路由器203发送的路由更新消息,路由反射服务器204即为执行本公开实施例的计算设备,该路由更新消息携带的服务器201的路由前缀信息即为目标节点路由前缀信息,该路由更新消息携带的边界路由器203的管理地址即为目标邻居节点地址信息,相应地,边界路由器203即为第二网络设备。需要说明的是,路由反射服务器204启动后,会与边界路由器203及核心路由器205建立bgp邻居关系,如果建立bgp邻居关
系失败,可以通过重试机制来最终建立bgp邻居关系,从而可以接收路由更新消息。
47.进一步地,可选的,本公开实施例的方法还包括:响应于路由添加操作和/或路由撤销操作,接收路由更新消息。
48.示例性地,参考图2,服务器201,若服务器201新添加了路由,会将路由更新消息依次经过相邻的接入路由器202、边界路由器203发送至路由反射服务器204,相应地,路由反射服务器204响应于服务器201的路由添加操作,接收路由更新消息。若服务器201撤销了路由,会将路由更新消息依次经过相邻的接入路由器202、边界路由器203发送至路由反射服务器204,相应地,路由反射服务器204响应于服务器201的路由撤销操作,接收路由更新消息。
49.s302、根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间。
50.该步骤中,预设的多个抑制时间可以是运维人员根据不同的业务需求配置的不同节点的抑制时间,可以理解,预设的多个抑制时间用于满足不同的业务需求,比如有的节点在路由发生变化后,需要立即更新路由,则可以设置抑制时间为比如为0,表示立即更新路由;而有的节点在在路由发生变化后,不需要立即更新路由,则可以设置抑制时间为比如为30秒,表示在经过30秒后更新路由。示例性地,参考图2,若服务器201新添加了路由,该路由即为服务器201用于提供相应业务服务的业务地址,需要立即更新路由,则可以设置对应的抑制时间比如为0,表示立即更新路由;若边界路由器203和核心路由器205之间的线路出现频繁中断,由于边界路由器203和核心路由器205都有冗余备份,不需要立即更新路由则可以设置对应的抑制时间比如为30秒,表示在经过30秒后更新路由。示例性地,预设的多个抑制时间可以存储至数据库中,比如redis。在接收到了路由更新消息后,可以从路由更新消息中提取目标节点路由前缀信息和目标邻居节点地址信息,然后根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间。对于如何根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间,可参考后续实施例,此处不再赘述。
51.s303、基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新。
52.其中,目标对等体为与接收路由更新消息的网络设备在同一自治域下的网络设备。
53.示例性地,参考图2,路由反射服务器204即为接收路由更新消息的网络设备,目标对等体比如为边界路由器203和核心路由器205,边界路由器203、核心路由器205与路由反射服务器204在同一自治域下。该步骤中,在确定了目标抑制时间后,可以基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新。示例性地,目标抑制时间比如为0,表示立即更新路由,参考图2,路由反射服务器204在确定了目标抑制时间为0后,向目标对等体(比如核心路由器205)发送路由更新消息,相应地,目标对等体在接收到该路由更新消息后,立即进行路由更新。
54.进一步地,可选的,基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新之前,本公开实施例的方法还可以包括:响应于目标抑制时间不为零,缓存目标路由前缀信息和目标邻居地址信息。
55.示例性地,目标抑制时间比如为30秒,在确定目标抑制时间不为零后,将目标路由
前缀信息和目标邻居地址信息缓存至队列中,在经过30秒后将队列中已存储的路由更新消息发送给目标对等体,以进行路由更新。通过缓存的方式,能够防止路由频繁变化引起的路由震荡。
56.本公开实施例提供的路由更新方法,通过接收路由更新消息,路由更新消息中携带目标节点路由前缀信息和目标邻居节点地址信息,根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间,基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新。由于本公开实施例根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间,进而根据目标抑制时间进行路由更新,其中,预设的多个抑制时间可根据不同的业务需求进行灵活配置,因此,能够很好地避免形成路由环路,并可以很好地避免路由震荡,降低了不同业务模型之间的干扰,提升了网络的可靠性。
57.图4为本公开另一实施例提供的路由更新方法的流程图。在上述实施例的基础上,本公开实施例对如何更新路由进行进一步说明。如图4所示,本公开实施例的方法可以包括:s401、接收路由更新消息,路由更新消息中携带目标节点路由前缀信息和目标邻居节点地址信息。
58.其中,目标节点路由前缀信息用于标识第一网络设备的业务服务,目标邻居节点地址信息用于标识第二网络设备的网络地址,第二网络设备与接收路由更新消息的网络设备相邻,第一网络设备和第二网络设备均运行bgp。
59.该步骤的具体描述可以参见图3所示实施例中s301的相关描述,此处不再赘述。
60.本公开实施例中,图3中s302步骤可以进一步包括如下的s402至s413步骤:s402、根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略,路由更新策略包含各个节点的路由前缀信息、邻居节点地址信息以及对应于路由前缀信息和/或邻居节点地址信息的多个抑制时间的对应关系。
61.该步骤中,示例性地,路由更新策略比如为运维人员根据不同的业务需求配置的策略,路由更新策略可以存储至数据库中。表1为本公开一实施例提供的路由更新策略包含的字段信息。如表1所示,路由更新策略包含三个字段:路由前缀信息(prefix)、邻居节点地址信息(neighbor)和抑制时间(interval)。其中,路由前缀信息prefix和邻居节点地址信息neighbor均为非必填,若路由前缀信息prefix、邻居节点地址信息neighbor和抑制时间interval都未填,则表示采用默认规则,即默认抑制时间比如为30秒。可以理解,若使用数据库存储路由更新策略,则每一个路由更新策略对应数据库中的一条记录,其中,可以使用路由前缀信息作为键。
62.表1字段名字段含义数据类型是否必须prefix路由前缀信息string非必填neighbor邻居节点地址信息string非必填interval抑制时间int必填示例性地,参考图2,可以在数据库中配置一个路由更新策略为:路由前缀信息为服务器201的业务地址、邻居节点地址信息为相邻的边界路由器203的管理地址、抑制时间
为0(即立即更新路由);或者,可以在数据库中配置一个路由更新策略为:路由前缀信息为服务器201的业务地址、抑制时间为0;或者,可以在数据库中配置一个路由更新策略为:邻居节点地址信息为相邻的边界路由器203的管理地址、抑制时间为30秒。依此类推,可以在数据库中根据不同的业务需求配置多个路由更新策略,路由更新策略可以包含各个节点的路由前缀信息、邻居节点地址信息以及对应于路由前缀信息和/或邻居节点地址信息的多个抑制时间的对应关系。
63.进一步地,可选的,根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略之前,本公开实施例的方法还可以包括:根据业务服务对故障的敏感程度,确定路由更新策略。
64.示例性地,参考图2,若服务器201提供的业务服务出现故障,需要立即更新路由,则可以确定路由更新策略中的抑制时间比如为0,表示立即更新。若边界路由器203和核心路由器205之间的线路出现中断,由于边界路由器203和核心路由器205都有冗余备份,不需要立即更新路由,则可以确定对应的抑制时间比如为30秒,表示在经过30秒后更新路由。
65.s403、判断路由更新策略中是否包含目标节点路由前缀信息和目标邻居节点地址信息。
66.若路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,则执行s404步骤;若路由更新策略中既不包含目标节点路由前缀信息也不包含目标邻居节点地址信息,则执行s413步骤。
67.s404、响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,判断路由更新策略中是否包含与目标节点路由前缀信息和目标邻居节点地址信息同时匹配的第一策略。
68.若确定路由更新策略中包含与目标节点路由前缀信息和目标邻居节点地址信息同时匹配的第一策略,则执行s405步骤;若确定路由更新策略中未包含与目标节点路由前缀信息和目标邻居节点地址信息同时匹配的第一策略,则执行s407步骤。
69.s405、根据第一策略,确定第一抑制时间。
70.s406、确定目标抑制时间为第一抑制时间。
71.对于s405和s406步骤,根据目标节点路由前缀信息和目标邻居节点地址信息查询路由更新策略,查询结果为路由更新策略中包含与目标节点路由前缀信息和目标邻居节点地址信息同时匹配的第一策略,则可以获得对应的第一抑制时间。示例性地,参考图2,若服务器201出现宕机,路由反射服务器204会接收到对应的路由更新消息,该路由更新消息中携带服务器201的路由前缀信息以及作为邻居节点地址信息的边界路由器203的管理地址。路由反射服务器204根据服务器201的路由前缀信息和边界路由器203的管理地址,查询路由更新策略,确定与服务器201的路由前缀信息和边界路由器203的管理地址同时匹配的第一策略,进而根据第一策略,确定第一抑制时间,该第一抑制时间即为目标抑制时间。若边界路由器203和核心路由器205之间的线路出现中断,则路由反射服务器204会收到边界路由器203和核心路由器205之间的路由更新消息,该路由更新消息中携带核心路由器205的路由前缀信息以及作为邻居节点地址信息的核心路由器205的管理地址。路由反射服务器204根据核心路由器205的路由前缀信息和核心路由器205的管理地址,查询路由更新策略,确定与核心路由器205的路由前缀信息和核心路由器205的管理地址同时匹配的第一策略,
进而根据第一策略,确定第一抑制时间,该第一抑制时间即为目标抑制时间。
72.s407、响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,判断路由更新策略中是否包含仅与目标节点路由前缀信息匹配的第二策略。
73.若确定路由更新策略中包含仅与目标节点路由前缀信息匹配的第二策略,或者,确定路由更新策略中包含仅与目标节点路由前缀信息匹配的第二策略以及仅与目标邻居节点地址信息匹配的第三策略(图4中未示出),则执行s408步骤;若确定路由更新策略中未包含仅与目标节点路由前缀信息匹配的第二策略,则执行s410步骤。
74.s408、根据第二策略,确定第二抑制时间。
75.s409、确定目标抑制时间为第二抑制时间。
76.对于s408和s409步骤,根据目标节点路由前缀信息和目标邻居节点地址信息查询路由更新策略,若查询结果为路由更新策略中包含仅与目标节点路由前缀信息匹配的第二策略,或者,路由更新策略中包含仅与目标节点路由前缀信息匹配的第二策略以及仅与目标邻居节点地址信息匹配的第三策略,由于第二策略的优先级高于第三策略,因此,可以根据第二策略获得对应的第二抑制时间,该第二抑制时间即为目标抑制时间。示例性地,参考图2,若服务器201出现宕机,路由反射服务器204会接收到对应的路由更新消息,该路由更新消息中携带服务器201的路由前缀信息以及作为邻居节点地址信息的边界路由器203的管理地址。路由反射服务器204根据服务器201的路由前缀信息和边界路由器203的管理地址,查询路由更新策略,查询到仅与服务器201的路由前缀信息匹配的第二策略以及仅与边界路由器203的管理地址匹配的第三策略,则确定根据第二策略获得对应的第二抑制时间,即目标抑制时间。
77.s410、响应于路由更新策略中包含目标邻居节点地址信息,判断路由更新策略中是否包含仅与目标邻居节点地址信息匹配的第三策略。
78.若确定路由更新策略中包含仅与目标邻居节点地址信息匹配的第三策略,则执行s411步骤;若确定路由更新策略中未包含仅与目标邻居节点地址信息匹配的第三策略,则执行s413步骤。
79.s411、根据第三策略,确定第三抑制时间。
80.s412、确定目标抑制时间为第三抑制时间。
81.对于s411和s412步骤,根据目标节点路由前缀信息和目标邻居节点地址信息查询路由更新策略,若查询结果为路由更新策略中包含仅与目标邻居节点地址信息匹配的第三策略,则确定根据第三策略获得对应的第三抑制时间,该第三抑制时间即为目标抑制时间。示例性地,参考图2,若服务器201出现宕机,路由反射服务器204会接收到对应的路由更新消息,该路由更新消息中携带服务器201的路由前缀信息以及作为邻居节点地址信息的边界路由器203的管理地址。路由反射服务器204根据服务器201的路由前缀信息和边界路由器203的管理地址,查询路由更新策略,查询到仅与边界路由器203的管理地址匹配的第三策略,则确定根据第三策略获得对应的第三抑制时间,即目标抑制时间。
82.s413、响应于路由更新策略中既不包含目标路由前缀信息也不包含目标邻居地址信息,确定目标抑制时间为第四抑制时间。
83.该步骤可以理解为默认路由更新策略,第四抑制时间比如为30秒。示例性地,参考图2,若服务器201出现宕机,路由反射服务器204会接收到对应的路由更新消息,该路由更
新消息中携带服务器201的路由前缀信息以及作为邻居节点地址信息的边界路由器203的管理地址。路由反射服务器204根据服务器201的路由前缀信息和边界路由器203的管理地址,查询路由更新策略,既未查询到服务器201的路由前缀信息也未查询到边界路由器203的管理地址,则确定目标抑制时间为30秒。
84.需要说明的是,上述第一策略、第二策略、第三策略以及s413步骤中的默认路由更新策略是根据不同业务需求设置的路由更新策略,其中,第一策略的优先级高于第二策略,第二策略的优先级高于第三策略,第三策略的优先级高于第四策略,第四策略可以理解为默认策略,可以用于防止路由震荡。
85.本公开实施例中,图3中s303步骤可以进一步包括如下的s414步骤:s414、响应于目标抑制时间的确定时刻,在经过目标抑制时间后,向目标对等体发送路由更新消息,以进行路由更新。
86.示例性地,若在10点10分确定目标抑制时间为0,由于目标抑制时间为0,则在10点10分这一时刻立即向目标对等体发送路由更新消息。若在10点10分确定目标抑制时间不为0,比如目标抑制时间为30秒,则在10点10分时将目标路由前缀信息和目标邻居地址信息缓存至队列中,在10点10分40秒时将队列中已存储的路由更新消息发送给目标对等体,以进行路由更新。
87.本公开实施例提供的路由更新方法,通过根据目标节点路由前缀信息和目标邻居节点地址信息查询路由更新策略,确定相应的路由更新策略,其中,路由更新策略中包含了各个节点的路由前缀信息、邻居节点地址信息以及对应于路由前缀信息和/或邻居节点地址信息的多个抑制时间的对应关系,路由更新策略可根据不同业务需求进行灵活配置,且可以设置不同的优先级,能够自动判断优先级,减少优先级对比的操作,确定最优的路由更新策略。因此,能够很好地避免形成路由环路,并可以很好地避免路由震荡,降低了不同业务模型之间的干扰,提升了网络的可靠性,保障了敏感业务正常运行,可覆盖当前业务的所有需求。
88.在上述实施例的基础上,示例性地,根据本公开的实施方式的用于实现上述方法的程序产品可以称为bgp服务程序。基于图1的bgp网络拓扑图,图5为本公开另一实施例提供的bgp网络拓扑图,如图5所示,运行有bgp服务程序的路由反射服务器替换了rr。基于本公开提供的技术方案,首先分别配置服务器s1和s2对应路由更新策略,其中,路由前缀信息分别为s1和s2的路由前缀信息,邻居节点地址信息均为所有核心层设备的管理地址,抑制时间均为0。将s1和s2的路由前缀信息分别作为键存入数据库中(比如redis)。当服务器s1出现宕机时,br1和br2收到bgp路由撤销消息,并发送给bgp服务程序,bgp路由撤销消息包含br1和br2的邻居节点地址信息、服务器s1的路由前缀信息等;bgp服务程序通过路由前缀信息从数据库中搜索配置的路由更新策略,获取了配置的邻居节点地址信息和抑制时间;bgp服务程序对比配置的邻居节点地址信息与br1或br2的邻居节点地址信息是否一致,若一致,则使用配置的抑制时间进行路由更新,此处抑制时间比如为0,表示立即更新;bgp服务程序将收到的bgp路由撤销消息同步给核心层所有设备,到服务器s1的转发路径切换至服务器s2;当cr1与br1之间的线路出现频繁中断时,bgp服务程序收到cr1与br1之间的路由更新消息,包含了cr1与br1之间接口的路由前缀信息,由于在数据库中无法找到配置的路由更新策略,则按默认比如30秒抑制时间进行更新,防止路由震荡。
89.综上,本公开提供的技术方案,至少具有如下优势:(1)灵活性。相较于目前的rr提供的按节点邻居地址区分的功能,基于节点路由前缀信息区分更具有灵活性,可以为同一个邻居不同的业务配置特有的路由更新方法。比如一个邻居节点地址信息3.3.3.3的设备中网段10.0.0.0/16用作线路互联地址(即管理地址),网段172.0.0.0/16用作业务地址。配置对应的路由更新策略为:{"prefix":"10.0.0.0/16","neighbor":"3.3.3.3","interval":30}和{"prefix":"172.0.0.0/16","neighbor":"3.3.3.3","interval":0},即可实现对同一邻居节点的不同业务配置特有的路由更新策略。
90.(2)稳定性。常规的网络架构中rr是一台独立的路由器设备,如果该设备出现单点故障,路由反射服务也会失效,导致网络稳定性受损。本公开将传统网络架构中的rr与物理设备解耦,提供虚拟化集群负载路由反射服务,集群中的每台设备互为备份,消除单点故障,保障服务持续稳定运行。
91.(3)一致性。常规的网络架构中rr是一台独立的路由器设备,信息共享需要与其余设备进行消息同步,同步过程中由于消息传递的速度不同导致路由信息不一致。本公开提供虚拟化集群使用统一的存储资源,消除了rr服务之间的消息同步过程,路由信息由集群统一存储,防止可能存在的由于分布式计算引起的路由信息不一致的问题。
92.(4)低成本。提供路由反射服务的路由设备成本较高,而采用本公开提供的软件程序方式替换了提供路由反射服务的路由设备,仅需服务器即可,因此,能够降低硬件配置要求,并降低成本。
93.示例性装置在介绍了本公开示例性实施方式的介质之后,接下来,参考图6对本公开示例性实施方式的路由更新装置进行说明。本公开示例性实施方式的装置,可以实现前述路由更新方法实施例中的各个过程,并达到相同的功能和效果。
94.图6为本公开一实施例提供的路由更新装置的结构示意图,如图6所示,本公开实施例的路由更新装置600包括:接收模块601、确定模块602和处理模块603。其中:接收模块601,用于接收路由更新消息,路由更新消息中携带目标节点路由前缀信息和目标邻居节点地址信息,目标节点路由前缀信息用于标识第一网络设备的业务服务,目标邻居节点地址信息用于标识第二网络设备的网络地址,第二网络设备与接收路由更新消息的网络设备相邻,第一网络设备和第二网络设备均运行bgp。
95.确定模块602,用于根据目标节点路由前缀信息和目标邻居节点地址信息,在预设的多个抑制时间中确定目标抑制时间。
96.处理模块603,用于基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新,其中,目标对等体为与接收路由更新消息的网络设备在同一自治域下的网络设备。
97.在一些实施例中,确定模块602可以具体用于:根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略,路由更新策略包含各个节点的路由前缀信息、邻居节点地址信息以及对应于路由前缀信息和/或邻居节点地址信息的多个抑制时间的对应关系;响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,确定与目标节点路由前缀信息和目标邻居节点地址信息同时匹配的第一策略;根据第一策略,确
定第一抑制时间;确定目标抑制时间为第一抑制时间。
98.可选的,确定模块602还可以用于:响应于路由更新策略中包含目标节点路由前缀信息和目标邻居节点地址信息,确定路由更新策略中仅与目标节点路由前缀信息匹配的第二策略以及仅与目标邻居节点地址信息匹配的第三策略;根据第二策略,确定第二抑制时间;确定目标抑制时间为第二抑制时间。
99.可选的,确定模块602还可以用于:响应于路由更新策略中包含目标邻居节点地址信息,确定路由更新策略中仅与目标邻居节点地址信息匹配的第三策略;根据第三策略,确定第三抑制时间;确定目标抑制时间为第三抑制时间。
100.可选,确定模块602还可以用于:响应于路由更新策略中既不包含目标路由前缀信息也不包含目标邻居地址信息,确定目标抑制时间为第四抑制时间。
101.在一种可能的实施方式中,处理模块603可以具体用于:响应于目标抑制时间的确定时刻,在经过目标抑制时间后,向目标对等体发送路由更新消息。
102.在一些实施例中,确定模块602在用于根据目标节点路由前缀信息和目标邻居节点地址信息,查询路由更新策略之前,还可以用于:根据业务服务对故障的敏感程度,确定路由更新策略。
103.可选的,处理模块603在用于基于目标抑制时间,向目标对等体发送路由更新消息,以进行路由更新之前,还可以用于:响应于目标抑制时间不为零,缓存目标路由前缀信息和目标邻居地址信息。
104.可选的,接收模块601还可以用于:响应于路由添加操作和/或路由撤销操作,接收路由更新消息。
105.本公开实施例的装置,可以用于执行上述任一方法实施例中路由更新方法的方案,其实现原理和技术效果类似,此处不再赘述。
106.示例性介质在介绍了本公开示例性实施方式的方法之后,接下来,参考图7对本公开示例性实施方式的存储介质进行说明。
107.图7为本公开一实施例提供的存储介质示意图。参考图7所示,存储介质700中存储着根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
108.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
109.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
110.可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的
程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备。
111.示例性计算设备在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图8对本公开示例性实施方式的计算设备进行说明。
112.图8显示的计算设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
113.图8为本公开一实施例提供的计算设备的结构示意图,如图8所示,计算设备800以通用计算设备的形式表现。计算设备800的组件可以包括但不限于:上述至少一个处理单元801、上述至少一个存储单元802,连接不同系统组件(包括处理单元801和存储单元802)的总线803。
114.总线803包括数据总线、控制总线和地址总线。
115.存储单元802可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)8021和/或高速缓存存储器8022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(rom)8023。
116.存储单元802还可以包括具有一组(至少一个)程序模块8024的程序/实用工具8025,这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
117.计算设备800也可以与一个或多个外部设备804(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口805进行。并且,计算设备800还可以通过网络适配器806与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图8所示,网络适配器806通过总线803与计算设备800的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
118.应当注意,尽管在上文详细描述中提及了路由更新装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
119.此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
120.虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和
范围内所包括的各种修改和等同布置。
转载请注明原文地址:https://win.8miu.com/read-950131.html

最新回复(0)