一种路由同步方法、设备及通信系统与流程

文档序号:12822039阅读:335来源:国知局
一种路由同步方法、设备及通信系统与流程

本发明涉及通信技术领域,特别是涉及一种路由同步方法、设备及通信系统。



背景技术:

在网络高速发展的时代,用户对服务质量的要求也越来越高。在有快速重路由(frr)保护的情况下,链路故障或节点故障,业务流量收敛时间<50ms;在没有快速重路由保护的情况下,业务流量收敛时间<100ms。

快速重路由保护技术已经比较成熟,能够很好的解决链路切换过程中业务丢包的问题。在无保护的情况下,业务丢包的时间取决于路由协议收敛速率即路由收敛时间。

路由收敛时间主要包括:路由协议学习路由时间、路由协议下发路由到转发信息库(fib)路由表时间;fib路由表从主控同步到线卡时间;fib路由表写入到转发芯片时间。

在影响路由收敛速率的环节中,fib路由表从主控同步到线卡时间对于收敛速率的影响是最为突出的。

传统的设计中,fib路由表从主控同步到线卡时,路由的查找信息即路由前缀信息和路由转发信息是一起打包同步的,如图1所示。

由于转发信息比查找信息大的多,导致每个同步周期能同步的路由数受限,特别是在路由存在多条转发信息时,这种缺陷更加明显,从而影响了路由收敛速率。



技术实现要素:

本发明提供一种路由同步方法、设备及通信系统,可提高设备之间路由同步速率,以提升路由收敛速度。

本发明提供方案如下:

本发明实施例提高了一种路由同步方法,包括:

获取路由信息,所述路由信息包括路由前缀信息和路由转发信息;

按预设发送顺序,将所述路由前缀信息和路由转发信息分别同步至接收设备。

优选的,所述获取路由信息包括:

通过向接收设备进行路由学习,以获取所述路由信息。

优选的,所述获取路由信息还包括:

将获取的路由信息中路由前缀信息和路由转发信息分别进行保存;其中,利用avl树保存路由前缀信息,利用负荷分担表保存路由转发信息。

优选的,所述获取路由信息还包括:

通过构建负荷分担索引,以建立路由前缀信息与路由转发信息之间的关联关系。

优选的,将路由前缀信息同步至接收设备的过程包括:

将所述负荷分担索引与所述路由前缀信息一起同步至接收设备。

优选的,所述发送设备按预设发送顺序,将所述路由前缀信息和路由转发信息分别同步至接收设备包括:

在将路由前缀信息同步至接收设备之后,将路由转发信息同步至接收设备。

优选的,路由前缀信息和路由转发信息的发送设备与所述接收设备为边界网关协议邻居;

所述发送设备为主控设备,所述接收设备为线卡设备。

优选的,所述方法还包括:

当路由发生变化时,重新获取路由信息。

本发明实施例还提供了一种设备,包括:

获取模块,用于获取路由信息,所述路由信息包括路由前缀信息和路由转发信息;

同步模块,用于按预设发送顺序,将所述路由前缀信息和路由转发信息分别同步至接收设备。

优选的,所述获取模块包括:

获取单元,用于通过向接收设备进行路由学习,以获取所述路由信息。

优选的,所述获取模块还包括:

保存单元,用于将获取的路由信息中路由前缀信息和路由转发信息分别进行保存;其中,利用avl树保存路由前缀信息,利用负荷分担表保存路由转发信息。

优选的,所述获取模块还包括:

构建单元,用于通过构建负荷分担索引,以建立路由前缀信息与路由转发信息之间的关联关系;

所述同步模块将所述负荷分担索引与所述路由前缀信息一起同步至接收设备。

本发明实施例还提供了一种设备,包括:

通告模块,用于向发送设备通告路由信息,所述路由信息包括路由前缀信息和路由转发信息。

接收模块,用于分别接收发送设备按照一预设发送顺序发送的路由前缀信息和路由转发信息。

优选的,所述设备基于负荷分担表,获知分别接收的路由前缀信息和路由转发信息之间的关联关系;

