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

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

Info

Publication number
CN104301227A
CN104301227A CN201310314077.1A CN201310314077A CN104301227A CN 104301227 A CN104301227 A CN 104301227A CN 201310314077 A CN201310314077 A CN 201310314077A CN 104301227 A CN104301227 A CN 104301227A
Authority
CN
China
Prior art keywords
tcam
address
segment
capacity
route table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310314077.1A
Other languages
English (en)
Other versions
CN104301227B (zh
Inventor
李文军
李险峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Shenzhen Graduate School
Original Assignee
Peking University Shenzhen Graduate School
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University Shenzhen Graduate School filed Critical Peking University Shenzhen Graduate School
Priority to CN201310314077.1A priority Critical patent/CN104301227B/zh
Publication of CN104301227A publication Critical patent/CN104301227A/zh
Application granted granted Critical
Publication of CN104301227B publication Critical patent/CN104301227B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

基于TCAM的高速低功耗IP路由表查找方法
技术领域
本发明涉及网络通信设备,特别涉及基于TCAM的高速低功耗IP路由表查找方法。 
背景技术
Internet的迅速发展给我们的生活带来了巨大的变化,随之而来的是网络流量的迅速增长及路由表的不断膨胀,这对于Internet上的网络处理设备来说是一个很大的挑战,特别是核心网络设备。此外,随着光纤通信技术的不断发展,网络处理设备对于线速的要求变得越来越高,留给设备进行单个数据包处理转发的时间越来越短,这对于Internet上的网络处理设备来说同样是一个极大的挑战。路由器和交换机是在网络中对数据分组转发的典型设备,路由表是其进行数据分组转发的基础。路由器和交换机在转发数据分组时,需要根据目的IP地址及最长前缀匹配原则,查找路由表从而确定正确的下一跳出口。因此,如何在巨大的路由表中快速找到最佳匹配的表项是路由器和交换机迫切需要解决的一个问题。 
传统的基于软件算法的路由查找策略,如树或哈希算法,其执行过程都是相当慢的,而且与路由表的大小相关联。所以,这些方法只能用于规模小的、性能较低的包转发应用。使用路由表压缩技术,将路由表按特定的分布规律压缩后存放在处理器的高速缓存中,这样可以大大提高查询速度。但是数据结构的高度优化和压缩使得路由表的更新需要花费更多的寄存器访问和处理器周期,当路由表增大时,这个值还会增加。此外,当路由表需要更新时,需要重新建立整个查找结构,严重降低了路由器和交换机的性能。随着IPv6的出现和不断推广,这些软件算法更是捉襟见肘。 
三态内容寻址存储器(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 SIGCOMM2012)论文。如何有效利用这种块的机制是当前的一个热点和难点。最长共同前缀匹配的概念在Samar Sharma等人的“Sorting and Searching using Ternary CAMs”(1EEE HOTI2002)论文中被提出,并在Yeim-Kuan Chang的“A2-Level TCAM Architecture forRanges”(IEEE TRANSACTIONS ON COMPUTERS.VOL.55,NO.12)论文中得到扩展。但两者都仅用于解决基本段定位问题,没有能够解决IP路由表的查找问题,更没有能够解决TCAM的低功耗设计问题及动态更新设计。 
发明内容
本发明所要解决的技术问题是提供一种基于TCAM的高速低功耗路由表查找方法,并且要求该方法具有可动态增量更新的特点,能够解决现有软件算法的低速问题及现有TCAM方案的高能耗问题。 
为了解决上述问题,本发明提供是通过以下技术方案实现的: 
a:将IP路由表查找转化为一维坐标轴上的基本段的点定位问题; 
b:根据各基本段所覆盖的IP路由表项数量进行等容量聚合,形成等容量区间段,根据等容量区间段建立索引表,构建索引项与TACM块间的对应关系; 
c:在查找过程中,检索索引表,根据检索结果激活对应的TCAM块,然后利用目的IP地址对激活的TCAM块进行检索,对检索得到的IP地址进行转发即可; 
d:维护IP地址、等容量区间段及TCAM块之间的对应关系,实现了IP路由表的动态增量更新。 
其中,步骤a中,将IP路由表中的所有IP地址视为一维坐标轴上的线段并将这些线段进行坐标轴映射,映射后线段的端点会将坐标轴划分成一系列连续的基本段(基本段内无端点),每个基本段对应零个、一个或者多个IP地址(IP地址对应线段与基本段有重叠则认为该基本段与该IP地址有对应关系),对于对应多个IP地址的基本段,根据最长前缀匹配原则取最长前缀地址作为该段对应的IP地址。 
其中,步骤b中,根据各基本段所覆盖的IP路由表项数量进行等容量聚合,形成等容量区间段,通过最长共同前缀及扩展对聚合后的等容量区间段建立索引表,每个索引表项对应一个TCAM块编号,该TCAM块内存放的是相应等容量区间段内对应的IP地址集合。 
其中,步骤c中,在查找过程中,先激活存放索引表的TCAM块,通过目的IP地址对存放索引表的TCAM块进行查找,得出相应索引结果,根据索引结果获取一个TCAM块编号。激活该编号对应的TCAM块,利用目的IP地址对该TCAM块进行查找,得出的结果便是最长前缀匹配原则所要得到的IP地址,最后进行转发即可。 
其中,步骤d中,为了使得算法具有动态增量更新的特点,IP路由表的维护模块构建了路由表中IP地址、等容量区间段及TCAM块之间的对应关系。当IP路由表发生更新操作时,可以根据IP地址、等容量区间段及TCAM块之间的对应关系更新相应的TCAM块,而无需更新所有TCAM块,也无需改变原有的整体查找结构,只有必要时才进行整体结构重建,因此实现了动态增量更新。 
本发明的有益效果是,通过将IP路由表查找问题转化为点定位问题,利用最长共同前缀及修正技术为TCAM块构建索引表,通过查找索引表,根据索引结果激活并查找某一个TCAM块,从而实现高速低功耗设计,此外,由于维护了IP地址、等容量区间段及TCAM块之间的对应关系,从而实现了动态增量更新。 
下面结合附图和实施例,对本发明的技术方案作进一步的详细描述。 
附图说明
图1是基于TCAM的高速低功耗IP路由表查找方法的系统结构示意图; 
图2是基于TCAM的高速低功耗IP路由表查找方法的实施流程示意图; 
图3是基于TCAM的高速低功耗IP路由表查找方法的IP地址映射示意图; 
图4是基于TCAM的高速低功耗IP路由表查找方法的构建等容量区间段示意图; 
图5是基于TCAM的高速低功耗IP路由表查找方法的等容量区间段的最长共同前缀示意图; 
图6是基于TCAM的高速低功耗IP路由表查找方法的TCAM存储示意图; 
图7是基于TCAM的高速低功耗IP路由表查找方法的查找示意图; 
具体实施方式
本发明分为三大模块:建立IP路由表索引结构模块,IP路由表查找模块和IP路由表的维护模块。本发明的系统结构如图1所示,步骤100建立索引表后将索引表存入TCAM块中;步骤200负责使用目的IP地址去步骤1得出的存放索引表的TCAM块中进行检索,根据检索得出的结果去激活某一个TCAM块,再利用目的IP地址检索该TCAM块得出查找结果;步骤300则是负责对步骤100得出的索引表进行维护,负责路由表的更新操作。下面结合图2介绍具体实施流程。为了描述方便,后续将以表1所示的一个含有七条八位IP地址的简单路由表为例加以阐述。 
表1.一个简单的路由表实例 
IP地址 前缀型 取值范围
R1 001***** [32,63]
R2 0011**** [48,63]
R3 01001*** [72,79]
R4 10****** [128,191]
R5 1000**** [128,143]
R6 101***** [160,191]
R7 10110*** [176,183]
实施例1 
本实施例提供了一种为IP路由表建立TCAM索引表的方法,如图2所示, 
步骤101,将IP路由表中的所有IP地址视为一维坐标轴上的线段并将这些线段进行坐标轴映射,映射后这些线段的端点会将坐标轴划分成一系列连续的基本段(基本段内无端点),每个基本段对应零个、一个或者多个IP地址(IP地址对应线段与基本段有重叠则认为该基本段与该IP地址存在对应关系),对于含有多个IP地址的基本段,根据最长前缀匹配原则取最长前缀地址作为该段对应的IP地址。如图3所示,坐标轴上方是七个八位IP地址(图中为了表示方便而放置于坐标轴上方),即R1-R7在一维坐标轴上的对应线段,这些线段映射到坐标轴后的端点将坐标轴划分成一系列连续的基本段(以1为最小单位),即[0,a-1],[a,b-1],[b,c]...[k+1,Max_IP]。各个基本段对应零个、一个或者多个IP地址,例如基本段[b,c]对应的IP地址为R1和R2,根据最长匹配原则,R2优先级高于R1,故取R2作为基本段[b,c]的唯一对应IP地址,因此基本段与IP地址的对应关系如下表2所示(只考虑IP地址取值范围内的基本段),记IP地址最大取值为Max_IP。图3的坐标轴下方标注的是各个基本段的最佳对应IP地址。 
表2.基本段与IP地址最佳对应关系 
基本段 取值 对应IP地址 根据LPM原则取对应IP地址
[0,a-1] [0,31] NULL NULL
[a,b-1] [32,47] R1 R1
[b,c] [48,63] R1,R2 R2
[c+1,d-1] [64,71] NULL NULL
[d,e] [72,79] R3 R3
[e+1,f-1] [80,127] NULL NULL
[f,g] [128,143] R4,R5 R5
[g+1,h-1] [144,159] R4 R4
[h,i-1] [160,175] R4,R6 R6
[i,j] [176,183] R4,R6,R7 R7
[j+1,k] [184,191] R4,R6 R6
[k+1,Max_IP] [192,255] NULL NULL
[0032] 步骤102,根据各基本段所覆盖的IP路由表项数量进行等容量聚合,形成等容量区间段,使得每个等容量区间段对应预定数目的IP地址,具体预定数目应与一个TCAM块能存放的IP地址数目相同,但是考虑到后续的更新操作,可以每个TCAM块可预留少许容量用于后续更新操作。如图4所示,将图3中的基本段按照每个等容量区间段对应两个IP地址进行聚合,形成一系列等容量区间段。各等容量区间段与IP地址对应关系如下表2所示。图4的坐标轴下方标注的是各个等容量区间段所对应的IP地址集合。 
表3.等容量区间段与IP地址对应关系 
等容量区间段 区间取值 对应IP地址集合
[0,c] [0,63] R1,R2
[c+1,g] [64,143] R3,R5
[g+1,i-1] [144,175] R4,R6
[i,Max_IP] [176,255] R6,R7
步骤103,通过最长共同前缀技术对聚合后的等容量区间段建立初步索引表,每个索引表项对应一个TCAM块编号,该TCAM块内存放的是相应等容量区间段内对应的IP地址集合。例如区间[g+1,i-1]为[10010000,10101111],则10010000与10101111的最长共同前缀为10******,对应该等容量区间段的TCAM块内存放的IP地址集合为{R4,R6}。下表4是各个等容量区间段相对应的最长共同前缀及其对应IP地址集合,下表5是根据表4构建的初步的索引表。 
表4.等容量区间段相对应的最长共同前缀及其对应IP地址集合 
等容量区间段 取值 二进制 最长共同前缀 对应IP地址集合
[0,c] [0,63] [00000000,00111111] 00****** R1,R2
[c+1,g] [64,143] [01000000,10001111] ******** R3,R5
[g+1,i-1] [144,175] [10010000,10101111] 10****** R4,R6
[i,Max_IP] [176,255] [10110000,11111111] 1******* R6,R7
表5.初步索引表 
索引项 TCAM块编号 对应IP地址集合
00****** #1 R1,R2
******** #2 R3,R5
10****** #3 R4,R6
1******* #4 R6,R7
步骤104,对初步索引表进行修正,加入修正表项才能保证算法最后的正确性。关于修正的必要性可以参加Yeim-Kuan Chang的“A2-Level TCAM Architecture for Ranges”(IEEE TRANSACTIONS ONCOMPUTERS.VOL.55,NO.12)论文。具体修正过程如下所示。计算每个等容量区间段对应的最长共同前缀的最小和最大值,判断这两个最值是否落入其他等容量区间段内,如果最小值落入其他区间内,则需要将该最小值与落入等容量区间段的最大值构建新的临时区间并建立该临时区间的最长共同前缀,若索引表中无此项,则将该前缀添加到索引表中,该索引项对应的TCAM块与最小值落入的等容量区间段对应的TCAM块相同;如果最大值落入其他区间内,则需要将落入等容量区间段的最小值与该最大值构建新的临时区间并建立该临时区间的最长共同前缀,若索引表中无此项,则将该前缀添加到索引表中,该索引项对应的TCAM块与最大值落入的等容量区间段对应的TCAM块相同。如图5所示,以区间[g+1,i-1]为例,[g+1,i-1]的最长共同前缀为10******,其最小和最大值分别为10000000和10111111,即点M和点N。最小值10000000落入区间[c+1,g]内,于是对区间[M,g]构建最长共同前缀,即对区间[10000000,10001111]构 建最长共同前缀,为1000****,若索引表中无此项,则将该前缀添加到索引表中,并关联与等容量区间段[c+1,g]相同的对应TCAM块;最大值10111111落入区间[i,Max_IP]内,于是对区间[i,N]构建最长共同前缀,即对区间[10110000,10111111]构建最长共同前缀,为1011****,若索引表中无此项,则将该前缀添加到索引表中,并关联与等容量区间段[iMax_IP]相同的对应TCAM块。对所有等容量区间段的最长共同前缀进行修正后,得出如下表6所示的最终索引表。将所有表项按前缀长度从大到小排列存储在TCAM块中,各TCAM块内存放的IP地址也按照前缀长度从大到小排列,如图6所示(以IPv6为例)。 
表6.最终索引表 
索引项 TCAM块编号
00111111 #2
1000**** #2
1011**** #4
00****** #1
10****** #3
1******* #4
******** #2
实施例2 
本实施例提供了一种基于索引结构和TCAM的IP路由表查找方法,如图2所示, 
步骤201,查找时,激活存放索引表的TCAM块,并使用目的IP地址对该TCAM块进行查找,若为空则表示IP路由表中无匹配地址,否则得出的表项就是索引表中匹配该IP地址的最佳最长共同前缀,根据该索引项得出相应的TCAM块编号。如图7所示,使用IP地址对索引TCAM进行检索,得出匹配项在TCAM块中的偏移坐标,并使用该偏移坐标作为索引前往相应的存放TCAM块编号的索引SRAM中进行查找,得出存放在其中的TCAM块编号。存放索引表的TCAM可以为TCAM块集合中的一个,如编号为#0的TCAM块可以用来存放索引表,若存不下,有两张方案选择,一种是存入多个TCAM块中,激活这些TCAM块并查找,最后对各个TCAM块得出的结果按照最长前缀匹配原则选择最优一个作为索引查找结果;第二种方案是按照实施例1建立索引结构的方法建立二级索引甚至更高级索引。 
步骤202,根据步骤201得出的TCAM块编号,激活相应的TCAM块。如图7所示,从索引SRAM中得出的结果为空则表示查找失败,若不为空则得到的是一个TCAM块编号,根据这一编号前往TCAM块集合中激活相应编号的TCAM块。 
步骤203,使用目的IP地址对步骤202激活的TCAM块进行查找,得出的结果便是最长前缀匹配原则对应的结果,若为空则表示无匹配地址。如图7所示,步骤202激活了TCAM块集合中的一个TCAM块,使用IP地址对该TCAM块进行检索,若查找返回结果为空则表示查找失败,否则得出的便是所要的查找结果,对该结果进行转发即可。 
实施例3 
本实施例提供了一种支持IP路由表动态增量更新的方法,如图2所示, 
步骤301,构建路由表中IP地址、等容量区间段及TCAM块之间的对应关系。 
a).构建步骤102中的等容量区间段与TCAM块编号及IP地址的对应关系,由于等容量区间段与TCAM块编号是一一对应关系,每个TCAM块内存放的是与该等容量区间段相对应的IP地址集合,故对应关系如下表7所示。 
表7.等容量区间段与TCAM块一一对应关系 
等容量区间段 TCAM块编号 对应IP地址集合
[0,c] #1 R1,R2
[c+1,g] #2 R3,R5
[g+1,i-1] #3 R4,R6
[i,Max_IP] #4 R6,R7
b).构建IP地址与等容量区间段间的对应关系。IP地址与等容量区间段存在重叠则认IP地址与该区间段存在对应关系。故实例IP路由表的对应关系如下表8所示。 
表8.IP地址与等容量区间段的对应关系 
IP地址 等容量区间段
R1 [0,c]
R2 [0,c]
R3 [c+1,g]
R4 [c+1,g],[g+1,i-1],[i,Max_IP]
R5 [c+1,g]
R6 [g+1,i-1],[i,Max_IP]
R7 [i,Max_IP]
c).由上a)和b)可得出IP地址与TCAM块间的对应关系,如下表5所示。 
表9.IP地址与TCAM块对应关系 
IP地址 TCAM块
R1 #1
R2 #1
R3 #2
R4 #2,#3,#4
R5 #2
R6 #3,#4
R7 #4
步骤302,当路由表发生更新操作时,根据步骤301的维护的对应关系表对IP路由表进行增加,删除操作。 
a).对路由表进行增加操作。为了实现增量动态增加操作,实施例1的步骤102在对基本映射段进行等容量聚合时,应为每个TCAM块预留少许空间用于增加IP地址操作。当发生增加IP地址操作时,先确定增加的IP地址与等容量区间段的对应关系(IP地址与等容量区间段存在重叠则认IP地址与该区间段存在对应关系)。根据表7中的等容量区间段与TCAM块一一对应关系对相应TCAM块进行插入操作,并且保持插入后TCAM块内的IP地址仍按前缀长度从大到小排列,并在表9中添加新插入的IP地址项。当TCAM块有溢出时,此时需要对查找结构按照实施例1进行重新建立。例如插入一个新的IP地址为1******,该IP地址与等容量区间段[c+1,g],[g+1,i-1],[i,Max_IP]存在对应关系,该三个等容量区间段对应的TCAM块编号为#2,#3,#4,故激活编号为#2,#3,#4的三个TCAM块,进行IP地址插入操作,并保持插入后每个TCAM块内的IP地址唯一且仍按前缀长度从大到小排列,此外,在表9中添加该表项。 
b).对路由表进行删除操作。根据表9维护的IP地址与TCAM块对应关系,前往相应的TCAM块中进行地址删除操作。如删除地址R4,则激活三个TCAM块,即#2,#3和#4。若激活的TCAM块内无此IP地址则忽略此操作,若有则进行删除操作,删除时需要检查最近覆盖所要删除地址的IP地址是否在该TCAM块内,若不在,则需要添加到相应的TCAM块内并更新上述关系表,删除后需要保持TCAM块内的IP地址唯一且仍按前缀长度从大到小排列。例如删除IP地址R6,激活编号为#3,#4的三个TCAM块,进行删除操作,对于编号为#3的TCAM块内有R6,检查发现覆盖R6最近的是R4,且在此TCAM块中,故直接删除R6并保持TCAM块内的IP地址唯一且仍按前缀长度从大到小排列即可;对于编号为#4的TCAM块内有R6,检查发现覆盖R6最近的是R4,且R4不在此TCAM块中,故删除R6且加入R4到该TCAM块中,并保持TCAM块内的IP地址唯一且仍按前缀长度从大到小排列,此外,在表9中删除该表项。 

