CN112087389A - 一种报文匹配查表方法、系统、存储介质和终端 - Google Patents
一种报文匹配查表方法、系统、存储介质和终端 Download PDFInfo
- Publication number
- CN112087389A CN112087389A CN201910517975.4A CN201910517975A CN112087389A CN 112087389 A CN112087389 A CN 112087389A CN 201910517975 A CN201910517975 A CN 201910517975A CN 112087389 A CN112087389 A CN 112087389A
- Authority
- CN
- China
- Prior art keywords
- data
- groups
- matching
- tcam
- lookup
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种报文匹配查表方法、系统、存储介质和终端,其中,所述方法包括:对输入的报文的指定部位信息进行按需数据位宽压缩;从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;根据所述TCAM的匹配命中结果查找动作随机存取存储器Action RAM,由Action RAM输出查表请求使能。本发明能够节省TCAM和Action RAM。
Description
技术领域
本发明实施例涉及但不限于以太网转发和传输领域,尤指一种报文匹配查表方法、系统、存储介质和终端。
背景技术
在有线通信网络中,如承载网,交换网等,网络中的报文转发行为通常由报文的特征字段和特征流类型决定,比如二层媒体访问控制地址(Media Access Control Address,MAC)地址,虚拟局域网(Virtual Local Area Network,VLAN),三层IP地址,2.5层多协议标签交换(Multi-Protocol Label Switching,MPLS)标签等;
近些年出现的可编程匹配-动作(match-Action)转发结构,通过搜集可能的多个特征字段、多个条件的融合,再利用大位宽,大深度的三态内容寻址存储器(ternarycontent addressable memory,TCAM)匹配用户感兴趣的字段内容,发起前缀查找的请求,进而获取转发目的地址。
该match-Action转发结构将所有的判断条件,报文特征字段信息都作为匹配的TCAM键值,由于键值零碎,位宽有长有窄,条件组合多,带来的TCAM使用量急剧上升,TCAM对应的Action RAM也比较大,成本和功耗表现都不乐观。
发明内容
为了解决上述技术问题,本发明提供了一种报文匹配查表方法、系统、存储介质和终端,能够节省TCAM和Action RAM。
本申请实施例提供的报文匹配查表方法,包括:
对输入的报文的指定部位信息进行按需数据位宽压缩;
从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;
将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;
根据所述TCAM的匹配命中结果查找动作随机存取存储器Action RAM,由ActionRAM输出查表请求使能。
本申请实施例提供的报文匹配查表系统,包括:
字段压缩模块,用于对输入的报文的指定部位信息进行按需数据位宽压缩;
比较模块,从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;
匹配模块,用于将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;
查表请求模块,用于根据所述TCAM的匹配命中结果查找动作随机存取存储器Action RAM,由Action RAM输出查表请求使能。
本申请实施例还提供了一种计算机可读存储介质所述介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前所述的报文匹配查表方法的步骤。
本申请实施例还提供了一种报文匹配查表终端,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述计算机可执行指令,以实现如前所述的报文匹配查表方法的步骤。
与相关技术相比,本发明实施例包括:对输入的报文的指定部位信息进行按需数据位宽压缩;从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;根据所述TCAM的匹配命中结果查找动作随机存取存储器Action RAM,由Action RAM输出查表请求使能。本发明实施例对报文匹配查表可能需要的信息进行按需压缩,从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,实现了细分条件判断逻辑,通过二次匹配条件真值,只需深度浅,宽度窄的小型TCAM即可完成并发的查表请求,TCAM对应的Action RAM也比较小,与相关技术将所有的判断条件,报文特征字段信息都作为匹配的TCAM键值相比,具有大量节省TCAM和Action RAM的优势。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的报文匹配查表方法流程图;
图2为本发明应用示例利用两级匹配报文匹配查表的流程示意图;
图3为对图2所示的步骤201和步骤202的详细流程示意图;
图4是对图2所示的步骤203和步骤204的详细流程示意图;
图5为本发明实施例提供的报文匹配查表系统组成图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例提供了一种报文匹配查表方法,如图1所示,所述方法包括:
S101对输入的报文的指定部位信息进行按需数据位宽压缩;
所述报文的指定部位信息可以是头部信息和报文属性的描述符信息;
如将3Kbit大小的数据压缩到1Kbit,或更少的bit位宽,这些数据包含了报文匹配查表可能需要的信息;
S102从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;
比较类型包括>,<,=,!=,>=,<=;每组的比较结果为真true或假false,为真时表示组内数据满足所需的判断逻辑,即满足IF(A)或IF(B))的条件判断,其中,A和B对应本实施例中不同组的比较结果,当A或B为真时,执行后续逻辑;
步骤S101和S102为第一级匹配过程;
S103将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;
S104根据所述TCAM的匹配命中结果查找动作随机存取存储器Action RAM,由Action RAM输出查表请求使能;
步骤S103和S104为第二级匹配过程。
本实施例中,从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,包括:
从压缩数据中提取N组数据,每组2至3个数据;
对组内的数据进行两两比较或者将组内的每个数据与立即数比较,获得N组比较结果;
将N组的比较结果进行拼接形成N比特bit真值位图bitmap组合,如,将64个true/false,合并为一个64bit的2进制数据{true/false,.......,true/false}。
本实施例中,将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找,包括:
将N比特bit真值作为关键字key进行TCAM的匹配查找,TCAM的深度为N*2或N*3,TCAM的宽度为N,即支持2N或3N种任意真值混合的比较,且支持单次多个条目命中,单次多个条目的命中意味IF(A&B&C..)的条件满足。
本实施例中,所述由Action RAM输出查表请求使能,包括:
由Action RAM并发输出多个查表请求,包括需要查哪种类型的表,如hash表,直接表,acl表,还包括每种表的key值提取原则;
当多个查表请求中有相同的查表请求时,按优先级选取其中一个查表请求。
本发明实施例提供的报文匹配查表方法,对报文匹配查表可能需要的信息进行按需压缩,从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,实现了,细分条件判断逻辑,通过二次匹配条件真值,只需深度浅,宽度窄的小型TCAM即可完成并发的查表请求,TCAM对应的Action RAM也比较小,与相关技术将所有的判断条件,报文特征字段信息都作为匹配的TCAM键值相比,具有大量节省TCAM和Action RAM的优势。
下面以一个具体的应用示例对本发明实施例进行说明。
图2是本发明应用示例利用两级匹配报文匹配查表的流程示意图。
步骤201、对入口报文的头部信息和描述符信息进行按需数据位宽压缩;
步骤202、从压缩数据中提取64组数据,每组2~3个数据,在组内进行数据比较,包括>,<,=,!=,>=,<=,获得64个比较后的真值,所述真值为一个2进制数,为1时表示比较结果为真,为0时表示比较结果为假;
步骤203、对64个真值使用TCAM匹配,匹配的结果可以单个命中,也可以多个命中;
步骤204、根据命中的TCAM地址并行查找Action RAM,由Action RAM获取报文需要查找哪些转发表。
图3是对图2所示的步骤201和步骤202的详细流程示意图。
步骤301、接收业务报文的头部信息和报文的特征属性信息;
步骤302、根据用户配置,从大位宽的报文信息和特征信息内,压缩选取用户需要的768bit的局部报文字段和特征信息,这些信息用于决定查表请求的满足条件;
步骤303、从压缩后的数据中提取8bit,16bit,32bit这3种类型共64组数据;选取3种位宽的数据是希望做到比较数据位宽可选择;
步骤304、读取64组,每组2个或3个数据,共M*2+(64-M)*3个数据,其中,M组包含2个数据,(64-M)组包含3个数据;
步骤305:并行执行64组;
步骤306;每组的2个或3个数据值和设置的立即数比较,或者两两数据比较,比较逻辑可以是>、<、=、!=、>=、<=;
步骤307;每组比较结果组合选取,可以选择单个满足,同时满足,或都不满足;
步骤308;获得64组的比较结果形成64bit的真值bitmap组合。
图4是对图2所示的步骤203和步骤204的详细流程示意图:
步骤401:将64bit的判断真值作为key进行TCAM的匹配查找,TCAM的深度可以为N*2或N*3或N*4或N*5,宽度为N=64;深度是由N决定,最大可以是2^N次方,可根据实际需要选择具体深度值;
步骤402:TCAM的命中bit和命中地址,并发查找Action RAM;即允许单个或多个条件为真,实现类似IF(A)或IF(B)的判断结果;
步骤403:有命中地址查找Action RAM,由RAM的配置输出查表请求使能,可以是多个查表请求并发发起,多个Action RAM的结果有相同的查表请求时,按优先级选取其中一个请求。
本发明实施例还提供了一种报文匹配查表系统,如图5所示,所述系统包括:
字段压缩模块501,用于对输入的报文的指定部位信息进行按需数据位宽压缩;所述报文的指定部位信息可以是头部信息和报文属性的描述符信息;如将3Kbit大小的数据压缩到1Kbit,或更少的bit位宽,这些数据包含了报文匹配查表可能需要的信息;
比较模块502,从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;
比较类型包括>,<,=,!=,>=,<=;每组的比较结果为真true或假false,为真时表示组内数据满足所需的判断逻辑,即满足IF(A)或IF(B))的条件判断,其中,A和B对应本实施例中不同组的比较结果,当A或B为真时,执行后续逻辑;
匹配模块503,用于将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;
查表请求模块504,用于根据所述TCAM的匹配命中结果查找动作随机存取存储器Action RAM,由Action RAM输出查表请求使能。
本实施例中,比较模块502,用于从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,包括:
从压缩数据中提取N组数据,每组2至3个数据;
对组内的数据进行两两比较或者将组内的每个数据与立即数比较,获得N组比较结果;
将N组的比较结果进行真值拼接形成N比特bit真值位图bitmap组合,如,将64个true/false,合并为一个64bit的2进制数据{true/false,.......,true/false}。
本实施例中,匹配模块503,用于将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找,包括;
将Nbit真值作为关键字进行TCAM的匹配查找,TCAM的深度为N*2或N*3,TCAM的宽度为N,即支持2N或3N种任意真值混合的比较,且支持单次多个条目命中,单次多个条目的命中意味IF(A&B&C..)的条件满足。
本实施例中,查表请求模块504,用于由Action RAM输出查表请求使能,包括:
由Action RAM并发输出多个查表请求,包括需要查哪种类型的表,如hash表,直接表,acl表,还包括每种表的key值提取原则;;
当多个查表请求中有相同的查表请求时,按优先级选取其中一个查表请求。
本发明实施例提供的报文匹配查表系统,对报文匹配查表可能需要的信息进行按需压缩,从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,实现了,细分条件判断逻辑,通过二次匹配条件真值,只需深度浅,宽度窄的小型TCAM即可完成并发的查表请求,TCAM对应的Action RAM也比较小,与相关技术将所有的判断条件,报文特征字段信息都作为匹配的TCAM键值相比,具有大量节省TCAM和Action RAM的优势。
本申请实施例还提供了一种计算机可读存储介质,所述介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前实施例所述的报文匹配查表方法的步骤。
本申请实施例还提供了一种报文匹配查表终端,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述计算机可执行指令,以实现如前实施例所述的报文匹配查表方法的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种报文匹配查表方法,包括:
对输入的报文的指定部位信息进行按需数据位宽压缩;
从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;
将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;
根据所述TCAM的匹配命中结果查找动作随机存取存储器Action RAM,由Action RAM输出查表请求使能。
2.根据权利要求1所述的报文匹配查表方法,其特征在于,所述从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,包括:
从压缩数据中提取N组数据,每组2至3个数据;
对组内的数据进行两两比较或者将组内的每个数据与立即数比较,获得N组比较结果;
将N组的比较结果进行真值拼接形成N比特bit真值位图bitmap组合。
3.根据权利要求2所述的报文匹配查表方法,其特征在于,将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找,包括:
将Nbit真值作为关键字进行TCAM的匹配查找,TCAM的深度为N*2或N*3,TCAM的宽度为N。
4.根据权利要求1所述的报文匹配查表方法,其特征在于,所述由Action RAM输出查表请求使能,包括:
由Action RAM并发输出多个查表请求;
当多个查表请求中有相同的查表请求时,按优先级选取其中一个查表请求。
5.一种报文匹配查表系统,其特征在于,包括:
字段压缩模块,用于对输入的报文的指定部位信息进行按需数据位宽压缩;
比较模块,从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,N为大于1的整数;
匹配模块,用于将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找;
查表请求模块,用于根据所述TCAM的匹配命中结果查找动作随机存取存储器ActionRAM,由Action RAM输出查表请求使能。
6.根据权利要求5所述的报文匹配查表系统,其特征在于,比较模块,用于从压缩数据中提取N组数据,并在组内进行数据比较,获得N组比较结果,将N组比较结果进行真值拼接,包括:
从压缩数据中提取N组数据,每组2至3个数据;
对组内的数据进行两两比较或者将组内的每个数据与立即数比较,获得N组比较结果;
将N组的比较结果进行真值拼接形成N比特bit真值位图bitmap组合。
7.根据权利要求6所述的报文匹配查表系统,其特征在于,匹配模块,用于将所述真值拼接结果作为关键字进行三态内容寻址存储器TCAM的匹配查找,包括;
将Nbit真值作为关键字进行TCAM的匹配查找,TCAM的深度为N*2或N*3,TCAM的宽度为N。
8.根据权利要求5所述的报文匹配查表系统,其特征在于,查表请求模块,用于由Action RAM输出查表请求使能,包括:
由Action RAM并发输出多个查表请求;
当多个查表请求中有相同的查表请求时,按优先级选取其中一个查表请求。
9.一种计算机可读存储介质,其特征在于,所述介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求1至4中任一项所述的报文匹配查表方法的步骤。
10.一种报文匹配查表终端,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述计算机可执行指令,以实现如权利要求1至4中任一项所述的报文匹配查表方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517975.4A CN112087389B (zh) | 2019-06-14 | 2019-06-14 | 一种报文匹配查表方法、系统、存储介质和终端 |
EP20822182.0A EP3964966B1 (en) | 2019-06-14 | 2020-04-13 | Message matching table lookup method, system, storage medium, and terminal |
US17/613,793 US12149446B2 (en) | 2019-06-14 | 2020-04-13 | Message matching table lookup method, system, storage medium, and terminal |
PCT/CN2020/084405 WO2020248690A1 (zh) | 2019-06-14 | 2020-04-13 | 报文匹配查表方法、系统、存储介质和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517975.4A CN112087389B (zh) | 2019-06-14 | 2019-06-14 | 一种报文匹配查表方法、系统、存储介质和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087389A true CN112087389A (zh) | 2020-12-15 |
CN112087389B CN112087389B (zh) | 2023-01-24 |
Family
ID=73734409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910517975.4A Active CN112087389B (zh) | 2019-06-14 | 2019-06-14 | 一种报文匹配查表方法、系统、存储介质和终端 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3964966B1 (zh) |
CN (1) | CN112087389B (zh) |
WO (1) | WO2020248690A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112994886A (zh) * | 2021-05-21 | 2021-06-18 | 芯启源(南京)半导体科技有限公司 | 一种用于生成tcam搜索关键字的硬件及实现方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338528B (zh) * | 2021-12-23 | 2023-06-16 | 锐捷网络股份有限公司 | 一种表项的查询方法及装置 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809054A (zh) * | 2005-01-21 | 2006-07-26 | 华为技术有限公司 | 基于会话初始协议的消息文本解码器 |
KR100745693B1 (ko) * | 2006-09-29 | 2007-08-03 | 한국전자통신연구원 | Tcam 테이블 관리 방법 |
CN101252534A (zh) * | 2008-03-28 | 2008-08-27 | 清华大学 | 通过链路层报文合并提高移动自组织网络通信容量的方法 |
CN101350771A (zh) * | 2008-07-07 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 三态内容可寻址存储器条目免排序存储方法及其系统 |
US20100205364A1 (en) * | 2009-02-06 | 2010-08-12 | Hillel Gazit | Ternary content-addressable memory |
CN102291301A (zh) * | 2011-08-10 | 2011-12-21 | 杭州迪普科技有限公司 | 一种报文特征的匹配方法及装置 |
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN103117931A (zh) * | 2013-02-21 | 2013-05-22 | 烽火通信科技股份有限公司 | 基于哈希表和tcam表的mac地址硬件学习方法及系统 |
US20130246697A1 (en) * | 2012-03-14 | 2013-09-19 | Broadcom Corporation | Organizing Data in a Hybrid Memory for Search Operations |
US20130304983A1 (en) * | 2012-05-14 | 2013-11-14 | Alcatel-Lucent Canada, Inc. | Dynamic allocation of records to clusters in a ternary content addressable memory |
CN104866502A (zh) * | 2014-02-25 | 2015-08-26 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
US20150326480A1 (en) * | 2014-05-07 | 2015-11-12 | Alcatel Lucent | Conditional action following tcam filters |
US20160283316A1 (en) * | 2015-03-28 | 2016-09-29 | International Business Machines Corporation | Concurrent error detection in a ternary content-addressable memory (tcam) device |
US20170346765A1 (en) * | 2016-05-26 | 2017-11-30 | Arista Networks, Inc. | Variable tcam actions |
CN108512776A (zh) * | 2018-03-07 | 2018-09-07 | 深圳市风云实业有限公司 | 交换芯片中tcam表的灵活组合方法、装置及芯片 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8375165B2 (en) * | 2010-01-08 | 2013-02-12 | Board Of Trustees Of Michigan State University | Bit weaving technique for compressing packet classifiers |
CN107967219B (zh) * | 2017-11-27 | 2021-08-06 | 北京理工大学 | 一种基于tcam的大规模字符串高速查找方法 |
-
2019
- 2019-06-14 CN CN201910517975.4A patent/CN112087389B/zh active Active
-
2020
- 2020-04-13 WO PCT/CN2020/084405 patent/WO2020248690A1/zh unknown
- 2020-04-13 EP EP20822182.0A patent/EP3964966B1/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1809054A (zh) * | 2005-01-21 | 2006-07-26 | 华为技术有限公司 | 基于会话初始协议的消息文本解码器 |
KR100745693B1 (ko) * | 2006-09-29 | 2007-08-03 | 한국전자통신연구원 | Tcam 테이블 관리 방법 |
CN101252534A (zh) * | 2008-03-28 | 2008-08-27 | 清华大学 | 通过链路层报文合并提高移动自组织网络通信容量的方法 |
CN101350771A (zh) * | 2008-07-07 | 2009-01-21 | 中国人民解放军国防科学技术大学 | 三态内容可寻址存储器条目免排序存储方法及其系统 |
US20100205364A1 (en) * | 2009-02-06 | 2010-08-12 | Hillel Gazit | Ternary content-addressable memory |
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN102291301A (zh) * | 2011-08-10 | 2011-12-21 | 杭州迪普科技有限公司 | 一种报文特征的匹配方法及装置 |
US20130246697A1 (en) * | 2012-03-14 | 2013-09-19 | Broadcom Corporation | Organizing Data in a Hybrid Memory for Search Operations |
US20130304983A1 (en) * | 2012-05-14 | 2013-11-14 | Alcatel-Lucent Canada, Inc. | Dynamic allocation of records to clusters in a ternary content addressable memory |
CN103117931A (zh) * | 2013-02-21 | 2013-05-22 | 烽火通信科技股份有限公司 | 基于哈希表和tcam表的mac地址硬件学习方法及系统 |
CN104866502A (zh) * | 2014-02-25 | 2015-08-26 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
US20150326480A1 (en) * | 2014-05-07 | 2015-11-12 | Alcatel Lucent | Conditional action following tcam filters |
US20160283316A1 (en) * | 2015-03-28 | 2016-09-29 | International Business Machines Corporation | Concurrent error detection in a ternary content-addressable memory (tcam) device |
US20170346765A1 (en) * | 2016-05-26 | 2017-11-30 | Arista Networks, Inc. | Variable tcam actions |
CN108512776A (zh) * | 2018-03-07 | 2018-09-07 | 深圳市风云实业有限公司 | 交换芯片中tcam表的灵活组合方法、装置及芯片 |
Non-Patent Citations (3)
Title |
---|
GUO, Q等: "RESISTIVE TERNARY CONTENT ADDRESSABLE MEMORY SYSTEMS FOR DATA-INTENSIVE COMPUTING", 《IEEE MICRO》 * |
田乐等: "基于三态位分割的低功耗TCAM报文分类算法", 《计算机应用研究》 * |
石巍等: "三态内容寻址存储器与多核网络处理器结合的IP查找加速模型", 《上海交通大学学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112994886A (zh) * | 2021-05-21 | 2021-06-18 | 芯启源(南京)半导体科技有限公司 | 一种用于生成tcam搜索关键字的硬件及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3964966A4 (en) | 2022-06-22 |
EP3964966B1 (en) | 2024-08-14 |
WO2020248690A1 (zh) | 2020-12-17 |
EP3964966A1 (en) | 2022-03-09 |
CN112087389B (zh) | 2023-01-24 |
US20220231945A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10257092B2 (en) | CCN routing using hardware-assisted hash tables | |
US6871262B1 (en) | Method and apparatus for matching a string with multiple lookups using a single associative memory | |
CN101510855B (zh) | 一种QinQ报文的处理方法和装置 | |
CN113519144B (zh) | 用于网络设备的精确匹配和三元内容可寻址存储器(tcam)混合查找 | |
US8923298B2 (en) | Optimized trie-based address lookup | |
US7403526B1 (en) | Partitioning and filtering a search space of particular use for determining a longest prefix match thereon | |
CN105591914B (zh) | 一种openflow流表的查表方法和装置 | |
WO2021104393A1 (zh) | 多规则流分类的实现方法、设备和存储介质 | |
WO2021135491A1 (zh) | 流表的匹配方法及装置 | |
US6970971B1 (en) | Method and apparatus for mapping prefixes and values of a hierarchical space to other representations | |
CN112087389B (zh) | 一种报文匹配查表方法、系统、存储介质和终端 | |
US9485179B2 (en) | Apparatus and method for scalable and flexible table search in a network switch | |
US11700202B2 (en) | Port extender with local switching | |
US20230041395A1 (en) | Method and Device for Processing Routing Table Entries | |
US7788445B2 (en) | Intelligent allocation of programmable comparison operations for reducing the number of associative memory entries required | |
US10924403B2 (en) | Using a single cache table | |
CN101577660B (zh) | 一种标签转发表项获取、报文转发方法和装置 | |
US7941605B1 (en) | Methods and apparatus for generating a result based on a lookup result from a lookup operation using an associative memory and processing based on a discriminator portion of a lookup word | |
US20070091899A1 (en) | Data structure for storing and accessing multiple independent sets of forwarding information | |
US12149446B2 (en) | Message matching table lookup method, system, storage medium, and terminal | |
US7496035B1 (en) | Methods and apparatus for defining flow types and instances thereof such as for identifying packets corresponding to instances of the flow types | |
CN114710434B (zh) | 一种基于OpenFlow交换机的多级流表构建方法 | |
KR102229554B1 (ko) | 해시 키 생성 방법 및 그 장치 | |
US20230336643A1 (en) | Packet modification method and apparatus, computer device, and storage medium | |
CN114268585B (zh) | 基于tcam的三层路由转发的判断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |