基于tcam的高速低功耗ip路由表查找方法

文档序号:8002775阅读:270来源:国知局
基于tcam的高速低功耗ip路由表查找方法
【专利摘要】本发明涉及网络通信设备中的IP路由表查找方法,提供了一种基于TCAM的高速低功耗IP路由表查找技术,可用于IPv4/6路由表查找,并具有动态增量更新特点。本方法包括以下步骤:a.将IP路由表查找转化为一维坐标轴上的点定位问题;b:根据各基本段所覆盖的IP路由表项数量进行等容量聚合,形成等容量区间段并建立索引表,构建索引项与TCAM块间的对应关系;c:在查找过程中,查找索引表,激活并检索对应的TCAM块,对检索得到的IP地址进行转发即可;d:维护IP地址、等容量区间段及TCAM块间的对应关系,实现动态增量更新。本发明通过将IP路由表查找问题转化为点定位问题,建立索引表,可使查找过程仅需激活存放索引表的TCAM块及索引得到的TCAM块,从而实现高速低功耗设计。
【专利说明】基于TCAM的高速低功耗IP路由表查找方法

【技术领域】
[0001] 本发明涉及网络通信设备,特别涉及基于TCAM的高速低功耗IP路由表查找方法。

【背景技术】
[0002] Internet的迅速发展给我们的生活带来了巨大的变化,随之而来的是网络流量的 迅速增长及路由表的不断膨胀,这对于Internet上的网络处理设备来说是一个很大的挑 战,特别是核心网络设备。此外,随着光纤通信技术的不断发展,网络处理设备对于线速的 要求变得越来越高,留给设备进行单个数据包处理转发的时间越来越短,这对于Internet 上的网络处理设备来说同样是一个极大的挑战。路由器和交换机是在网络中对数据分组转 发的典型设备,路由表是其进行数据分组转发的基础。路由器和交换机在转发数据分组时, 需要根据目的IP地址及最长前缀匹配原则,查找路由表从而确定正确的下一跳出口。因 此,如何在巨大的路由表中快速找到最佳匹配的表项是路由器和交换机迫切需要解决的一 个问题。
[0003] 传统的基于软件算法的路由查找策略,如树或哈希算法,其执行过程都是相当慢 的,而且与路由表的大小相关联。所以,这些方法只能用于规模小的、性能较低的包转发应 用。使用路由表压缩技术,将路由表按特定的分布规律压缩后存放在处理器的高速缓存中, 这样可以大大提高查询速度。但是数据结构的高度优化和压缩使得路由表的更新需要花费 更多的寄存器访问和处理器周期,当路由表增大时,这个值还会增加。此外,当路由表需要 更新时,需要重新建立整个查找结构,严重降低了路由器和交换机的性能。随着IPv6的出 现和不断推广,这些软件算法更是捉襟见肘。
[0004] 三态内容寻址存储器(Ternary Content Addressable Memory,简称 TCAM)技术 是一种能完成快速路由表查找的有效硬件方法,它是从CAM发展而来的。一般的CAM存 储器中的每个bit位的状态只有"0"或者"1"两种,而TCAM还有一种"don' t care"状 态,又记作"*",所以称为三态。正是TCAM的这种三态特征使其既能够进行精确匹配查 找,又能够进行模糊匹配查找,而由于IP地址可以表示为前缀型数值,因此TCAM被广泛应 用于IP路由表查找中。TCAM方案的高性能源于其高度的并行查找能力,但是正是由于这 种高度的并行查找能力,使得TCAM方案消耗了大量的能源,这些能源既包括TCAM自身并 行查找所消耗的,也包括辅助的散热设备所消耗的。在能源紧缺的今天,节能环保越来越 被IT界重视,如何降低TCAM方案的能耗成为业界关注的一个话题。正是在这样的背景 下,TCAM提供商提出了一种块(block)机制,即将整大块的TCAM划分为某干个小的TCAM 块,即TCAM block,这样可以有选择的激活其中部分TCAM块进行查找而不是原始的整大 块TCAM从而达到降低能耗。此外,TCAM提供商还提供了 TCAM块的并行查找能力,例如 Cisco catalyst4500系列就允许同时进行四个TCAM块的并行查找。这两种新机制可参见 Yadi Ma等人的"A Smart Pre-Classifier to Reduce Power Consumption of TCAMs for Multi-dimensional Packet Classification"(ACM SIGC0MM2012)论文。如何有效利用 这种块的机制是当前的一个热点和难点。最长共同前缀匹配的概念在Samar Sharma等人 的 "Sorting and Searching using Ternary CAMs"(IEEE H0TI2002)论文中被提出,并在 Yeim-Kuan Chang 的"A2_Level TCAM Architecture forRanges" (IEEE TRANSACTIONS ON COMPUTERS. VOL. 55, NO. 12)论文中得到扩展。但两者都仅用于解决基本段定位问题,没有能 够解决IP路由表的查找问题,更没有能够解决TCAM的低功耗设计问题及动态更新设计。