Claims (9)

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块,也无需改变原有的整体查找结构,只有必要时才进行整体结构重建,实现了动态增量更新。
CN201310314077.1A 2013-07-16 2013-07-16 基于tcam的高速低功耗ip路由表查找方法 Expired - Fee Related CN104301227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310314077.1A CN104301227B (zh) 2013-07-16 2013-07-16 基于tcam的高速低功耗ip路由表查找方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310314077.1A CN104301227B (zh) 2013-07-16 2013-07-16 基于tcam的高速低功耗ip路由表查找方法

Publications (2)

Publication Number Publication Date
CN104301227A true CN104301227A (zh) 2015-01-21
CN104301227B CN104301227B (zh) 2018-02-16

Family

ID=52320800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310314077.1A Expired - Fee Related CN104301227B (zh) 2013-07-16 2013-07-16 基于tcam的高速低功耗ip路由表查找方法

Country Status (1)

Country Link
CN (1) CN104301227B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302174A (zh) * 2015-06-12 2017-01-04 中兴通讯股份有限公司 一种实现路由查找的方法及装置
CN109376789A (zh) * 2018-10-31 2019-02-22 钟祥博谦信息科技有限公司 一种网络包分类算法与系统
CN109889449A (zh) * 2019-02-03 2019-06-14 清华大学 低存储开销的分组转发方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441579A (zh) * 2003-03-28 2003-09-10 清华大学 支持多nexthop的TCAM高速查找方法及其系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1441579A (zh) * 2003-03-28 2003-09-10 清华大学 支持多nexthop的TCAM高速查找方法及其系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
S.SHARMA: "SORTING AND SEARCHING USING TERNARY CAMS", 《IEEE HOTI2002》 *
YADI MA ET AL.: "A Smart Pre-Classifier to Reduce Power Consumption of TCAMs for Multi-dimensional Packet Classification", 《ACM SIGCOMM》 *
YEIM-KUAN CHANG ET AL.: "A 2-Level TCAM Architecture for Ranges", 《IEEE TRANSACTIONS ON COMPUTERS》 *
王勇麟: "基于TCAM的高效率路由更新算法", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302174A (zh) * 2015-06-12 2017-01-04 中兴通讯股份有限公司 一种实现路由查找的方法及装置
CN109376789A (zh) * 2018-10-31 2019-02-22 钟祥博谦信息科技有限公司 一种网络包分类算法与系统
CN109376789B (zh) * 2018-10-31 2020-12-08 钟祥博谦信息科技有限公司 一种网络包分类算法与系统
CN109889449A (zh) * 2019-02-03 2019-06-14 清华大学 低存储开销的分组转发方法及系统

