CN102377664A - 一种基于tcam的区域匹配装置和方法 - Google Patents
一种基于tcam的区域匹配装置和方法 Download PDFInfo
- Publication number
- CN102377664A CN102377664A CN2010102647821A CN201010264782A CN102377664A CN 102377664 A CN102377664 A CN 102377664A CN 2010102647821 A CN2010102647821 A CN 2010102647821A CN 201010264782 A CN201010264782 A CN 201010264782A CN 102377664 A CN102377664 A CN 102377664A
- Authority
- CN
- China
- Prior art keywords
- tcam
- rule
- index
- rules
- index1
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于三态内容寻址存储器(TCAM)的区域匹配装置和方法,属于互联网高速报文分类技术。其主要包括TCAM存储单元、逻辑判决单元和动作单元。其方法包括:A、将分类规则库中的规则条件进行前缀扩张或者格雷码扩张后,按照优先级在TCAM中压缩存放,也就是将扩展后的二条规则在一个TCAM表项中进行存放;B、从报文头部提取查找关键字和TCAM进行匹配,得到匹配结果索引,执行相关规则关动作。针对高速报文分类在实现区域匹配时存在表项扩张的问题,本发明在降低TCAM空间需求的同时降低了TCAM的功耗。
Description
技术领域
本发明涉及互联网高速报文分类技术,尤其涉及一种基于三态内容寻址存储器(TCAM)的区域匹配装置和方法。
背景技术
互联网路由交换网络设备中,通过采用报文分类技术,可将到达的报文分组的头部信息和分类规则库中的规则条件进行匹配,以根据匹配结果实现所述分类规则的动作,包括报文转发、丢弃、排队等,以此实现访问控制、安全过滤、带宽控制等的功能。与IP路由查找过程相类似,报文分类功能处在网络设备的数据平面,由于需要对报文进行复杂的处理,因此,对网络设备的性能要求很高。另外,与IP路由查找只对报文头部的目的地址进行最长匹配的处理方式不同,报文分类则需要对报文头部的多个字段,如源地址、目的地址、源端口、目的端口和协议等字段同时进行包括前缀匹配、精确匹配和区域匹配等项工作,因此报文分类往往成为路由交换网络设备的报文处理瓶颈。
目前,业界普遍采用三态内容寻址存储器(TCAM,Ternary Content Address-able Memory)来实现高速报文分类。可将TCAM配置成36、72、144、288或576比特/位(bit)等宽度,以用于存储固定宽度的查找条件,对于32bit的IPv4路由查找,一般配置成36bit;对于IPv4报文分类,规则条件包括源地址、目的地址、源端口、目的端口和协议共104bit,一般配置成144bit的宽度。这样每个规则条件可以用一个TCAM表项来表示。与普通内存中通过地址查找内容的方式不同,TCAM是通过内容来定位地址,它将查找关键字和所有TCAM表项进行并行比较来定位关键字匹配的存储地址,然后根据得到的存储地址获取存储在快速静态随机存取存储器(SRAM)中的规则动作。TCAM的并行特性使得报文分类查找可以在固定的时钟周期内完成。目前TCAM的时钟周期可高达2ns,能够满足500MBps查找速率的要求,而由于TCAM的三态特性,需要采用多达16个晶体管来实现一个比特位的存储,这将会导致芯片面积较大而且成本较高;而TCAM的并行特性还会使得芯片功耗增大,例如一个18Mbit的TCAM功耗可达15W。因此在单板线卡设计中必须充分考虑TCAM的成本、功耗和体积因素,并充分利用TCAM的每个比特。
现有技术条件下,有效利用TCAM来实现高速报文分类的困难主要在于,TCAM不适合实现区域匹配,虽然利用TCAM的三态特性可以很容易的实现规则条件中的前缀匹配和精确匹配,比如规则条件中的地址字段和协议字段;但是规则条件中的区域字段,如端口区域等则无法直接实现。因此,还必须转换成前缀匹配和精确匹配。一个包含区域字段的规则需要转换成多个规则才能存放在TCAM中,此现象称之为区域扩张(Range Expansion),区域扩张会大大降低TCAM的使用效率。
目前,常用的利用TCAM来实现报文分类的方法通常有如下几种:
基于硬件的区域匹配方法,如采用扩展三态内容寻址存储器(E-TCAM)的方法直接修改TCAM硬件以支持区域匹配,可以降低90%的功耗,由于需要对TCAM硬件进行修改,因而会增加每比特的成本,且还存在兼容性和扩展性问题,短期内无法大规模部署和实现。
规则库无关的区域匹配方法,对每个区域单独进行转换,无需考虑规则库里各种区域的分布以及和其他区域的关系。通过前缀扩展(PE:Prefix Expansion)方法可将区域转换成若干个前缀,每个前缀对应一个TCAM表项,在最坏情况下一个区域需要转换成2(W-1)个前缀,其中W为区域字段的长度,区域Rw=[1,2w-2]就是这种情况。对于长度为16的源端口和目的端口来说,最坏情况下一条规则需要转换成(2*16-2)2=900个TCAM表项,对于真实分类规则库转换显示平均会导致6倍的表项扩张。采用数据库独立区域预编码(DIRPE:DatabaseIndependent Range PreEncoding)方法可利用TCAM的额外比特对区域进行独立编码。假定TCAM的额外比特为2w,则每个区域只需要一个TCAM表项就可完成转换,由于TCAM的额外比特数有限,在配置为144bit宽度时,额外比特数仅为40,为减少对TCAM额外比特的需求,提出了对区域字段进行分段编码以及结合规则库相关的编码方法,增加了每个区域需要的TCAM表项数目,因此、该方法的效率和区域字段的长度、TCAM的额外比特数量相关。格雷码(SRGE,Short Range Gray Encoding)的区域编码方法利用了格雷码的相邻编码之间只有一个bit不同从而可以合并成一个TCAM表项特点(将该不同bit用通配符“*”表示),在最坏情况下,一个区域内的匹配需要转换成2(W-2)个前缀了,该方法无需利用TCAM的额外比特,对于短的区域比较有效。
规则库相关的区域匹配方法:对每个单独的区域用一个额外的TCAM比特来表示的规则库相关的区域匹配方法,只需要一个TCAM表项就可以完成一个区域规则的表示。由于目前规则库中的单独区域在增加,现在已经超过300个,而且还在不断增加,而额外的TCAM比特数量非常有限,分段编码方法(Region-based Encoding)增加TCAM表项从而减少对TCAM额外比特的需求。为了进一步对区域进行有效的编码并减少编码的比特数,层次化编码方法在每个层次中,区域都是不相交的,对每个层次中的区域进行单独编码,假定层Li中的不相交区域个数为Ni,则需要的比特数为log2Ni,而前述方法终每个区域都需要一个TCAM比特位,因此,减少了每个区域需要的bit位。
综上所述,现有的利用TCAM来完成高速报文分类的区域匹配方法,存在规则条目区域扩张较大、受限于TCAM空闲比特、功耗较高等缺点。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于三态内容寻址存储器(TCAM)的区域匹配装置和方法,以在减少表项扩张的同时降低对TCAM的空间需求,同时通过对查找算法进行优化,以降低TCAM芯片的功耗。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于三态内容寻址存储器TCAM的区域匹配装置,该装置主要包括:TCAM存储单元、逻辑判决单元和动作单元;其中,
TCAM存储单元,用于对规则库中包含区域的规则进行前缀扩展或格雷码扩展,并将扩展后的规则在TCAM中按照规则优先级在TCAM中压缩存放,即将扩展后的两条规则在一个TCAM表项中进行存放;
逻辑判决单元,用于采用压缩三态内容寻址存储器C-TCAM法,对经过二轮匹配后确定匹配的结果进行比较,并选择低返回索引值小者作为最终报文分类结果;
动作单元,用于对报文根据匹配的规则条件执行对应的动作。
一种基于TCAM的区域匹配方法,该匹配方法包括:
A、将分类规则库中的规则条件进行前缀扩张或者格雷码扩张后,按照优先级在TCAM压缩存放;
B、从报文头部提取查找关键字KEY和TCAM进行匹配,得到匹配结果索引,执行相关规则关动作。
其中,所述步骤A进一步包括:
A1、使每个原始的分类规则在扩展后的个数为偶数,若所述个数为奇数,则将最后的扩展规则复制一份;
A2、将扩展后的规则按每两个一组在TCAM中进行存放,区域字段以外的字段只需存放一份拷贝。
其中,步骤B所述从报文头部提取查找关键字KEY和TCAM进行匹配,进一步包括:
B 1、第一轮匹配,在纵向方向上选择两个规则中的前一个规则所占用的比特位,横向上选择所有的TCAM表项参与比较匹配,得到索引1(Index1);
B2、第二轮匹配,在纵向上选择二个规则中的后一个规则所占用的bit位,横向上选择索引1(Index1)所在分块Block及其以上的Block的表项参与比较,得到索引2(Index2);
B3、选择所述索引1(Index1)与索引2(Index2)中较小的作为匹配结果,并按照所述匹配结果执行相应的规则动作。
一种利用权利要求2所述方法进行报文分类匹配的方法,该方法包括:
C、在纵向上用全局掩码寄存器GMR选择两个规则中的前一个规则所占用的比特位,在横向上用分区掩码寄存器BMR选择所有的块,取查找关键字KEY的值与TCAM进行匹配,得到索引1(Index1);
D、在纵向上选择所述两个规则中的后一个规则占用的比特位,计算索引1(Index1)所在的当前块号,所述当前块号等于索引1(Index1)所在的块号;
E、在横向上再选择所述当前块号及其以上的块,取查找KEY值与TCAM进行匹配,得到索引2(Index2);
F、判断所述索引1(Index1)与索引2(Index2)的大小,若索引1(Index1)小于索引2(Index2),则返回索引1(Index1)作为查找结果;否则,返回索引2(Index2)作为查找结果。
本发明所提供的基于TCAM的区域匹配装置和方法,具有以下优点:
本发明方法利用TCAM芯片的特性,即分别利用全局掩码寄存器(GMR)和分区掩码寄存器(BMR)的特性,通过对前缀扩展或格雷码扩展后的分类规则在TCAM中压缩存放,并充分利用TCAM的空闲bit,最坏情况下的扩张因子减少为原先的一半,降低了规则库扩张因子和规则库区域冗余因子,同时,在查找匹配时,通过GMR和BMR寄存器动态的选择参与比较的比特位和参与比较的TCAM表项,减少了参与匹配的TCAM表项个数,减少了TCAM的空间需求,从而降低TCAM芯片的功耗。
附图说明
图1为本发明基于TCAM的区域匹配装置示意图;
图2为本发明基于TCAM的分类规则放置方法流程示意图;
图2A为本发明支持区域匹配的基于TCAM的分类规则放置方法具体过程图(实施例一);
图3为应用本发明所述基于TCAM的分类规则放置方法进行报文分类查找的过程示意图。
具体实施方式
下面结合附图及本发明的实施例对本发明的装置和方法作进一步详细的说明。
本发明的基本思想:为有效利用TCAM的存储空间,利用规则库无关的区域匹配方法和具体规则库无关性在规则更新方面的优势,提出一种基于TCAM的规则库无关的区域匹配方法,即本发明的压缩三态内容寻址存储器(C-TCAM)方法,具体为:将一条规则经前缀扩展转换(或经格雷码转换)成多条规则后,仅区域字段不一样(其非区域字段内容不变)。
例如,基于TCAM的报文分类在实现范围匹配时存在表项扩张问题,最坏情况下,基于前缀扩展方法PE的范围扩张因子为2(W-1),基于格雷码表示方法即短区域格雷码的范围扩张因子为2(W-2),其中W为范围字段的长度,利用本发明C-TCAM方法,可以将2个扩展后的TCAM表项压缩成1个,最坏情况下表项扩张比因子为W-1者W-2。
因此,可利用报文分类时所述非区域字段内容不变的性质,将多条规则存放在一个TCAM表项中,而且,只需保存一份非区域字段的拷贝,如对于IPv4报文分类来说,采用144比特TCAM位宽,非区域字段包括源地址、目的地址、协议字段共72bit,区域字段包括源端口、目的端口共32bit,还剩余40bit可以再保存一份源端口、目的端口字段。这样即可将二条规则压缩在一个TCAM表项中,以可实现成倍地减少最坏情况规则扩张的现象。考虑到现有商用TCAM芯片均支持全局掩码寄存器(GMR,Global Mask Register)和分区掩码寄存器(BMR,Block Mask Register),在查找过程中,利用GMR寄存器可以从纵向确定TCAM芯片中参与比较的比特位,将BMR寄存器用于支持从横向上将TCAM芯片进行分区和支持分区禁用。
在报文结构中,报头由若干个字段组成,每个字段包含若干个bit位。查找关键字KEY是从报文头部提取的K个字段的组合。查找关键字需要和存储在分类规则库中的规则条件进行匹配。
所述规则,包含规则条件和规则动作。所述规则条件是由相应的K个字段组成,如果报文P的K个关键字字段和规则R的K个规则条件匹配,则认为报文P匹配规则R,相应会对报文P采取规则R规定的规则动作。每个规则字段f可以指定三种类型的匹配条件:
1)精确匹配:关键字字段和规则条件字段指定的值相等;
2)前缀匹配:规则条件字段是关键字字段的前缀;
3)区域匹配:关键字字段在规则条件指定的区域中,如规则条件指定的区域为[s,e],s和e为整数,且s<e,对于IP端口号来说,该字段长度W=16。
所述分类规则库,可以存放在TCAM中以实现高速报文分类,所述规则在TCAM中按照优先级从高到低排序存放,高优先级存放在TCAM低地址区,TCAM总是返回第一个匹配的结果(低地址区)。TCAM的每个bit支持‘0’、‘1’和‘*’三种状态,可以直接存放所述精确匹配规则条件和前缀匹配规则条件,而区域匹配则需要转换成相应的精确匹配和前缀匹配,因此一条规则R需要采用转换方法E转换成多个TCAM表项TCAMR[1,nR],区域R的扩张因子RE=nR。假定n(D)为分类规则库D的规则数量,nE(D)采用转换方法E对分类规则库进行转换后所有TCAM表项的数目,则分类规则库D的扩张因子DE=nE(D)/n(D)。
由于规则库里存在不包含区域匹配的规则,为进一步考察区域规则转换的有效性,假定r(D)表示规则库中包含区域的规则数,rE(D)表示对这些包含区域的规则进行转换后的TCAM表项数,FRE(D)=(rE(D)-r(D))/r(D)表示规则库D的区域冗余因子,而某条规则R的区域冗余因子FRE(R)=rE(R)-1,也就是规则R需要的额外的TCAM表项的个数。
图1为本发明基于TCAM的区域匹配装置示意图,如图1所示,该区域匹配装置主要包括TCAM存储单元11、逻辑判决单元12和动作单元13;其中,
TCAM存储单元11,用于存放经过前缀扩展或格雷码扩展后的规则,扩展后的规则在TCAM中按照规则优先级排序并进行压缩存放,也就是将扩展后的两条规则在一个TCAM表项中进行存放。
如图1所示,可在每行TCAM中存放2条规则,这2条规则除了源端口和目的端口不同外,其他的包括源地址、目的地址、协议和规则动作均相同,因此除了源端口和目的端口外的其他字段只需要保存一份拷贝,降低了对TCAM存储空间的需求。
图中的GMR用于从纵向上选择和查找关键字进行匹配的bit位,当选择GMR=GMR0+GMR1+GMR2,则GMR3和GMR4对应的bit位不参与匹配比较;当选择GMR=GMR0+GMR2+GMR3,则GMR1和GMR4对应的bit位不参与匹配比较,可以看出GMR4对应的bit位为空闲bit,在两种情况下都不参与比较。对于IPv4报文分类,TCAM配置为144bit宽度,GMR4为8bit,某些规则条件还包括TCP标志字段,这时所述空闲bit可以进一步被利用。
图中的BMR用于从横向上选择参与匹配比较的TCAM表项,现有商用TCAM芯片均支持分区禁用(Patition Disable),因此可只选择必须的块(Block),如图所示的Block0或Block1参与匹配比较,从而降低TCAM功耗。
逻辑判决单元12,由于规则存在重叠关系,采用本发明C-TCAM方法需要经过二轮匹配才能确定匹配的规则,为保证结果正确(选择优先级高的),C-TCAM需要查找匹配需要进行二轮匹配,判决逻辑用于对二次匹配的结果进行比较,并选择低地址区的匹配结果即返回索引值小者作为最终报文分类结果。
因此,在第二轮匹配时,通过BMR寄存器只对第一轮匹配结果所在TCAM的Block及其以上的Block进行匹配,减少了参与匹配的TCAM表项个数,从而降低TCAM芯片的功耗。
动作单元13,用于根据报文的规则条件执行对应的动作。
参考图1,假定规则库D包含R0到R6共7条规则,并且按照优先级库进行排序,经过前缀扩展编码或者格雷码编码转换后,R0转换成了4条规则:R0[0]、R0[1]、R0[2]、R0[3]),R2和R5还是保持1条规则,其他规则均转换成2条规则,则转换后的规则存储如图1所示,R0的4个TCAM表项占据2行TCAM(R0[0]、R0[1]占据第一行,R0[2]、R0[3]占据第二行),其他规则均占据1行TCAM,需要注意的是虽然R2和R5只各需要一个TCAM表项,但依然在GMR3对应的bit位存放了R2和R5对应的源端口和目的端口,而且和GMR1对应的源端口和目的端口相同。
图2为本发明基于TCAM的分类规则放置方法流程示意图,如图2所示,该方法包括如下步骤:
步骤21、将分类规则库中的规则条件进行前缀扩张或者格雷码扩张后,按照优先级在TCAM中压缩存放。
具体为:使每个原始的分类规则库在扩展后的个数为偶数,若扩展后的个数为奇数的,则将最后的扩展规则复制一份;
然后再将扩展后的规则按每两个一组在TCAM中进行存放,区域字段以外的字段只需存放一份拷贝。
步骤22、从报文头部提取查找关键字和TCAM进行匹配,得到匹配结果索引,执行相关规则关动作。
所述步骤22需要经过二轮匹配,该匹配过程为:
首先,第一轮匹配时,在纵向上选择两个规则中的前一个规则所占用的比特位,横向上选择所有的TCAM表项,参与比较匹配,得到索引1(Index1);
其次,第二轮匹配时,在纵向上选择两个规则中的后一个规则占用的bit位,横向上选择索引1(Index1)所在分块(Block)及其以上的Block的表项参与比较,得到索引2(Index2);
再次,选择Index1和Index2中较小的一个作为匹配结果;
最后,按上述匹配结果执行相应的规则动作,如转发、丢弃、排队等。
结合图1中所示基于TCAM的区域匹配装置,具体的分类规则存放方法如图2A所示的流程图(实施例一),包括:
步骤201、将规则库D中的规则按照优先级从高到低依次排序,如R0、R1...,、Rn-1。
步骤202、对每条规则Ri,进行前缀扩展或格雷码转换,得到Ri[0,mi],并且保证mi为奇数,否则增加Ri[mi]=Ri[mi-1]。
步骤203、初始化TCAM索引和规则表索引,使TCAM-Index=0,Rule-Index=0。
步骤204、按照TCAM-Index和Rule-Index取得规则索引和TCAM存放位置索引,将Rule-Index对应的扩展转换后的规则按照每两个一组依次存放在TCAM中,更新TCAM-Index和Rule-Index,然后执行步骤205。
步骤205、判断规则是否处理完成:即判断Rule-Index是否等于n-1,若是,执行步骤106结束该存放过程;否则,返回步骤204。
图3为应用本发明所述基于TCAM的分类规则放置方法进行报文分类查找的过程示意图,如图3所示,该报文分类查找过程包括:
步骤301、在纵向上选择两个规则中的前一个规则所占用的bit位,GMR=GMR0+GMR1+GMR2;
步骤302、在横向上选择所有的Block,即BMR=All Blocks;
步骤303、取查找关键字(KEY)值和TCAM进行匹配,得到Index1=Match(KEY,TCAM);
步骤304、纵向上选择所述两个规则中的后一个规则占用的bit位,GMR=GMR0+GMR3+GMR2;
步骤305、计算Index1所在的当前Block号,所述当前Block号Blockcurrent=Index1所在的Block号;
步骤306、横向上再选择Blockcurrent及其以上的Block:BMR=[0...Blockcurrent];
步骤307、取查找KEY值和TCAM进行匹配,得到Index2=Match(KEY,TCAM);
步骤308、判断Index1和Index2的大小,即比较Index1是否小于Index2?若否,则执行步骤310;否则,则执行步骤309;
步骤309、返回Index1作为查找结果,然后结束。
步骤310、返回Index2作为查找结果,然后结束。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (5)
1.一种基于三态内容寻址存储器TCAM的区域匹配装置,其特征在于,该装置主要包括:TCAM存储单元、逻辑判决单元和动作单元;其中,
TCAM存储单元,用于对规则库中包含区域的规则进行前缀扩展或格雷码扩展,并将扩展后的规则在TCAM中按照规则优先级在TCAM中压缩存放,即将扩展后的两条规则在一个TCAM表项中进行存放;
逻辑判决单元,用于采用压缩三态内容寻址存储器C-TCAM法,对经过二轮匹配后确定匹配的结果进行比较,并选择低返回索引值小者作为最终报文分类结果;
动作单元,用于对报文根据匹配的规则条件执行对应的动作。
2.一种基于TCAM的区域匹配方法,其特征在于,该匹配方法包括:
A、将分类规则库中的规则条件进行前缀扩张或者格雷码扩张后,按照优先级在TCAM压缩存放;
B、从报文头部提取查找关键字KEY和TCAM进行匹配,得到匹配结果索引,执行相关规则关动作。
3.根据权利要求2所述的基于TCAM的区域匹配方法,其特征在于,所述步骤A进一步包括:
A1、使每个原始的分类规则在扩展后的个数为偶数,若所述个数为奇数,则将最后的扩展规则复制一份;
A2、将扩展后的规则按每两个一组在TCAM中进行存放,区域字段以外的字段只需存放一份拷贝。
4.根据权利要求2所述的基于TCAM的区域匹配方法,其特征在于,步骤B所述从报文头部提取查找关键字KEY和TCAM进行匹配,进一步包括:
B1、第一轮匹配,在纵向方向上选择两个规则中的前一个规则所占用的比特位,横向上选择所有的TCAM表项参与比较匹配,得到索引1(Index1);
B2、第二轮匹配,在纵向上选择二个规则中的后一个规则所占用的bit位,横向上选择索引1(Index1)所在分块Block及其以上的Block的表项参与比较,得到索引2(Index2);
B3、选择所述索引1(Index1)与索引2(Index2)中较小的作为匹配结果,并按照所述匹配结果执行相应的规则动作。
5.一种利用权利要求2所述方法进行报文分类匹配的方法,其特征在于,该方法包括:
C、在纵向上用全局掩码寄存器GMR选择两个规则中的前一个规则所占用的比特位,在横向上用分区掩码寄存器BMR选择所有的块,取查找关键字KEY的值与TCAM进行匹配,得到索引1(Index1);
D、在纵向上选择所述两个规则中的后一个规则占用的比特位,计算索引1(Index1)所在的当前块号,所述当前块号等于索引1(Index1)所在的块号;
E、在横向上再选择所述当前块号及其以上的块,取查找KEY值与TCAM进行匹配,得到索引2(Index2);
F、判断所述索引1(Index1)与索引2(Index2)的大小,若索引1(Index1)小于索引2(Index2),则返回索引1(Index1)作为查找结果;否则,返回索引2(Index2)作为查找结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010264782.1A CN102377664B (zh) | 2010-08-27 | 2010-08-27 | 一种基于tcam的区域匹配装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010264782.1A CN102377664B (zh) | 2010-08-27 | 2010-08-27 | 一种基于tcam的区域匹配装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102377664A true CN102377664A (zh) | 2012-03-14 |
CN102377664B CN102377664B (zh) | 2015-06-10 |
Family
ID=45795659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010264782.1A Expired - Fee Related CN102377664B (zh) | 2010-08-27 | 2010-08-27 | 一种基于tcam的区域匹配装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102377664B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401777A (zh) * | 2013-08-21 | 2013-11-20 | 中国人民解放军国防科学技术大学 | Openflow的并行查找方法和系统 |
CN103905311A (zh) * | 2012-12-28 | 2014-07-02 | 华为技术有限公司 | 流表匹配方法和装置以及交换机 |
CN104410573A (zh) * | 2014-11-26 | 2015-03-11 | 中国电子科技集团公司第四十一研究所 | 一种基于tcam的包匹配方法 |
CN104584492A (zh) * | 2013-08-28 | 2015-04-29 | 华为技术有限公司 | 报文处理方法、设备及系统 |
WO2015096359A1 (zh) * | 2013-12-25 | 2015-07-02 | 深圳市中兴微电子技术有限公司 | 一种基于索引分配的数据转发方法及装置 |
CN105515997A (zh) * | 2015-12-07 | 2016-04-20 | 刘航天 | 基于bf_tcam实现零范围扩张的高效范围匹配方法 |
CN105704035A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 报文匹配处理方法及装置 |
CN105791107A (zh) * | 2014-12-22 | 2016-07-20 | 中兴通讯股份有限公司 | 一种acl规则的配置方法、匹配方法及相关装置 |
CN103475584B (zh) * | 2012-06-07 | 2017-08-01 | 南京中兴软件有限责任公司 | 三态内容寻址存储器(tcam)查询方法和装置 |
CN109547310A (zh) * | 2018-11-05 | 2019-03-29 | 中国航空工业集团公司西安飞机设计研究所 | 一种模块化的总线数据接收方法 |
CN109951425A (zh) * | 2017-12-21 | 2019-06-28 | 张家界航空工业职业技术学院 | 基于fpga的tcp流状态完整性检测方法 |
CN111177198A (zh) * | 2019-12-27 | 2020-05-19 | 芯启源(南京)半导体科技有限公司 | 一种用于芯片的内容查找方法 |
CN111984835A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种IPv4掩码五元组规则存储压缩方法及装置 |
CN112087389A (zh) * | 2019-06-14 | 2020-12-15 | 深圳市中兴微电子技术有限公司 | 一种报文匹配查表方法、系统、存储介质和终端 |
CN112118186A (zh) * | 2020-08-28 | 2020-12-22 | 深圳市风云实业有限公司 | 一种交换芯片路由表项存储方法、转发方法及配置方法 |
CN112528094A (zh) * | 2020-12-04 | 2021-03-19 | 国网山东省电力公司信息通信公司 | 一种基于分层映射的多字段范围tcam编码方法及系统 |
CN113392039A (zh) * | 2021-06-09 | 2021-09-14 | 新华三信息安全技术有限公司 | 一种数据存储、查找方法及装置 |
CN114356418A (zh) * | 2022-03-10 | 2022-04-15 | 之江实验室 | 一种智能表项控制器及控制方法 |
CN114827030A (zh) * | 2022-03-26 | 2022-07-29 | 西安电子科技大学 | 一种基于折叠sram的流分类装置及表项压缩方法 |
CN116156026A (zh) * | 2023-04-20 | 2023-05-23 | 中国人民解放军国防科技大学 | 一种支持rmt的解析器、逆解析器、解析方法及交换机 |
CN117097821A (zh) * | 2023-10-19 | 2023-11-21 | 深圳市佳贤通信科技股份有限公司 | 基于tr069协议的基站报文参数更新存储方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862534A (zh) * | 2005-11-24 | 2006-11-15 | 华为技术有限公司 | 静态范围匹配表的管理维护方法 |
-
2010
- 2010-08-27 CN CN201010264782.1A patent/CN102377664B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862534A (zh) * | 2005-11-24 | 2006-11-15 | 华为技术有限公司 | 静态范围匹配表的管理维护方法 |
Non-Patent Citations (2)
Title |
---|
孙毅等: "报文分类算法研究", 《计算机应用研究》 * |
李维等: "基于多域并行编码的高速IPv6流分类", 《电子学报》 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475584B (zh) * | 2012-06-07 | 2017-08-01 | 南京中兴软件有限责任公司 | 三态内容寻址存储器(tcam)查询方法和装置 |
CN103905311B (zh) * | 2012-12-28 | 2017-02-22 | 华为技术有限公司 | 流表匹配方法和装置以及交换机 |
CN103905311A (zh) * | 2012-12-28 | 2014-07-02 | 华为技术有限公司 | 流表匹配方法和装置以及交换机 |
WO2014101777A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 流表匹配方法和装置以及交换机 |
CN103401777A (zh) * | 2013-08-21 | 2013-11-20 | 中国人民解放军国防科学技术大学 | Openflow的并行查找方法和系统 |
CN103401777B (zh) * | 2013-08-21 | 2015-12-02 | 中国人民解放军国防科学技术大学 | Openflow的并行查找方法和系统 |
US10749997B2 (en) | 2013-08-28 | 2020-08-18 | Huawei Technologies Co., Ltd. | Prefix matching based packet processing method, switching apparatus, and control apparatus |
US10057392B2 (en) | 2013-08-28 | 2018-08-21 | Huawei Technologies Co., Ltd. | Packet processing method, device and system |
CN104584492A (zh) * | 2013-08-28 | 2015-04-29 | 华为技术有限公司 | 报文处理方法、设备及系统 |
CN104584492B (zh) * | 2013-08-28 | 2018-03-13 | 华为技术有限公司 | 报文处理方法、设备及系统 |
WO2015096359A1 (zh) * | 2013-12-25 | 2015-07-02 | 深圳市中兴微电子技术有限公司 | 一种基于索引分配的数据转发方法及装置 |
CN105704035A (zh) * | 2014-11-25 | 2016-06-22 | 中兴通讯股份有限公司 | 报文匹配处理方法及装置 |
CN105704035B (zh) * | 2014-11-25 | 2020-02-14 | 中兴通讯股份有限公司 | 报文匹配处理方法及装置 |
CN104410573B (zh) * | 2014-11-26 | 2017-07-21 | 中国电子科技集团公司第四十一研究所 | 一种基于tcam的包匹配方法 |
CN104410573A (zh) * | 2014-11-26 | 2015-03-11 | 中国电子科技集团公司第四十一研究所 | 一种基于tcam的包匹配方法 |
CN105791107A (zh) * | 2014-12-22 | 2016-07-20 | 中兴通讯股份有限公司 | 一种acl规则的配置方法、匹配方法及相关装置 |
CN105515997B (zh) * | 2015-12-07 | 2018-07-06 | 刘航天 | 基于bf_tcam实现零范围扩张的高效范围匹配方法 |
CN105515997A (zh) * | 2015-12-07 | 2016-04-20 | 刘航天 | 基于bf_tcam实现零范围扩张的高效范围匹配方法 |
CN109951425B (zh) * | 2017-12-21 | 2021-03-23 | 张家界航空工业职业技术学院 | 基于fpga的tcp流状态完整性检测方法 |
CN109951425A (zh) * | 2017-12-21 | 2019-06-28 | 张家界航空工业职业技术学院 | 基于fpga的tcp流状态完整性检测方法 |
CN109547310A (zh) * | 2018-11-05 | 2019-03-29 | 中国航空工业集团公司西安飞机设计研究所 | 一种模块化的总线数据接收方法 |
CN109547310B (zh) * | 2018-11-05 | 2021-06-01 | 中国航空工业集团公司西安飞机设计研究所 | 一种模块化的总线数据接收方法 |
CN112087389A (zh) * | 2019-06-14 | 2020-12-15 | 深圳市中兴微电子技术有限公司 | 一种报文匹配查表方法、系统、存储介质和终端 |
WO2020248690A1 (zh) * | 2019-06-14 | 2020-12-17 | 深圳市中兴微电子技术有限公司 | 报文匹配查表方法、系统、存储介质和终端 |
CN111177198A (zh) * | 2019-12-27 | 2020-05-19 | 芯启源(南京)半导体科技有限公司 | 一种用于芯片的内容查找方法 |
CN111984835A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种IPv4掩码五元组规则存储压缩方法及装置 |
CN111984835B (zh) * | 2020-08-20 | 2022-07-05 | 国家计算机网络与信息安全管理中心 | 一种IPv4掩码五元组规则存储压缩方法及装置 |
CN112118186A (zh) * | 2020-08-28 | 2020-12-22 | 深圳市风云实业有限公司 | 一种交换芯片路由表项存储方法、转发方法及配置方法 |
CN112118186B (zh) * | 2020-08-28 | 2022-11-01 | 深圳市风云实业有限公司 | 一种交换芯片路由表项存储方法、转发方法及配置方法 |
CN112528094A (zh) * | 2020-12-04 | 2021-03-19 | 国网山东省电力公司信息通信公司 | 一种基于分层映射的多字段范围tcam编码方法及系统 |
CN113392039A (zh) * | 2021-06-09 | 2021-09-14 | 新华三信息安全技术有限公司 | 一种数据存储、查找方法及装置 |
CN113392039B (zh) * | 2021-06-09 | 2023-06-20 | 新华三信息安全技术有限公司 | 一种数据存储、查找方法及装置 |
CN114356418A (zh) * | 2022-03-10 | 2022-04-15 | 之江实验室 | 一种智能表项控制器及控制方法 |
CN114827030A (zh) * | 2022-03-26 | 2022-07-29 | 西安电子科技大学 | 一种基于折叠sram的流分类装置及表项压缩方法 |
CN114827030B (zh) * | 2022-03-26 | 2023-04-07 | 西安电子科技大学 | 一种基于折叠sram的流分类装置及表项压缩方法 |
CN116156026A (zh) * | 2023-04-20 | 2023-05-23 | 中国人民解放军国防科技大学 | 一种支持rmt的解析器、逆解析器、解析方法及交换机 |
CN117097821A (zh) * | 2023-10-19 | 2023-11-21 | 深圳市佳贤通信科技股份有限公司 | 基于tr069协议的基站报文参数更新存储方法 |
CN117097821B (zh) * | 2023-10-19 | 2023-12-19 | 深圳市佳贤通信科技股份有限公司 | 基于tr069协议的基站报文参数更新存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102377664B (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377664B (zh) | 一种基于tcam的区域匹配装置和方法 | |
Zheng et al. | A TCAM-based distributed parallel IP lookup scheme and performance analysis | |
CN105635343B (zh) | 应用于dns查询的ip地址列表存储和查询方法 | |
US8780926B2 (en) | Updating prefix-compressed tries for IP route lookup | |
Van Lunteren et al. | Fast and scalable packet classification | |
US8295286B2 (en) | Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware | |
US7019674B2 (en) | Content-based information retrieval architecture | |
US6985483B2 (en) | Methods and systems for fast packet forwarding | |
Bando et al. | FlashTrie: beyond 100-Gb/s IP route lookup using hash-based prefix-compressed trie | |
CN113519144B (zh) | 用于网络设备的精确匹配和三元内容可寻址存储器(tcam)混合查找 | |
Meiners et al. | Hardware based packet classification for high speed internet routers | |
CN103546378A (zh) | 基于tcam的范围多匹配2级分层查找方法 | |
CN102271087A (zh) | 一种路由查找方法和装置 | |
CN103107945A (zh) | 一种快速查找ipv6路由的系统及方法 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
US11327974B2 (en) | Field variability based TCAM splitting | |
Le et al. | Memory-efficient and scalable virtual routers using FPGA | |
CN101286935A (zh) | 一种基于ip地址范围的路由查找方法 | |
CN101277252A (zh) | 多分支Trie树的遍历方法 | |
Veeramani et al. | Minimization of flow table for TCAM based openflow switches by virtual compression approach | |
CN101515900B (zh) | 基于前缀覆盖级别的二分ip路由查找方法 | |
Erdem et al. | Hierarchical hybrid search structure for high performance packet classification | |
CN105959224B (zh) | 基于比特向量的高速路由查找装置及方法 | |
CN105791132B (zh) | 一种基于多路搜索树路由查找的表项更新方法及装置 | |
CN100493042C (zh) | 可扩展路由器系统控制平面中高性能的节点间通信方法 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170323 Address after: 430074 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four Patentee after: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd. Address before: No. 5 light communication building 430074 Hubei province Wuhan Dongxin road 3 floor Patentee before: WUHAN FIBERHOME NETWORKS Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150610 |