所述负荷分担表为所述接收模块在接收所述路由前缀信息时,同步接收的。

本发明实施例还提供了一种通信系统,该通信系统具体可以包括上述本发明实施例所提供的两种设备中的至少一种。

从以上所述可以看出,本发明提供的路由同步方法、设备及通信系统,通过获取路由信息,所述路由信息包括路由前缀信息和路由转发信息;按预设发送顺序,将所述路由前缀信息和路由转发信息分别同步至接收设备,以采用将路由前缀信息和路由转发信息分开同步的方式,提高单位时间内设备之间同步的路由数量,达到提升路由收敛速率的效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1表示现有路由同步方式示意图;

图2表示本发明实施例通过的路由同步方法流程示意图;

图3表示本发明实施例所适用的负荷分担组网结构示意图;

图4表示本发明实施例所适用的主控和线卡模块关系示意图;

图5表示本发明实施例所适用的同步数据结构示意图;

图6表示本发明实施例提供的一设备结构示意图;

图7表示本发明实施例提供的获取模块示意图;

图8表示本发明实施例提供的另一设备结构示意图。

具体实施方式

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

除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也相应地改变。

本发明实施例提高了一种路由同步方法,如图2所示,该方法具体可以包括:

获取路由信息,所述路由信息包括路由前缀信息和路由转发信息;

按预设发送顺序,将所述路由前缀信息和路由转发信息分别同步至接收设 备。

本发明实施例提供的路由同步方法,采用将路由前缀信息和路由转发信息分开同步的方式,使得每个缓冲器(buffer)可以容纳更多的路由,提高单位时间内设备之间同步的路由数量,有效解决了路由收敛速率慢的问题。

本发明实施例所提供的上述方法,具体可以引用于一设备中,例如主控设备,以实现路由前缀信息和路由转发信息的分别同步发送。而上述本发明实施例所涉及的接收设备,具体可为线卡设备。

下面结合附图,对本发明实施例通过的路由同步方法的一个具体实施例进行详细的说明。

该实施例中,如图3所示,主控r1和线卡r2之间存在三条链路(r1-p1-r2、r1-p2-r2、r1-p3-r2)上都建立边界网关协议(bgp)邻居。其中,如图4所示,主控r1中具体可以路由协议模块11(具有使能负荷分担能力)、主控转发信息库(fib)路由表管理模块12、主控负荷分担管理模块13等功能模块,线卡r2上具体可以包括线卡fib路由表管理模块21、线卡负荷分担管理模块22、转发芯片23等功能模块。

首先,路由协议模块11通过向上述三条链路学习到线卡r2通告的路由信息,该路由信息具体可以包括路由前缀信息和路由转发信息。

该实施例中,如图4所示,线卡r2可向主控r1通告100万个路由。

路由协议模块11通过执行使能负荷分担命令,分别获取路由信息中的路由前缀信息和路由转发信息,并将路由前缀信息下发至主控fib路由表管理模块12,将路由信息中的路由转发信息下发至主控负荷分担管理模块13。

由于本发明实施例中,路由前缀信息和路由转发信息分开同步,因此,需要构建负荷分担索引,以体现路由前缀信息和路由转发信息之间的关联关系。具体可由路由协议模块11执行构建负荷分担索引的操作。在具体同步时,该负荷分担索引可与路由前缀信息一起同步,或者单独同步。

主控fib路由表管理模块12具体可利用avl(anysqlunloader)树保存路由前缀信息,如图5所示,并在fib路由表中为每一条路由生成一个fib路由表条目,该实施例中,稳定后的fib路由表中存在100万个fib条目。

主控负荷分担管理模块13根据路由转发信息(即上述r1-p1-r2、r1-p2-r2、 r1-p3-r2链路信息),创建负荷分担表,即主控负荷分担管理模块13利用负荷分担表保存路由转发信息。由于这些路由转发信息完全相同,因此,本发明实施例中只需生成一个负荷分担表即可,从而可减小设备之间同步的路由信息,进一步提升了路由收敛速率。

主控fib路由表管理模块12通过同步通道向线卡fib路由表管理模块21同步路由。由于主控fib路由表管理模块12与线卡fib路由表管理模块21之间路由同步的数据结构(仅包括路由前缀信息)比传统的路由同步数据结构小,因此,可显著提高主控r1与线卡r2之间路由同步的速率。

在主控fib路由表管理模块12与线卡fib路由表管理模块21之间路由同步的同时或者之后,主控负荷分担管理模块13与线卡负荷分担管理模块22之间可以进行路由转发信息即负荷分担表的同步。由于两者之间仅需要同步一个负荷分担表,因此同步速率较快。

线卡r2在获取相应的路由信息后,可通过负荷分担索引,构建fib路由表与负荷分担表即路由前缀信息与路由转发信息之间的关联关系,从而获取完整的路由信息,完成路由同步过程。

如果主控r1和线卡r2之间的链路出现故障(例如链路r1-p1-r2发生故障)时,重新执行路由收敛操作,将路由转发信息中的3条链路变成2条链路,该过程与上述过程相同,在此不再赘述。

上述实施例的实现,可使路由同步的数据仅包括100万个路由前缀信息、一个负荷分担索引和一个负荷分担表信息,因此,路由同步效率得到极大提升。

由于路由转发信息结构要比路由前缀信息结构大很多,按照一条路由转发信息等于3个路由前缀信息(基准单位)计算。采用传统的方式同步1条路由需要10个基准单位;而采用本发明实施例所提供的技术方案后,只需要1个基准单位,fib路由表向线卡同步的速率提高了9倍。路由同步效率提升的效果是显著的。

本发明实施例还提供了一种设备,如图6所示,该设备具体可以包括:

获取模块61,用于获取路由信息,所述路由信息包括路由前缀信息和路由转发信息;

同步模块62,用于按预设发送顺序,将所述路由前缀信息和路由转发信 息分别同步至接收设备。

在一具体实施例中,如图7所示,获取模块61内具体可以包括下功能单元中的至少一个:

获取单元611,用于通过向接收设备进行路由学习,以获取所述路由信息;

保存单元612,用于将获取的路由信息中路由前缀信息和路由转发信息分别进行保存;其中,利用avl树保存路由前缀信息,利用负荷分担表保存路由转发信息;

构建单元613,用于通过构建负荷分担索引,以建立路由前缀信息与路由转发信息之间的关联关系。

同步模块62具体可将负荷分担索引与路由前缀信息一起同步至接收设备。

以上述图4为例,本发明实施例中,获取模块61的功能具体可由路由协议模块11、主控转发信息库路由表管理模块12、主控负荷分担管理模块13共同协助实现。同步模块62的功能具体可为主控转发信息库路由表管理模块12、主控负荷分担管理模块13分别实现。

本发明实施例还提供了一种设备,如图8所示,该设备具体可以包括:

通告模块81,用于向发送设备通过路由信息,所述路由信息包括路由前缀信息和路由转发信息。

接收模块82,用于分别接收发送设备按照一预设发送顺序发送的路由前缀信息和路由转发信息。

优选的,该设备可基于接收的负荷分担表,获知分别接收的路由前缀信息和路由转发信息之间的关联关系,该负荷分担表可为接收模块82在接收路由前缀信息时,同步接收的。

以上述图4为例,本发明实施例中,接收模块82的功能具体可由线卡转发信息库路由表管理模块21、线卡负荷分担管理模块22分别实现。

本发明实施例还提供了一种通信系统,该通信系统具体可以包括上述本发明实施例所提供的两种设备中的至少一种。

上述本发明实施例提供的路由同步方法、设备和系统。通过将路由前缀信息和路由转发信息分开同步,减小单条路由的同步结构大小,提高单位时间设备之间同步路由的数量,达到提升路由收敛速率的效果,可有效解决大容量路 由收敛或大容量路由学习时间长的问题。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。

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