CN1216473C - 支持多个下一跳的三态内容可寻址存储器查找方法及*** - Google Patents
支持多个下一跳的三态内容可寻址存储器查找方法及*** Download PDFInfo
- Publication number
- CN1216473C CN1216473C CN 03121149 CN03121149A CN1216473C CN 1216473 C CN1216473 C CN 1216473C CN 03121149 CN03121149 CN 03121149 CN 03121149 A CN03121149 A CN 03121149A CN 1216473 C CN1216473 C CN 1216473C
- Authority
- CN
- China
- Prior art keywords
- index
- mapping table
- jumping
- concordance list
- route
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000013507 mapping Methods 0.000 claims abstract description 48
- 230000009191 jumping Effects 0.000 claims description 54
- 230000003068 static effect Effects 0.000 claims description 6
- 239000000203 mixture Substances 0.000 claims description 2
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 12
- RJKFOVLPORLFTN-LEKSSAKUSA-N Progesterone Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)C)[C@@]1(C)CC2 RJKFOVLPORLFTN-LEKSSAKUSA-N 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
支持多nexthop的TCAM的高速查找方法及其***属于互联网中IP地址高速查找技术领域,其特征在于:它是一种基于三态内容可寻址存储器TCAM的采用索引方式对路由表项中的多个下一跳(nexthop)以块的形式进行存储,同时再把下一跳地址、端口组成nexthop映射表来进行高速查找的方法,它针对几乎所用的路由表项的下一跳个数都低于4这一规律同时以下一跳的个数为8个作为上限建立了一、二两级下一跳索引表。它具有高速查找、存储空间少、支持IPv6的扩展以及可支持多个下一跳等优点。
Description
技术领域
支持多个下一跳的三态内容可寻址存储器查找方法及***属于互联网中高速IP地址查找领域。
背景技术
路由器是Internet网络中的重要设备,它负责对网络中分组进行路由转发。转发分组时,路由器需要基于每个分组头部的目的IP地址,在路由表中进行路由查找,找到分组正确的下一跳出口。由于路由器为每个分组都进行路由查找操作,路由查找的性能直接影响着路由器整体性能。90年代,IETF为了解决地址浪费以及路由表规模增长过快等问题,提出CIDR(Classless Inter-Domain Routing无类别域间路由)地址结构(Vince F,Li T,Yu J,et al.Classlessinter-domain routing(CIDR):An address assignment and aggregation strategy.IETF RFC1519,1993.)。CIDR允许任意长度的网络地址前缀存在,路由查找过程变为最长匹配查找过程,这大大增加了路由查找的复杂性。下一代Internet采用IPv6技术,地址长度从32位扩展为128位,路由表规模进一步增加,路由查找难度也进一步提高。目前,为了满足网络带宽的需求,路由器不得不采用高速率的接口。OC48(2.5Gbps)和OC192(10Gbps)等速率的接口已经在路由器中得到应用。在OC192速率下,路由器每秒钟需要转发3000万个分组,每秒钟需要进行3000万次的路由查找。高速的路由查找技术成为高性能路由器设计的关键。
近年来,研究人员提出了许多机制和算法解决高速路由查找问题。这些算法大多数基于DRAM、SRAM等传统的存储设备。例如:Degermark提出一种基于压缩转发表的快速查找算法(DegerMark M,Brodnik A,et al.Small forwarding tables for fast routing lookups.In:Handley M,et al.ed.Proceedings of the ACM SIGCOMM.New York:ACM Press,1997.3~14.)。对于一个具有40,000个表项的大路由表,算法可以把它压缩成150K-160Kbytes大小的转发表。由于压缩后的转发表很小,它可以用高速的存储设备进行存储。如果用硬件实现该算法,进行一次路由查找所需的最小内存访问次数为2,最大内存访问次数为9。Gupta提出一个基于大DRAM存储的24-8多分支Tries树路由查找算法(Gupta P,Lin S,Mckeown N.Routinglookups in hardware at memory access speeds.In:Charny A.ed.Proceedings of the IEEEINFOCOM.San Franciso:IEEE Communications Society,1998.)。算法进行一次路由查找时最多只需两次访问内存。算法所需DRAM存储空间约为33MBytes。通过增加中间表可以把算法对内存的需求减小到9MBytes,但算法查找一次的最大内存访问次数将达到3。这类基于DRAM、SRAM的查找算法,一般可以获得较高的路由查找速度,但在存储空间、更新速度和扩展性等方面具有比较差的性能。
TCAM(Ternary Content Addressable Memory三态内容可寻址存储器)技术是近年出现的一种硬件查找技术,它可以实现高速的路由查找。TCAM芯片内部使用并行技术,可获得O(1)的查找复杂度。目前市场上可获得的TCAM芯片查找速度最快可达100M次/秒。TCAM在存储空间和扩展性方面同样具有很好的性能。TCAM芯片内部采用三态逻辑,对于路由前缀可以达到O(1)的存储复杂度。TCAM技术对于IPv6也具有很好的扩展性,通过配置芯片内部的存储器,可以实现高速的IPv6路由查找。可见,和其他路由查找技术相比,TCAM技术在路由查找速度、存储空间和扩展性方面具有比较明显的优势。但TCAM技术的缺点也是明显的,它主要存在下面三个缺点:1、成本高。TCAM芯片要比相同存储空间的SRAM,DRAM贵很多。2、功耗大。TCAM芯片内部采用并行技术进行关键字的比较,内部的功耗很大。3、路由更新复杂。用TCAM技术实现最长前缀查找时,路由前缀在TCAM芯片内需要按照一定的顺序进行排序,这使得路由更新操作相对复杂。低效率的路由更新会大大影响TCAM的路由查找性能。TCAM技术的三个缺点可以通过路由压缩、有效的路由更新等手段在一定程度上得到解决。总的来看,虽然TCAM技术存在着缺点,但它仍是一种比较好的路由查找方案。
路由表是路由器中重要的数据单元,它是路由查找转发的依据。我们对Internet中实际的路由表进行考查,发现路由表中存在相当数量的路由表项,它们具有多个nexthops(下一跳),可见多nexthops路由的存在是路由表的重要特征,但这一特征在介绍路由查找算法和方案的几乎所有的文章中都未被提及和考虑。多nexthops路由的存在增加了路由查找方案设计的复杂度。目前还没有研究者提出一个既满足高速查找要求,又支持多nexthops的路由查找方案。
发明内容
本发明的目的在于提供一种支持多下一跳的三态内容可寻址存储器查找方法及***。
本发明提出的查找方法的特征在于,它是一种采用索引方式对路由表项中的多个下一跳(Nexthop)组成以块(Block)的形式进行存储,同时再把下一跳地址、端口和相应的下一跳组成Nexthop映射表索引来进行高速查找的方法,它针对几乎所有的路由表项的下一跳个数都低于4个这一个规律同时以下一跳的个数为8个作为上限,建立了一、二两级下一跳索引表;它是在具有高速路由查找性能的三态内容可寻址的存储器(TCAM)的基础上实现的,依次采用如下的步骤:
(1)初始化:
在TCAM中按单元k存储路由前缀信息;
在静态随机存取存储器SRAM1中,与TCAM的存储单元k相一一对应,按下述三类数据结构存储一级下一跳索引信息,组成一级索引表;
a类:共16位,第1位是0,表示只有一个下一跳;其余15位是该下一跳的映射表索引;
b类:共16位,第1位是1,表示下一跳个数大于1;第2~3位是块号(Block number),表示块内的路由表项存在2、3或4个下一跳;第4~16位表示二级下一跳索引表的块内偏移(Block offset);用BN表示二级下一跳索引表内的块编号,BN=0、1、2分别表示相应的块内依次着2、3或4个下一跳;
c类:共16位,第1位是1,表示下一跳多于一个;第2~3位表示块号BN=3,意义同上;第4~6位表示该块号3内的下一跳数(Nexthop number),它的取值在2~8之间;第7~16位表示块内偏移,意义同上,用BO来表示;
在静态随机存取存储器SRAM2中存储下一跳映射表的索引,组成二级下一跳索引表;该索引表分成4块,前三块分别存储下一跳个数为2、3或4的路由表项的映射表索引,第4块存储下一跳个数为2~8之间的路由表项的映射表索引;其中,路由表项的多个下一跳的映射表索引在二级索引表中连续存储;
在静态随机存取存储器SRAM3中存储转发信息,内容为下一跳的IP地址和出端口号,组成下一跳映射表,设定下一跳映射表的深度为256;
在现场可编程门阵列(FPGA)中存储二级下一跳索引表中4个块的基地址(BA,baseaddress),即每一块内第一个下一跳的首地址;
(2)输入分组的源地址和分组的目的地址;
(3)根据目的IP地址查找TCAM芯片,得到最长匹配前缀所在单元k;
(4)访问一级下一跳索引表的单元k;
(5)判断单元k的第1位:
若第1位为0,则从单元k中获得下一跳映射表索引,跳到步骤(9);
若第1位为1,则执行步骤(6);
(6)把一级索引表单元k中的BN、BO和NN传送到FPGA存储及控制电路;
(7)FPGA根据BN、BO和NN计算出要访问的二级下一跳索引表的单元位置,它依次含有以下的步骤:
7.1通过BN,得到相应块的基地址BA;
7.2判断BN的值:
若BN<3,则得到相应的NN,即BN=0,1,2分别对应NN=2,3,4;
若BN=3,则从一级下一跳索引表中的c类数据结构中得到NN,即下一跳数目;
7.3根据下述策略选择转发的下一跳映射表索引:
7.3.1根据下式得到选择的下一跳的索引(index):
(分组的源地址+分组的目的地址)/NN;
7.3.2通过计算(BA+BO+index)得到要访问的二级索引表的单元位置;
(8)根据FPGA计算的结果访问二级索引表,得到下一跳映射表索引;
(9)根据下一跳映射表索引,访问映射表,得到转发信息。
本发明提出的查找***的特征在于,它含有:
TCAM:输入为分组目的IP地址;
SRAM1:输入为TCAM输出的最长匹配前缀所在单元k;
FPGA:存储和控制器,输入为一级下一跳索引表SRAM1输出的BN、BO和NN;
SRAM2:输入为FPGA存储和控制器输出的二级索引表SRAM2中要访问的单元位置;
SRAM3:下一跳的映射表,输入是SRAM1输出的下一跳映射表索引,或者是SRAM2输出的下一跳映射表索引。
试验证明:本发明具有支持多个下一跳、查找速度可达100M次/秒、较小的存储空间、对IPv6路由查找有很好的扩展性的优点。
附图说明
图1.本发明提出的高速查找方法的示意图。
图2.一级下一跳索引单元的数据结构图:
a:第1位为0时;
b:第1位为1,且2~3位小于3时;
c:第1位为1,且2~3位等于3时;
图3.查找方法的程序流程图
图4.查找的两个实例示意图
图5.查找***的电路原理图。
具体实施方式
图1为方案的总体设计。图1包括五个部分:TCAM芯片、一级nexthop索引表、二级nexthop索引表、nexthop映射表以及FPGA存储和控制器。下面依次对各个部分进行说明:
TCAM芯片存储路由前缀信息,即(前缀IP,前缀掩码)。TCAM完成路由前缀的最长匹配查找。
一级nexthop索引表存储单元与TCAM芯片的存储单元一一对应。比如:某条路由表项的路由前缀信息存储在TCAM芯片中的第k个单元,则相应的一级索引信息存储在一级索引表的第k个单元。一级索引表的存储单元宽度为16bits(这个宽度可根据二级索引表的大小进行调整),它有如图2所示三类结构。图2(a)所示单元表示该路由表项只存在一个nexthop,单元后15bits存储nexthop映射表的索引,根据这个索引可在nexthop映射表中得到(下一跳IP,出端口)的转发信息。图2(b)所示单元表示该路由表项存在2,3或4个nexthops。BN的取值分别为0,1,2。BN为二级nexthop索引表的块编号。BO为二级索引表的块内偏移。图3(b)所示单元表示该路由表项存在2个或2个以上的nexthops。BN的取值为3,NN指明路由表项nexthop的个数,它的取值可为2到8,BO为二级索引表的块内偏移。
二级nexthop索引表存储nexthop映射表的索引,单元数据宽度为8bits(后面会解释为什么选择8bits)。二级索引表分为4个块。前三块分别存储nexthop个数为2,3,4的路由表项的映射表索引。第4块可存储nexthop个数为2到8之间的路由表项的映射表索引。块4一般不存储nexthop个数为2,3,4的路由表项。只有块1、块2和块3无空余空间时,才会存储相应的路由表项。路由表项的多个nexthop的映射表索引在二级索引表中连续存储。比如:某个路由表项有k个nexthops,第一个nexthop的映射表索引存储在二级索引表的的第n个单元,则其余k-1个映射表索引依次存储在n+1,n+2,...,n+k-1的k-1个连续单元里。
二级nexthop索引表是实现多nexthops支持的关键部分。二级索引表分为4个块,这主要是因为通过考查实际路由表,我们发现几乎所有的路由表项的下一跳个数都不超过4个。实际中块1、块2和块3就可以满足要求,设计中保留块4主要是为了满足特殊的要求。二级索引表中块1、块2、块3的大小可根据实际路由表中多nexthops路由表项的统计规律来确定,比如:nexthop个数为2,3,4的路由表项所占百分比为r2%,r3%,r4%,一级nexthop索引表的深度为N,则块1,块2和块3的大小分别为N*2*r2%,N*3*r3%,N*4*r4%。对于块4的大小可根据实际需要来决定。
nexthop映射表单元存储(下一跳IP,出端口)的转发信息。nexthop映射表的深度为256。深度为256主要是因为真实路由器的接口数都是比较少的,不同(下一跳IP,出端口)对的数目也就较少。我们对Internet上真实的路由表进行考查,发现不同(下一跳IP,出端口)对的数目远远小于256,同时深度选为256也可以减少存储空间。由于映射表的深度为256,二级nexthop索引表存储着映射表的索引,所以8bits的数据宽度就可以满足二级索引表的设计要求。
FPGA存储和控制器完成路由查找过程中所有的逻辑计算,同时还存储着二级nexthop索引表4个块的基地址(BA,base address)。FPGA存储与控制器的一个重要功能是通过一级nexthop索引表单元中的BN、BO和NN域计算出要访问的二级nexthop索引表单元位置,FPGA控制模块具体计算过程如下:
1.通过BN,得到相应块的基地址BA;
2.如果BN小于3,则通过BN得到对应的NN;具体来说,BN=0,1,2分别对应NN=2,3,4;如果BN=3,NN可从一级nexthop索引表单元中得到;
3.根据转发策略,从多个nexthops中选择一个做为转发的下一跳;简单的策略,可根据(分组的源地址+分组的目的地址)/NN得到选择的nexthop的index(索引);
4.最后计算获得要访问的二级索引表的单元位置(BA+BO+index);
本方案查找过程可分为4个阶段:TCAM芯片查找、一级nexthop索引表访问、二级nexthop索引表访问、nexthop映射表访问。4个阶段互相独立,没有共享资源冲突,可以使用流水线技术进一步提高查找速度。比如:TCAM芯片采用100M次/秒的查找芯片、其他部分的存储都采用10ns的SRAM,那么使用流水线技术,可以获得100M次/秒的查找速度。
方案对IPv6有很好的扩展性。由于一级索引表与二级索引表都采用索引方式对路由进行存储,索引与协议是无关的,所以方案从IPv4升级到IPv6,只需要扩充nexthop映射表单元数据宽度就可以要求。
方案中nexthop存储部分所需空间是比较小的。对多nexthops的存储我们主要都是采用索引的形式,这大大减小了对存储空间的需求。
整个查找过程可用图3所示的流程图表示。
图4为两个具体路由查找的例子。例子一为对目的地址1.1.1.2的查找。首先在TCAM芯片内根据最长匹配原则,找到与之匹配的前缀1.0.0.0/8。根据前缀1.0.0.0/8所在单元的位置,访问对应的一级nexthop索引表单元。一级索引表单元的内容为(0,14),单元第一个bit位为0,所以单元后15个bits的内容为nexthop映射表的索引(14)。访问索引表的第14个单元得到(下一跳IP,出端口)的转发信息(1.1.1.2,2)。例子二为对目的地址10.9.1.2的查找。首先在TCAM芯片内找到与之最长匹配的前缀10.9.1.0/24。根据前缀10.9.1.0/24所在单元的位置,访问对应的一级nexthop索引表单元。一级索引表单元内容为(1,0,50),单元第一个bit为1,所以单元后两个域分别为BN(0),BO(50)。把BN和BO交给FPGA模块。FPGA模块通过分组的源地址、目的地址和BN,得到选择的nexthop索引index(1),并最终计算出要访问二级索引表单元位置(BA+BO+1),访问二级索引表对应单元得到nexthop映射表的索引(26)。访问映射表的第26个单元,得到(3.1.1.1,4)的转发信息。
本发明具有下面几个特征:1、支持多个下一跳;2、支持高速的路由查找(目前可以达到100M次/秒的查找速度);3、较小的存储空间;4、对IPv6路由具有很好的扩展性。
Claims (2)
1.支持多个下一跳的三态内容可寻址存储器查找方法,其特征在于它是一种采用索引方式对路由表项中的多个下一跳,即Nexthop,组成以块,即Block的形式进行存储,同时再把下一跳地址、端口和相应的下一跳组成Nexthop映射表索引来进行高速查找的方法,它针对几乎所有的路由表项的下一跳个数都低于4个这一个规律同时以下一跳的个数为8个作为上限,建立了一、二两级下一跳索引表;它是在具有高速路由查找性能的三态内容可寻址的存储器,即TCAM的基础上实现的,依次采用如下的步骤:
(1)初始化:
在TCAM单元k存储路由前缀信息;
在静态随机存取存储器SRAM1中,与TCAM的存储单元k一一对应,按下述三类数据结构存储一级下一跳索引信息,组成一级索引表;
a类:共16位,第1位是0,表示只有一个下一跳;其余15位是该下一跳的映射表索引;
b类:共16位,第1位是1,表示下一跳个数大于1;第2~3位是块号,即Block number,表示块内的路由表项存在2、3或4个下一跳;第4~16位表示二级下一跳索引表的块内偏移,即Block offset;用BN表示二级下一跳索引表内的块编号,BN=0、1、2分别表示相应的块内依次存在着2、3或4个下一跳;
c类:共16位,第1位是1,表示下一跳多于一个;第2~3位表示块号BN=3,意义同上;第4~6位表示该块号3内的下一跳数,即Nexthop number,它的取值在2~8之间;第7~16位表示块内偏移,意义同上,用BO来表示;
在静态随机存取存储器SRAM2中存储下一跳映射表的索引,组成二级下一跳索引表;该索引表分成4块,前三块分别存储下一跳个数为2、3或4的路由表项的映射表索引,第4块存储下一跳个数为2~8之间的路由表项的映射表索引;其中,路由表项的多个下一跳的映射表索引在二级索引表中连续存储;
在静态随机存取存储器SRAM3中存储转发信息,内容为下一跳的IP地址和出端口号,组成下一跳映射表,设定下一跳映射表的深度为256;
在现场可编程门阵列,即FPGA中存储二级下一跳索引表中4个块的基地址,可以用BA或base address表示,即每一块内第一个下一跳的首地址;
(2)输入分组的源地址和分组的目的地址;
(3)根据目的IP地址查找TCAM芯片,得到最长匹配前缀所在单元k;
(4)访问一级下一跳索引表的单元k;
(5)判断单元k的第1位:
若第1位为0,则从单元k中获得下一跳映射表索引,跳到步骤(9);
若第1位为1,则执行步骤(6);
(6)把一级索引表单元k中的BN、BO和NN传送到FPGA存储和控制电路;
(7)FPGA根据BN、BO和NN计算出要访问的二级下一跳索引表的单元位置,它依次含有以下的步骤:
7.1通过BN,得到相应块的基地址BA;
7.2判断BN的值:
若BN<3,则得到相应的NN,即BN=0,1,2分别对应NN=2,3,4;
若BN=3,则从一级下一跳索引表中的c类数据结构中得到NN,即下一跳数目;
7.3根据下述策略选择转发的下一跳映射表索引:
7.3.1根据下式得到选择的下一跳的索引(index):
(分组的源地址+分组的目的地址)/NN;
7.3.2通过计算BA+BO+index得到要访问的二级索引表的单元位置;
(8)根据FPGA计算的结果访问二级索引表,得到下一跳映射表索引;
(9)根据下一跳映射表索引,访问映射表,得到转发信息。
2.支持多个下一跳的三态内容可寻址存储器查找***,其特征在于,它含有:
TCAM:输入为分组目的IP地址;
SRAM1:输入为TCAM输出的最长匹配前缀所在单元k;
FPGA:存储和控制器,输入为一级下一跳索引表SRAM1输出的BN、BO和NN;
SRAM2:输入为FPGA存储和控制器输出的二级索引表SRAM2中要访问的单元位置;
SRAM3:下一跳的映射表,输入是SRAM1输出的下一跳映射表索引,或者是SRAM2输出的下一跳映射表索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03121149 CN1216473C (zh) | 2003-03-28 | 2003-03-28 | 支持多个下一跳的三态内容可寻址存储器查找方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03121149 CN1216473C (zh) | 2003-03-28 | 2003-03-28 | 支持多个下一跳的三态内容可寻址存储器查找方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1441579A CN1441579A (zh) | 2003-09-10 |
CN1216473C true CN1216473C (zh) | 2005-08-24 |
Family
ID=27770470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03121149 Expired - Fee Related CN1216473C (zh) | 2003-03-28 | 2003-03-28 | 支持多个下一跳的三态内容可寻址存储器查找方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1216473C (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI289750B (en) * | 2004-01-05 | 2007-11-11 | Sony Corp | Data storage apparatus, and data storage controlling apparatus and method |
CN100366023C (zh) * | 2004-07-28 | 2008-01-30 | 国家数字交换***工程技术研究中心 | 路由查找装置 |
CN100442766C (zh) * | 2005-07-08 | 2008-12-10 | 华为技术有限公司 | 数据通信设备转发业务的实现方法 |
CN101043421B (zh) * | 2006-03-21 | 2010-05-12 | 上海激动通信有限公司 | 一种基于内存的ip地址最长匹配快速查找的方法 |
CN100461698C (zh) * | 2006-05-31 | 2009-02-11 | 华为技术有限公司 | 一种转发路由表存放的方法及装置 |
CN101247337B (zh) * | 2008-02-18 | 2012-11-21 | 华为技术有限公司 | 一种报文转发的方法和设备 |
CN101505279B (zh) * | 2009-03-20 | 2012-07-25 | 中国人民解放军信息工程大学 | 一种路由查找方法和装置 |
CN101834802B (zh) | 2010-05-26 | 2012-08-08 | 华为技术有限公司 | 转发数据包的方法及装置 |
CN101866357B (zh) * | 2010-06-11 | 2011-11-16 | 北京星网锐捷网络技术有限公司 | 一种三态内容寻址存储器的表项更新方法及装置 |
CN101902401A (zh) * | 2010-07-23 | 2010-12-01 | 中兴通讯股份有限公司 | 一种搜索处理装置及网络*** |
CN102045254B (zh) * | 2010-11-30 | 2012-09-12 | 福建星网锐捷网络有限公司 | 路由表的扩展处理方法、装置和网络设备 |
CN102263693B (zh) * | 2011-07-20 | 2017-10-10 | 中兴通讯股份有限公司 | 一种路由表管理方法及*** |
CN103514224B (zh) | 2012-06-29 | 2017-08-25 | 国际商业机器公司 | 数据库中的数据处理方法、数据查询方法和相应装置 |
CN104301227B (zh) * | 2013-07-16 | 2018-02-16 | 北京大学深圳研究生院 | 基于tcam的高速低功耗ip路由表查找方法 |
CN105812262A (zh) * | 2016-03-10 | 2016-07-27 | 盛科网络(苏州)有限公司 | 一种在带有掩码管理的tcam中高效数据排序的实现方法 |
CN109831384B (zh) * | 2017-11-23 | 2021-08-03 | 华为技术有限公司 | 名字查找方法及路由器 |
CN109921995B (zh) * | 2017-12-13 | 2021-08-13 | 华为技术有限公司 | 一种配置地址表的方法、fpga和应用该fpga的网络设备 |
CN108595731B (zh) * | 2018-01-23 | 2022-02-08 | 苏州盛科通信股份有限公司 | 一种以太网芯片中动态表项的设计方法及装置 |
-
2003
- 2003-03-28 CN CN 03121149 patent/CN1216473C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1441579A (zh) | 2003-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1216473C (zh) | 支持多个下一跳的三态内容可寻址存储器查找方法及*** | |
CA2400343C (en) | Apparatus and method for performing high-speed ip route lookup and managing routing/forwarding tables | |
US6985483B2 (en) | Methods and systems for fast packet forwarding | |
US7418505B2 (en) | IP address lookup using either a hashing table or multiple hash functions | |
US7424468B2 (en) | Internet protocol address look-up device | |
Bando et al. | FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie | |
Le et al. | Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning | |
CN1784678A (zh) | 用于高效地搜索被分成具有界大小的、有界数量的子数据库的转发数据库的***和方法 | |
Jiang et al. | A memory-balanced linear pipeline architecture for trie-based IP lookup | |
US7042884B2 (en) | Network address forwarding table lookup apparatus and method | |
Nikitakis et al. | A memory-efficient FPGA-based classification engine | |
Le et al. | Scalable high throughput and power efficient ip-lookup on fpga | |
CN1787477A (zh) | IPv6路由表的查找方法 | |
Yu et al. | Forwarding engine for fast routing lookups and updates | |
CN103457855B (zh) | 无类域间路由表建立、以及报文转发的方法和装置 | |
CN1279716C (zh) | 消除最长前缀匹配查找的并行路由查找方法及其*** | |
Veeramani et al. | Hybrid trie based partitioning of TCAM based openflow switches | |
Veeramani et al. | Efficient IP lookup using hybrid trie-based partitioning of TCAM-based open flow switches | |
Tzeng | Routing table partitioning for speedy packet lookups in scalable routers | |
KR100686732B1 (ko) | 복수의 프리픽스로부터 데이터 패킷을 라우팅하기 위한데이터베이스 생성방법과 라우팅 방법 및 그 방법을이용한 라우터 | |
Vijay et al. | Implementation of memory-efficient linear pipelined IPv6 lookup and its significance in smart cities | |
Erdem et al. | Value-coded trie structure for high-performance IPv6 lookup | |
Ray et al. | SRAM based longest prefix matching approach for multigigabit IP processing | |
US9444731B2 (en) | Methods and systems for data packet routing | |
KR20050043035A (ko) | 복수의 해슁 함수를 이용한 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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050824 |