【发明内容】

[0005] 本发明所要解决的技术问题是提供一种基于TCAM的高速低功耗路由表查找方 法,并且要求该方法具有可动态增量更新的特点,能够解决现有软件算法的低速问题及现 有TCAM方案的高能耗问题。
[0006] 为了解决上述问题,本发明提供是通过以下技术方案实现的:
[0007] a :将IP路由表查找转化为一维坐标轴上的基本段的点定位问题;
[0008] b :根据各基本段所覆盖的IP路由表项数量进行等容量聚合,形成等容量区间段, 根据等容量区间段建立索引表,构建索引项与TACM块间的对应关系;
[0009] c:在查找过程中,检索索引表,根据检索结果激活对应的TCAM块,然后利用目的 IP地址对激活的TCAM块进行检索,对检索得到的IP地址进行转发即可;
[0010] d :维护IP地址、等容量区间段及TCAM块之间的对应关系,实现了 IP路由表的动 态增量更新。
[0011] 其中,步骤a中,将IP路由表中的所有IP地址视为一维坐标轴上的线段并将这些 线段进行坐标轴映射,映射后线段的端点会将坐标轴划分成一系列连续的基本段(基本段 内无端点),每个基本段对应零个、一个或者多个IP地址(IP地址对应线段与基本段有重叠 则认为该基本段与该IP地址有对应关系),对于对应多个IP地址的基本段,根据最长前缀 匹配原则取最长前缀地址作为该段对应的IP地址。
[0012] 其中,步骤b中,根据各基本段所覆盖的IP路由表项数量进行等容量聚合,形成等 容量区间段,通过最长共同前缀及扩展对聚合后的等容量区间段建立索引表,每个索引表 项对应一个TCAM块编号,该TCAM块内存放的是相应等容量区间段内对应的IP地址集合。
[0013] 其中,步骤c中,在查找过程中,先激活存放索引表的TCAM块,通过目的IP地址对 存放索引表的TCAM块进行查找,得出相应索引结果,根据索引结果获取一个TCAM块编号。 激活该编号对应的TCAM块,利用目的IP地址对该TCAM块进行查找,得出的结果便是最长 前缀匹配原则所要得到的IP地址,最后进行转发即可。
[0014] 其中,步骤d中,为了使得算法具有动态增量更新的特点,IP路由表的维护模块构 建了路由表中IP地址、等容量区间段及TCAM块之间的对应关系。当IP路由表发生更新操 作时,可以根据IP地址、等容量区间段及TCAM块之间的对应关系更新相应的TCAM块,而无 需更新所有TCAM块,也无需改变原有的整体查找结构,只有必要时才进行整体结构重建, 因此实现了动态增量更新。
[0015] 本发明的有益效果是,通过将IP路由表查找问题转化为点定位问题,利用最长共 同前缀及修正技术为TCAM块构建索引表,通过查找索引表,根据索引结果激活并查找某一 个TCAM ±夬,从而实现高速低功耗设计,此外,由于维护了 IP地址、等容量区间段及TCAM块 之间的对应关系,从而实现了动态增量更新。
[0016] 下面结合附图和实施例,对本发明的技术方案作进一步的详细描述。

【专利附图】

【附图说明】
[0017] 图1是基于TCAM的高速低功耗IP路由表查找方法的系统结构示意图;
[0018] 图2是基于TCAM的高速低功耗IP路由表查找方法的实施流程示意图;
[0019] 图3是基于TCAM的高速低功耗IP路由表查找方法的IP地址映射示意图;
[0020] 图4是基于TCAM的高速低功耗IP路由表查找方法的构建等容量区间段示意图;
[0021] 图5是基于TCAM的高速低功耗IP路由表查找方法的等容量区间段的最长共同前 缀不意图;
[0022] 图6是基于TCAM的高速低功耗IP路由表查找方法的TCAM存储示意图;
[0023] 图7是基于TCAM的高速低功耗IP路由表查找方法的查找示意图;

