一种单机堆叠系统的路由同步方法与流程

文档序号:15594249发布日期:2018-10-02 19:19阅读:349来源:国知局

本发明涉及数据通信技术,具体涉及ip路由技术。



背景技术:

堆叠指“多虚一”虚拟化有关的特性。

传统网络中,为了增加网络的可靠性,通常在网络的核心或汇聚层配置两台设备形成双核心,这样可以起到冗余备份的作用,提高网络的可靠性。相应的,邻居设备需要分别与这两台核心设备连接。冗余的网络架构增加了网络设计和操作的复杂性,同时大量的备份链路也降低了网络资源的利用率,减少了投资回报率。为了解决这样的问题,许多厂商都提出了各自的网络设备的n:1虚拟化技术。

在另外一种场景中,也有些用户希望将成本低廉的单机设备虚拟化成一台虚拟设备,从而使单机设备之间互相冗余备份,提高网络的可靠性,简化网络的管理。这也需要通过n:1虚拟化技术来实现,称为单机堆叠。与传统的分布式设备不同,单机堆叠系统里的主设备和备设备上的端口也具有转发能力,大大提高了资源的利用率。

但是,由于单机堆叠系统上仅主设备具有学习路由的能力,为了使备设备和成员设备也能获得用于转发报文的路由表,则需要有效的实现路由同步。然而目前现有技术还未有很好的用于单机堆叠系统的路由同步技术。

另外,在此基础上,如何有效的保证主备切换期间的网络稳定,也本领域需要解决的问题。



技术实现要素:

针对现有单机堆叠系统技术中所存在的问题,需要一种新的具备学习路由能力的单机堆叠方案。

为此,本发明所要解决的问题是提供一种单机堆叠系统的路由同步方法,以克服现有技术所存在的问题。

在具体说明本方案之前,先对本方案中涉及到的一些技术名称进行说明:

rib-routeinformationbase,路由信息库(主路由表);

fib-forwardinformationbase,转发信息库(转发表);

主控-分布式路由器的主控板,路由协议处理模块运行的硬件环境;

备控-分布式路由器的备用主控板,既不运行路由协议,也不转发报文,但当主控重启后,升级为主控,并接手主控的工作;

线卡-分布式路由器的线卡,实际的路由查找、报文转发运行的硬件环境;

单机堆叠-把多台单机路由器虚拟成一台分布式路由器的技术;

主设备-单机堆叠系统里同时起到主控和线卡作用的设备;

备设备-单机堆叠系统里同时起到备控和线卡作用的设备;

成员设备-单机堆叠系统里仅起到线卡作用的设备。

据此,为了解决上述问题,本发明提供的单机堆叠系统的路由同步方法,包括:

主设备内部rib和fib的同步:

在主设备内部,若rib中当前有效路由发生变化,则把变化通知给fib,并做rib与fib的同步;

主设备fib到备设备和成员设备fib的同步:

主设备fib从rib得到更新后,通知给备设备和成员设备的fib,且主设备通过封装报文,把变化的路由打包进报文里发送给备设备和成员设备,使得备设备和成员设备通过解析报文得到变化的路由,并据此更新自身的fib表。

进一步的,在主设备fib到备设备和成员设备fib同步时,如果备设备或成员设备完成启动后,主设备上已经有了完整的fib表,则由主设备把整个fib表的所有路由批量发送给备设备或成员设备。

进一步的,当发生主备切换时,在新的主设备重新学习完路由之前,使得自身以及成员设备上用于转发的fib表不发生变化;在发生主备切换后,新的主设备上存在之前从旧的主设备上同步过来的fib表,将该fib表里的所有路由打上老化标记,之后新主设备的rib表加入学习到的路由并同步到自身的fib表,再同步到成员设备的fib表。

进一步的,成员设备在得知主备切换发生后,则将自身fib表里的所有路由打上老化标记;如果发现新学到的路由与已经存在的某条旧的路由一致,则清除旧路由上的老化标记,否则把新路由加入fib表。

进一步的,待所有路由协议学习完成后,或者定时器超时后,删除fib表中仍然带有老化标记的路由。

进一步的,主设备定期把自身fib表的摘要信息发送给备设备和成员设备,后者把收到的摘要信息与自身fib的同类摘要信息进行比较,如果一致,则校验成功,说明自身fib与主设备fib是一致的,不需要额外同步;如果不一致,说明自身fib跟主设备fib不一致,此时需要向主设备发送批量同步请求,重新进行一次同步。

本发明提供的方案可以做到主设备、备设备和成员设备的fib表的独立同步,使三者都能同时转发报文。其采用稀疏路由更新算法(只同步变化的路由),在只有少量路由发生变化时,能有效的节约cpu资源。

