路由信息处理方法及系统

文档序号:1908179 发布日期:2021-11-30 浏览:11次 >En<

阅读说明:本技术 路由信息处理方法及系统 (Routing information processing method and system ) 是由 卢子恒 于 2021-09-07 设计创作,主要内容包括:本发明公开了一种路由信息处理方法及系统,其中,所述方法包括:在检测到虚拟路由组中的设备发生主从切换后,针对从主设备切换为从设备的目标设备设置定时信息;所述定时信息在指定时长之后自动失效;当检测到所述虚拟路由组中所述目标设备再次切换为主设备时,接收所述目标设备上报的路由信息,并判断本地是否存在所述目标设备对应的有效定时信息;若判定存在所述目标设备对应的有效定时信息,则忽略所述目标设备此次上报的所述路由信息。本发明提供的技术方案,能够提高整体系统的稳定性。(The invention discloses a method and a system for processing routing information, wherein the method comprises the following steps: after detecting that the equipment in the virtual routing group is switched from master to slave, setting timing information for target equipment switched from the master equipment to the slave equipment; the timing information is automatically disabled after a specified duration; when the target device in the virtual routing group is detected to be switched to the master device again, receiving routing information reported by the target device, and judging whether effective timing information corresponding to the target device exists locally; and if the effective timing information corresponding to the target equipment exists, ignoring the routing information reported by the target equipment at this time. The technical scheme provided by the invention can improve the stability of the whole system.)

路由信息处理方法及系统

技术领域

本发明涉及互联网技术领域,具体涉及一种路由信息处理方法及系统。

背景技术

当前的overlay(叠加网络)场景可以如图1所示。在图1所示的系统中,可以包括边界交换机、虚拟路由组以及控制器。其中,虚拟路由组中通常可以包括主设备和从设备。主设备与从设备之间可以通过VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)进行通信。在实际应用中,主设备和从设备都可以是虚拟的BGP(Border GatewayProtocol,边界网关协议)组件。

在该场景下,边界交换机和虚拟路由组中的主设备可以建立邻居关系。边界交换机从业务虚拟机处学习到路由信息后,可以将该路由信息传递给虚拟路由组中的主设备。后续,主设备可以将获得的路由信息上报给控制器,以使得控制器进行路由更新。最终,控制器便可以按照更新的路由信息进行流表的转发。

在实际应用中,虚拟路由组中的主设备和从设备可能会频繁地进行主从切换,在发生主从切换后,控制器会根据当前的主设备上报的路由信息进行路由更新。但是,在主从切换的过程中,主设备和从设备内存储的路由信息很可能是不同的,这就导致控制器更新后的路由信息,与当前正常工作的业务虚拟机的路由信息不一致,从而导致业务无法正常进行。因此,现有的路由信息处理方式,会导致系统的稳定性较差。

发明内容

有鉴于此,本发明实施方式提供了一种路由信息处理方法及系统,能够提高整体系统的稳定性。

本发明一方面提供了一种路由信息处理方法,所述方法应用于控制器中,所述方法包括:在检测到虚拟路由组中的设备发生主从切换后,针对从主设备切换为从设备的目标设备设置定时信息;所述定时信息在指定时长之后自动失效;当检测到所述虚拟路由组中所述目标设备再次切换为主设备时,接收所述目标设备上报的路由信息,并判断本地是否存在所述目标设备对应的有效定时信息;若判定存在所述目标设备对应的有效定时信息,则忽略所述目标设备此次上报的所述路由信息。

在一个实施方式中,所述方法还包括:若判定不存在所述目标设备对应的有效定时信息,则根据所述目标设备上报的所述路由信息进行路由更新。

在一个实施方式中,在虚拟路由组中的设备发生主从切换后,所述目标设备与边界交换机在连接超时时长内保持连接;所述指定时长与所述连接超时时长相同。

在一个实施方式中,在虚拟路由组中的设备发生主从切换后,所述虚拟路由组中切换后的主设备内存储第一路由信息,所述目标设备内存储第二路由信息;当所述虚拟路由组中所述目标设备再次切换为主设备时,所述方法还包括:接收所述目标设备上报的所述第二路由信息,并在确认本地存在所述目标设备对应的有效定时信息后,忽略所述目标设备上报的所述第二路由信息。