Also Published As

Publication number Publication date
CN104301227B (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
CN108337172B (zh) 大规模OpenFlow流表加速查找方法
CN101594319B (zh) 表项查找方法和装置
US8631043B2 (en) Method and apparatus for generating a shape graph from a binary trie
CN103873371B (zh) 一种名字路由快速匹配查找方法与装置
Quan et al. TB2F: Tree-bitmap and bloom-filter for a scalable and efficient name lookup in content-centric networking
CN102142009B (zh) 一种正则表达式匹配的方法及装置
Bando et al. Flashtrie: Hash-based prefix-compressed trie for IP route lookup beyond 100Gbps
CN101655861B (zh) 基于双计数布鲁姆过滤器的哈希方法和哈希装置
CN102487374B (zh) 一种访问控制列表实现方法及装置
CN102521334A (zh) 一种基于分类特性和平衡二叉树的数据存储、查询方法
CN103428093A (zh) 一种基于名字路由前缀存储、匹配及更新方法与装置
WO2006099186A2 (en) Information retrieval architecture for packet classification
CN110808910A (zh) 一种支持QoS的OpenFlow流表节能存储架构及其应用
CN103051543A (zh) 一种路由前缀的处理、查找、增加及删除方法
CN105515997B (zh) 基于bf_tcam实现零范围扩张的高效范围匹配方法
CN101620623A (zh) 内容可寻址存储器表项管理方法和装置
CN100426791C (zh) 一种路由转发表地址查找引擎装置
CN101277252A (zh) 多分支Trie树的遍历方法
CN102045412A (zh) IPv6地址前缀压缩存储方法及设备
CN107729053B (zh) 一种实现高速缓存表的方法
CN104301227A (zh) 基于tcam的高速低功耗ip路由表查找方法
CN114884877A (zh) 一种哈希表和HOT相结合的IPv6路由查找方法
CN103973571A (zh) 网络处理器及其路由查找方法
CN106897458A (zh) 一种面向机电设备数据的存储及检索方法
CN110995876B (zh) 一种ip存储与查找的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180216

Termination date: 20180716

CF01 Termination of patent right due to non-payment of annual fee