再者,定期路由同步校验的使用能确保单机堆叠系统里不同设备间路由的一致性;以及主备切换时的路由保持和刷新机制保证了网络的稳定性。

附图说明

以下结合附图和具体实施方式来进一步说明本发明。

图1为本发明实例中单机堆叠系统的路由同步机制的原理图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。

本方案通过主设备rib到fib以及主设备fib到备设备和成员设备fib的分别同步,再配合定期路由同步校验机制以及主备切换时的路由保持和刷新机制,构成由单机设备组成的虚拟分布式路由子系统。

基于上述原理,本方案构成由单机设备组成的虚拟分布式路由子系统的过程如下:

1.主设备内部rib和fib的同步:

本方案中主设备的路由子模块负责所有路由信息的维护,相应路由信息存放在rib中。而主设备上的fib表只保存用于转发的有效路由的必要信息,其中每条有效路由都有一个字段以位图的形式记录了该路由需要针对单机堆叠系统内哪些设备进行更新。由此,在主设备内部,若rib中当前有效路由发生变化,需要把变化通知给fib,并做rib与fib的同步。

本方案通过主设备rib到fib的同步,首先提取出了报文转发所关心的路由信息存于主设备fib中,这样在向备设备和成员设备同步时,大大减少了需要传输的信息量,加快了更新速度。

2.主设备fib到备设备和成员设备fib的同步:

主设备fib从rib得到更新后,则通知给备设备和成员设备的fib,以保证三者都能够正确地转发报文。

其中,主设备通过封装报文,把变化的路由打包进报文里发送给备设备和成员设备,后者通过解析报文得到变化的路由,并据此更新自身的fib表。如果备设备或成员设备完成启动后,主设备上已经有了完整的fib表,则需要主设备把整个fib表的所有路由批量发送给完成启动的备设备或成员设备。由此,实现三者的fib表总是同步的。

3.主备切换时的路由保持和刷新:

在本方案中,如果主设备重启,则备设备需要升级为新的主设备,并接手主设备的职责,实现主备切换。当发生主备切换时,为了保证对网络流量的影响尽可能小,则需要在新的主设备重新学习完路由之前,保持自身以及成员设备上用于转发的fib表不发生变化。

在发生主备切换后,新的主设备上存在之前从旧的主设备上同步过来的fib表,但此时新主设备的rib表是空的。为了保证转发,不清空新主设备的fib表,而是把新主设备的fib表里的所有路由打上老化标记,之后新主设备的rib表会加入学习到的路由并同步到自身的fib表,再同步到成员设备的fib表。

成员设备在得知主备切换发生后,则自身fib表里的所有路由打上老化标记。如果发现新学到的路由与已经存在的某条旧的路由一致,则清除旧路由上的老化标记,否则把新路由加入fib表。待所有路由协议学习完成后,或者定时器超时后,删除fib表中仍然带有老化标记的路由,这样就实现了主备切换时的路由保持和刷新功能。

4.定期路由同步校验:

本方案中主设备定期把自身fib表的摘要信息(比如路由总条数等)发送给备设备和成员设备,后者把收到的摘要信息与自身fib的同类摘要信息进行比较,如果一致,则校验成功,说明自身fib与主设备fib是一致的,不需要额外同步;如果不一致,说明自身fib跟主设备fib不一致,此时需要向主设备发送批量同步请求,重新进行一次同步,以实现自动纠错的功能。

由上可知,本方案在设备间进行路由更新时,采用了定期校验机制,确保了设备间fib的一致性。同时采用了稀疏路由更新算法,减少了主控上cpu的突发占用率。

再者,在主备切换时支持路由保持和刷新机制,确保了网络的稳定性。

本方案使得不同角色的设备仅仅是在控制层面的处理机制有所不同,在转发层面的机制都是一致的,既简化了系统架构,又有利于备升主时的平滑切换。

针对上述方案,以下通过一具体应用实例来说明。

参见图1,其所示为本实例中单机堆叠系统的路由同步机制的原理图。

由图可知,本实例实现单机堆叠系统的路由同步的流程如下:

1.单机堆叠系统启动后,加电初始化,通过堆叠协议协商并确定系统中各设备的角色,然后备设备和成员设备向主设备发送request进行注册。

2.主设备收到request报文以后,则将自身fib表中的所有路由同步到发送request的设备。

3.主设备通过路由协议学习路由并保存在自身的rib表中,然后把rib表中发生变化的有效路由同步到自身的fib表。

4.主设备上fib表接收完来自rib的同步后,则将变化的路由封装成报文,同步到备设备和成员设备的fib表上。

5.转发报文时,无论是在哪个角色的设备上进行,都是查询该设备自身的fib表。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1