在一个实施方式中,在所述控制器中记录所述虚拟路由组中各个设备的设备信息,所述设备信息中至少包括各个所述设备当前的身份标识和定时信息,所述身份标识用于表征主设备或者从设备。

在一个实施方式中,所述定时信息为设置的定时器,所述定时器的倒计时长为连接超时时长。

本发明另一方面还提供了一种路由信息处理系统,所述系统包括:定时信息设置单元,用于在检测到虚拟路由组中的设备发生主从切换后,针对从主设备切换为从设备的目标设备设置定时信息;所述定时信息在指定时长之后自动失效;判断单元,用于当检测到所述虚拟路由组中所述目标设备再次切换为主设备时,接收所述目标设备上报的路由信息,并判断本地是否存在所述目标设备对应的有效定时信息;处理单元,用于若判定存在所述目标设备对应的有效定时信息,则忽略所述目标设备此次上报的所述路由信息。

在一个实施方式中,所述处理单元还用于若判定不存在所述目标设备对应的有效定时信息,则根据所述目标设备上报的所述路由信息进行路由更新。

在一个实施方式中,在虚拟路由组中的设备发生主从切换后,所述目标设备与边界交换机在连接超时时长内保持连接;所述指定时长与所述连接超时时长相同。

在一个实施方式中,在虚拟路由组中的设备发生主从切换后,所述虚拟路由组中切换后的主设备内存储第一路由信息,所述目标设备内存储第二路由信息;所述处理单元,还用于当所述虚拟路由组中所述目标设备再次切换为主设备时,接收所述目标设备上报的所述第二路由信息,并在确认本地存在所述目标设备对应的有效定时信息后,忽略所述目标设备上报的所述第二路由信息。

本发明另一方面还提供了一种控制器,所述控制器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的路由信息处理方法。

本发明另一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的路由信息处理方法。

本申请提供的技术方案,当虚拟路由组中的设备发生主从切换后,控制器可以为切换后的从设备设置定时信息,该定时信息会随着时间的流逝而自动失效。那么在频繁地发生主从切换时,虚拟路由组中设备的身份也在不断切换。当再次发生主从切换时,控制器会接收到虚拟路由组中的目标设备上报的路由信息,此时,控制器会先判断本地是否存在该目标设备对应的有效定时信息。如果存在该目标设备对应的有效定时信息,则表明该目标设备在不久之前刚经历过主从切换的过程,此时该目标设备中存储的路由信息可能与正常提供服务的业务虚拟机是不一致的。在这种情况下,控制器可以忽略该目标设备上报的路由信息,而是按照之前的路由信息进行流表转发,从而提供正常的服务,提高了整体系统的稳定性。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1示出了现有技术中叠加网络的示意图;

图2示出了本发明一个实施方式中路由信息处理方法步骤图;

图3示出了本发明一个实施方式中路由信息处理流程图;

图4示出了本发明一个实施方式中路由信息处理系统的功能模块示意图;

图5示出了本发明一个实施方式中控制器的结构示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

在图1所示的系统中,虚拟路由组中可以包括vBGP1和vBGP2两个设备,其中的一个是主设备,另一个是从设备。主设备与边界交换机之间建立的连接,通常会存在一个默认的连接超时时长。该连接超时时长的作用是,当虚拟路由组中的设备发生主从切换后,边界交换机并不会立刻与之前的主设备(主从切换后,该设备就成了从设备)断开连接关系,而是会在该连接超时时长内继续保持连接关系。当超出该连接超时时长后,边界交换机才会与该之前的主设备断开连接。

举例来说,当前时刻虚拟路由组中的主设备是vBGP1(v代表virtual,表示是虚拟的BGP组件),从设备是vBGP2。vBGP1与边界交换机之间建立了BGP的邻居关系,两者保持连接。此时,若虚拟路由组中发生了主从切换,vBGP1变成了从设备,vBGP2变成了主设备。此时,vBGP2会自动与边界交换机建立BGP邻居关系,并建立对应的连接。而vBGP1此时也不会立刻与边界交换机断开连接,而是会在180秒(默认的连接超时时长)内继续保持连接,当超出180秒之后,vBGP1就会与边界交换机断开连接。

