路由表的实时动态分解存储方法和路由数据转发方法

文档序号:9508505阅读:936来源:国知局
路由表的实时动态分解存储方法和路由数据转发方法
【技术领域】
[0001] 本发明涉及通信领域,具体涉及一种路由表的实时动态分解存储方法和路由数据 转发方法。
【背景技术】
[0002] Internet技术的发展给路由器的处理能力带来了很大的挑战,越来越多的研究也 就致力于解决路由表存储与快速查找问题。但是,目前所提出的路由表分解存储方法都只 是基于一定的算法,实现各线卡的路由负载均衡,并没有从路由表的状态以及路由项的动 态变化方面进行考虑。随着路由表不断的更新,这些静态分解存储方法就不能很好的解决 线卡负载均衡的问题,甚至可能影响整个路由表的处理速度。

【发明内容】

[0003] 本发明旨在至少解决上述技术问题之一。
[0004] 为此,本发明的第一个目的在于提出一种路由表的实时动态分解存储方法。
[0005] 本发明的第二个目的在于提出一种路由数据转发方法。
[0006] 为了实现上述目的,本发明第一方面的实施例公开了一种路由表的实时动态分解 存储方法,包括以下步骤:S1 :获取新到达路由的单元前缀,其中,所述单元前缀为新到达 路由的路由地址前缀前八位对应的数值;S2 :将所述单元前缀与各线卡已经存储的单元前 缀进行比较,如果某个线卡中已经存储了与所述新到达路由项相同的单元前缀,则将所述 新到达路由存储在所述单元前缀对应的线卡中;如果各线卡均不存在与所述路由项相同的 单元前缀,则进入步骤S3 ;S3 :获取所有线卡路由存储容量;以及S4 :将所述新到达路由存 储在路由存储容量最少的线卡中。
[0007] 根据本发明实施例的路由表的实时动态分解存储方法,根据不同的单元前缀,将 到达的路由项动态存储到各线卡,实现各线卡的负载均衡;同时,该设计对于任意时刻到达 的路由项都能够实现动态分解存储,随机能力强,更加适应路由表从未知到已知的变化过 程,实时性强。
[0008] 另外,根据本发明上述实施例的路由表的实时动态分解存储方法,还可以具有如 下附加的技术特征:
[0009] 进一步地,所述步骤S4进一步包括:S41 :如果所述路由存储容量最少的线卡为多 个,则获取所述多个线卡中已经存储的单元前缀的数量;S42 :分别统计所述多个线卡上存 储的不同单元前缀数量,其中,所述不同单元前缀数量为所述多个线卡中所有已经存储的 单元前缀数量;以及S43 :将所述新到达路由存储在所述不同单元前缀数量最少的线卡中。
[0010] 进一步地,所述步骤S43进一步包括:S431 :如果所述不同单元前缀数量最少的线 卡为多个,则获取所述多个线卡的序列号;S432 :将所述新到达路由按照所述多个线卡的 序列号顺序存储。
[0011] 为了实现上述目的,本发明第二方面的实施例公开了一种路由数据转发方法,包 括以下步骤:定义接收新到达路由的线卡为接收线卡;获取所述新到达路由的宿主线卡, 其中,所述宿主线卡为与所述新到达路由的目的地址匹配的线卡,所述宿主线卡是通过上 述路由表的实时动态分解存储方法确定的;判断所述接收线卡与所述宿主线卡是否为同一 线卡,如果是,则所述接收线卡对所述新到达路由进行最长前缀匹配后转发所述新到达路 由;如果否,则所述接收线卡将所述新到达路由转发给所述宿主线卡,所述宿主线卡进行最 长前缀匹配后转发所述新到达路由。
[0012] 根据本发明实施例的路由数据转发方法,根据不同的单元前缀,将到达的路由项 动态存储到各线卡,实现各线卡的负载均衡;同时,该设计对于任意时刻到达的路由项都能 够实现动态分解存储,随机能力强,更加适应路由表从未知到已知的变化过程,实时性强。
[0013] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0014] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中:
[0015] 图1是本发明一个实施例的路由表的实时动态分解存储方法的流程图;
[0016] 图2是本发明一个实施例的路由数据转发方法的流程图。
【具体实施方式】
[0017] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0018] 在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"上"、"下"、"前"、 "后"、"左"、"右"、"竖直"、"水平"、"顶"、"底"、"内"、"外"等指示的方位或位置关系为基于 附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所 指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发 明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要 性。
[0019] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相 连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可 以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是 两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本 发明中的具体含义。
[0020] 参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述 和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施 例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的 实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0021] 以下结合附图描述根据本发明实施例的路由表的实时动态分解存储方法。
[0022] 请参考图1,路由表的实时动态分解存储方法包括以下步骤:
[0023] SI :获取新到达路由的单元前缀,其中,单元前缀为新到达路由的路由地址前缀前 八位对应的数值。
[0024] 在本发明的一个示例中,新到达路由的地址为192. 154. 0. 0/14,其中"14"为路由 前缀长度,单元前缀可以为路由地址前缀中的前η位。在本发明的一个实施例中,单元前缀 为路由项地址前缀的前8位,即为十进制路由地址的第一字节数值,即单元前缀为"192"。
[0025] S2 :将单元前缀与路由表中各线卡已经存储的单元前缀的数值进行比较,如果某 个线卡中已经存储了与所述新到达路由项相同的单元前缀,则将所述新到达路由存储在所 述单元前缀对应的线卡中;如果各线卡均不存在与所述路由项相同的单元前缀,则进入步 骤S3。
[0026] 在本发明的一个示例中,假设路由器具有四个线卡,分别为线卡LCO, LC1,LC2, LC3。如果四个线卡中的某个线卡中存储了值为'192'的单元前缀,则新到达路由存储在该 单元前缀对应的线卡中;如果四个线卡中均没有存储值为'192'的单元前缀,则进入步骤 S3〇
[0027] S3 :获取所有线卡的路由存储容量,即获取所有线卡已经存储的路由数量。
[0028] S4 :将新到达路由存储在路由存储容量最少的线卡中。
[0029] 在本发明的一个示例中,线卡LC0的路由存储数量为301、线卡LC1的路由存储数 量为299,线卡LC2的路由存储数量为300,线卡LC3的路由存储数量为302,则将新到达路 由存储在线卡LC1中,以达到均衡存储的目的。
[0030] 在本发明的一个实施例中,步骤S4进一步包括:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1