【具体实施方式】
[0024] 本发明分为三大模块:建立IP路由表索引结构模块,IP路由表查找模块和IP路 由表的维护模块。本发明的系统结构如图1所示,步骤100建立索引表后将索引表存入TCAM 块中;步骤200负责使用目的IP地址去步骤1得出的存放索引表的TCAM块中进行检索, 根据检索得出的结果去激活某一个TCAM块,再利用目的IP地址检索该TCAM块得出查找结 果;步骤300则是负责对步骤100得出的索引表进行维护,负责路由表的更新操作。下面结 合图2介绍具体实施流程。为了描述方便,后续将以表1所示的一个含有七条八位IP地址 的简单路由表为例加以阐述。
[0025] 表1. 一个简单的路由表实例
[0026]
[0027] 实施例1

【权利要求】
1. 一种基于TCAM的高速低功耗IP路由表查找方法,其特征在于,包括以下步骤: a :将IP路由表查找转化为一维坐标轴上的基本段的点定位问题; b :根据各基本段所覆盖的IP路由表项数量进行等容量聚合,形成等容量区间段,并建 立索引表,构建索引项与TACM块间的对应关系; c :在查找过程中,检索索引表,根据检索结果激活对应的TCAM块,然后利用目的IP地 址对激活的TCAM块进行检索,对检索得到的IP地址进行转发即可; d :维护IP地址、等容量区间段及TCAM块之间的对应关系,实现了动态增量更新。
2. 根据权利要求1所述的基于TCAM的高速低功耗IP路由表查找方法,其特征是,步 骤a中,将IP路由表中的所有IP地址视为一维坐标轴上的线段并将这些线段进行坐标轴 映射,映射后会将坐标轴划分成一系列连续的基本段,每个基本段对应零个、一个或者多个 IP地址。
3. 根据权利要求2所述的基于TCAM的高速低功耗IP路由表查找方法,其特征是,对于 对应多个IP地址的基本段,根据最长前缀匹配原则取最长前缀地址作为该段对应的IP地 址。
4. 根据权利要求3所述的基于TCAM的高速低功耗IP路由表查找方法,其特征在于,步 骤b中,对一维区间上的基本段进行IP地址的等容量聚合,构建等容量区间段,对这些等容 量区间段构建索引表。
5. 根据权利要求4所述的基于TCAM的高速低功耗IP路由表查找方法,其特征在于, 每个索引表项对应一个TCAM块编号,该TCAM块内存放的是相应等容量区间段内对应的IP 地址集合。
6. 根据权利要求1所述的基于TCAM的高速低功耗IP路由表查找方法,其特征在于, 步骤c中,在查找过程中,先激活存放索引表的TCAM块,通过目的IP地址对存放索引表的 TCAM块进行查找,得出相应索引项,根据索引项获取一个TCAM块编号。
7. 根据权利要求6所述的基于TCAM的高速低功耗IP路由表查找方法,其特征在于,根 据得到的TCAM块编号激活相应的TCAM ±夬,利用目的IP地址对该TCAM块进行查找,得出的 结果便是最长前缀匹配原则得到的IP地址,最后进行转发即可。
8. 根据权利要求1所述的基于TCAM的高速低功耗IP路由表查找方法,其特征在于, 步骤d中,为了使得算法具有动态更新的特点,IP路由表的维护模块构建了路由表中IP地 址、等容量区间段及TCAM块之间的对应关系。
9. 根据权利要求8所述的基于TCAM的高速低功耗IP路由表查找方法,其特征在于, 当IP路由表发生更新操作时,可以根据IP地址、等容量区间段及TCAM块之间的对应关系 更新相应的TCAM块,而无需更新所有TCAM块,也无需改变原有的整体查找结构,只有必要 时才进行整体结构重建,实现了动态增量更新。
【文档编号】H04L12/741GK104301227SQ201310314077
【公开日】2015年1月21日 申请日期:2013年7月16日 优先权日:2013年7月16日
【发明者】李文军, 李险峰 申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1