在图1所示的系统中,虚拟路由组中的主设备会向控制器上报当前的路由信息。其中,主设备上报路由信息的时机可以有多种。例如,在发生主从切换之后,当前的主设备可以向控制器上报路由信息。又例如,主设备与边界交换机重新建立连接后,可以向控制器上报路由信息。又例如,业务虚拟机发生更改,导致主设备从边界交换机处接收到的路由信息也会发生更改,在这种情况下主设备也会向控制器上报路由信息。当然,随着技术的改变和场景的不同,主设备向控制器上报路由信息的时机还可以包含更多情况,本申请对此并不做限定,此处就不再例举。

为了保证路由信息的准确性,当虚拟路由组中的设备发生主从切换后,从设备通常会将自身的路由信息添加失效标签,该失效标签例如可以是“stale”标签。添加了失效标签的路由信息,即使被控制器获取,控制器也不会按照该路由信息进行路由更新。但是,在现有的BGP协议中,添加失效标签的过程,通常是在超出连接超时时长,从设备与边界交换机已经断开连接的情况下执行的。举例来说,当vBGP2成为主设备,vBGP1降为从设备后,vBGP1并不会立刻将自身的路由信息打上失效标签,而是在度过180秒,与边界交换机断开连接之后,才会给自身的路由信息打上失效标签。

然而,如果在未超出连接超时时长的情况下,虚拟路由组内再次发生了主从切换(也就是vBGP1再次成为了主设备),就可能会导致路由信息更新出错。

举例来说,当前时刻,提供服务的是业务虚拟机A,主设备是vBGP1,从设备是vBGP2,那么vBGP1从边界交换机处获得的就是业务虚拟机A的路由信息。此时,如果发生了主从切换,vBGP2升为了主设备,同时,如果提供服务的也切换为业务虚拟机B,那么vBGP2从边界交换机处获得的就是业务虚拟机B的路由信息,并且控制器根据vBGP2上报的路由信息,也会进行路由信息,从而按照业务虚拟机B的路由信息进行流表转发。

在发生第一次主从切换后的180秒内,vBGP1实际上依然与边界交换机保持连接,所以vBGP1并不会对自身的路由信息(业务虚拟机A的路由信息)添加失效标签。如果在这180秒内,发生了第二次主从切换,那么vBGP1又会成为主设备,而由于vBGP1自身的路由信息并没有被打上失效标签,所以控制器会根据vBGP1上报的路由信息,将路由信息更新为业务虚拟机A的路由信息。但是,此时提供服务的实际上是业务虚拟机B,这就会导致服务中断。这种服务中断会一直持续到vBGP1与边界交换机断开连接,并重新建立连接之后。也就是说,只有在180秒的时长完结,vBGP1与边界交换机断开连接后,vBGP1会与边界交换机重新建立连接,然后从边界交换机处获取业务虚拟机B的路由信息。接着,vBGP1会通知控制器进行路由更新,控制器此时会将路由信息更新为业务虚拟机B的路由信息,这样才能重新提供正常的服务。

为了解决上述的问题,本申请一个实施方式提供一种路由信息处理方法,该方法的执行主体可以是上述的控制器,该方法可以包括如图2所示的多个步骤。

S1:在检测到虚拟路由组中的设备发生主从切换后,针对从主设备切换为从设备的目标设备设置定时信息;所述定时信息在指定时长之后自动失效。

请参阅图2和图3,在本实施方式中,可以对控制器进行改进,控制器可以对虚拟路由组中设备的信息进行维护。具体地,当虚拟路由组中的设备发生主从切换后,控制器可以更新虚拟路由组中主设备和从设备的信息。例如,控制器可以为虚拟路由组中的设备添加身份标识,该身份标识可以表明设备当前是主设备还是从设备。例如,该身份标识可以是“主(master)”或者“从(slave)”。

此外,如果在连接超时时长内,虚拟路由组中发生了多次主从切换,为了避免对路由信息的错误更新,控制器在虚拟路由组中的设备发生主从切换后,可以为虚拟路由组中切换后的从设备(目标设备)设置定时信息。该定时信息可以是设置的定时器,该定时器可以对应指定时长,在指定时长之后,该定时信息就可以自动失效。例如,定时信息可以是该指定时长对应的倒计时,当倒计时为0时,便表征定时信息失效。

在一个具体的应用示例中,假设指定时长为180秒,虚拟路由组中的设备发生第一次主从切换后,控制器内维护的信息可以如表1所示:

表1第一次主从切换后主从设备的设备信息

设备标识 身份标识 定时信息
vBGP1 Slave 180
vBGP2 Master 0

在发生第一次主从切换后的60秒,如果发生了第二次主从切换,那么控制器内维护的信息可以如表2所示:

表2第二次主从切换后主从设备的设备信息

设备标识 身份标识 定时信息
vBGP1 Master 120
vBGP2 Slave 180

需要说明的是,在一个虚拟路由组中,可能会同时存在多个从设备。那么在发生主从切换时,通过选举机制,其中的一个从设备会升级为主设备,而原先的主设备会降级为从设备。在这种情况下,通常只需要为降级得到的从设备设置定时信息即可,对于身份没有发生变化的从设备而言,可以不设置定时信息。

S3:当检测到所述虚拟路由组中所述目标设备再次切换为主设备时,接收所述目标设备上报的路由信息,并判断本地是否存在所述目标设备对应的有效定时信息;若判定存在所述目标设备对应的有效定时信息,则忽略所述目标设备此次上报的所述路由信息。

在本实施方式中,上报路由信息的目标设备可以是虚拟路由组中当前的主设备。虚拟路由组中的主设备在一些情况下会向控制器上报路由信息。例如,在发生主从切换之后,切换后的主设备可以第一时间向控制器上报路由信息。又例如,主设备与边界交换机重新建立连接后,可以向控制器上报路由信息。又例如,业务虚拟机发生更改,导致主设备从边界交换机处接收到的路由信息也会发生更改,在这种情况下主设备也会向控制器上报路由信息。

在一个实施方式中,当虚拟路由组中的设备再次发生主从切换时,当前身份为主设备的目标设备会主动向控制器上报自身当前的路由信息。控制器在接收到目标设备上报的路由信息后,并不会直接根据该路由信息进行路由更新,而是会先查询记录的设备信息,从而判断目标设备当前是否具备有效定时信息。

举例来说,虚拟路由组中在连接超时时长内发生了第二次主从切换后,vBGP1重新升级为主设备,此时,vBGP1会主动向控制器上报自身的路由信息。但实际上,此时vBGP1中存储的是业务虚拟机A的路由信息(实际提供服务的是业务虚拟机B),该路由信息可以作为第一路由信息。由于vBGP1与边界交换机还没有超时断开连接,因此vBGP1上报的路由信息,是没有添加失效标签的业务虚拟机A的路由信息。此时,控制器会查询记录的设备信息,发现vBGP1的定时信息还未失效(还剩120秒的有效时长),此时,控制器可以直接忽略vBGP1上报的路由信息,并依然按照原先的路由信息(业务虚拟机B的路由信息,该路由信息可以作为第二路由信息)进行流表转发。在这种情况下,就不会导致服务中断。

在本实施方式中,当vBGP1与边界交换机之间超出连接超时时长后,vBGP1会自动与边界交换机断开连接。然后,vBGP1会重新与边界交换机建立连接关系。此时,边界交换机会将业务虚拟机B的路由信息(第二路由信息)发送给vBGP1,这样,vBGP1就可以对自身的路由信息进行更新。在更新路由信息之后,vBGP1会向控制器上报更新后的业务虚拟机B的路由信息。

控制器接收到vBGP1再次上报的路由信息后,依然会查询记录的设备信息,此时发现vBGP1的定时信息已经倒计为0,表示该定时信息已经失效。在这种情况下,控制器就可以根据该路由信息进行路由更新(实际上更新前后,控制器中的路由信息始终是业务虚拟机B的路由信息)。更新后的路由信息,与当前提供服务的业务虚拟机B保持一致,从而不会造成服务中断,提高了整体系统的稳定性。

通过以上描述可见,定时信息对应的指定时长需要与连接超时时长相同,才能保证方案能够正常执行。原因在于,如果定时信息的指定时长小于连接超时时长,那么可能会导致vBGP1与边界交换机未断开连接的情况下,定时信息已经失效,此时控制器依然会错误地根据未打上失效标签的路由信息进行路由更新。

而如果定时信息的指定时长大于连接超时时长,那么会导致vBGP1与边界交换机已经重新建立连接,并且更新了正确的路由信息后,控制器依然会忽略vBGP1上报的路由信息。如果业务虚拟机一直没有发生变化,这样可能不会造成服务中断的情况,但如果业务虚拟机也发生了变化,就会导致控制器在忽略路由信息后,一直使用的是变化之前的业务虚拟机的路由信息,这样通常会导致服务中断,并且这种中断可能会持续相当长的时间(直至定时信息失效,并且vBGP1再次上报路由信息)。

需要说明的是,在实际应用中,根据应用场景的不同,路由信息的类型也可以多种多样。例如,在EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)中,可以包含二类路由、三类路由、五类路由等多种类型的路由信息。其中,影响业务虚拟机的业务流量及控制器的流表下发的是二类路由,因此在该场景下,可以对其中的二类路由进行上述的处理,对于三类路由和五类路由可以不做改进。

此外,虚拟路由组中在发生主从切换后,切换后的主设备会主动向控制器上报自身的路由信息,此时上报的路由信息会受到定时信息的约束,控制器并不一定会根据上报的路由信息进行路由更新(具体要判断是否具备对应的有效定时信息)。而在主设备提供服务的后续过程中,如果发生了业务虚拟机的改变,导致主设备从边界交换机处学习到新的路由信息,此时,主设备会主动上报新学习到的路由信息。针对该新学习到的路由信息,并不会受到之前定时信息的约束,控制器在接收到新学习到的路由信息时,会直接进行路由更新。也就是说,本申请上述通过定时信息来判断是否进行路由更新的情况,适用于虚拟路由组中发生主从切换,切换后的主设备主动上报自身的路由信息的时间节点。在主从切换之后,主设备正常提供服务的过程中,如果学习到新的路由信息,该新的路由信息会正常被更新至控制器的转发流表中。

通过以上实施方式可见,当虚拟路由组中的设备发生主从切换后,控制器可以为切换后的从设备设置定时信息,该定时信息会随着时间的流逝而自动失效。那么在频繁地发生主从切换时,虚拟路由组中设备的身份也在不断切换。当再次发生主从切换时,控制器会接收到虚拟路由组中的目标设备上报的路由信息,此时,控制器会先判断本地是否存在该目标设备对应的有效定时信息。如果存在该目标设备对应的有效定时信息,则表明该目标设备在不久之前刚经历过主从切换的过程,此时该目标设备中存储的路由信息可能与正常提供服务的业务虚拟机是不一致的。在这种情况下,控制器可以忽略该目标设备上报的路由信息,而是按照之前的路由信息进行流表转发,从而提供正常的服务,提高了整体系统的稳定性。

也就是说,通过在控制器中为虚拟路由组中的各个设备记录设备信息,并在发生主从切换后,为从设备设置定时信息,可以避免路由信息更新出错,进而提升整体系统的稳定性。

请参阅图4,本申请还提供一种路由信息处理系统,所述系统包括:

定时信息设置单元,用于在检测到虚拟路由组中的设备发生主从切换后,针对从主设备切换为从设备的目标设备设置定时信息;所述定时信息在指定时长之后自动失效;

判断单元,用于当检测到所述虚拟路由组中所述目标设备再次切换为主设备时,接收所述目标设备上报的路由信息,并判断本地是否存在所述目标设备对应的有效定时信息;

处理单元,用于若判定存在所述目标设备对应的有效定时信息,则忽略所述目标设备此次上报的所述路由信息。

在一个实施方式中,所述处理单元还用于若判定不存在所述目标设备对应的有效定时信息,则根据所述目标设备上报的所述路由信息进行路由更新。

在一个实施方式中,在虚拟路由组中的设备发生主从切换后,所述目标设备与边界交换机在连接超时时长内保持连接;所述指定时长与所述连接超时时长相同。

在一个实施方式中,在虚拟路由组中的设备发生主从切换后,所述虚拟路由组中切换后的主设备内存储第一路由信息,所述目标设备内存储第二路由信息;

所述处理单元,还用于当所述虚拟路由组中所述目标设备再次切换为主设备时,接收所述目标设备上报的所述第二路由信息,并在确认本地存在所述目标设备对应的有效定时信息后,忽略所述目标设备上报的所述第二路由信息。

请参阅图5,本申请一个实施方式还提供一种控制器,所述控制器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的路由信息处理方法。

本申请一个实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的路由信息处理方法。

其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本领域技术人员可以理解,实现上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方式的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种SBFD检测方法及网络设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!