CN113660165A - 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 - Google Patents
一种基于tcam的掩码规则匹配方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113660165A CN113660165A CN202110910023.6A CN202110910023A CN113660165A CN 113660165 A CN113660165 A CN 113660165A CN 202110910023 A CN202110910023 A CN 202110910023A CN 113660165 A CN113660165 A CN 113660165A
- Authority
- CN
- China
- Prior art keywords
- storage space
- tcam
- mask rule
- mask
- user data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/695—Types of network addresses using masks or ranges of addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于TCAM的掩码规则匹配方法、电子设备和存储介质本发明将掩码规则拆分为第一掩码规则和第二掩码规则,创建第一存储空间和第二存储空间,将第一掩码规则和标志位存储至第一存储空间User Data结构,向TCAM写入第一存储空间,将第二掩码规则和标志位存储至第二存储空间的Data base结构,向TCAM写入第二存储空间,并基于TCAM对报文进行掩码规则匹配。本发明使得TCAM存储空间匹配长度实现更长的匹配。
Description
技术领域
本发明涉及通信领域,具体涉及一种基于TCAM的掩码规则匹配方法、电子设备和存储介质。
背景技术
现有网络数据流量处理设备中,掩码规则功能通常由TCAM芯片来实现。TCAM(ternary content addressable memory)是一种三态内容寻址存储器。一般存储器中每个bit都只能表示两个值:0或1,而TCAM每个bit可表示三个值:0、1和X,X表示不关心,这个X其实是靠一个对应的mask bit来控制的,实际上TCAM每个bit物理上是2个bit。正是这种“不关心”状态位,使得基于任意掩码匹配成为可能,达到实现模糊查找匹配的目的。
基于TCAM的掩码表项资源可以分为Database和User Data两部分,其中Database存的是表项匹配内容,Database存的是表项匹配内容使用TCAM三态存储资源,User Data存的是匹配后返回的结果。一般TCAM芯片对于Database部分会有最小bit数对齐的要求。TCAM最小表项匹配长度为80bits(10字节),最大表项匹配长度为640bits(80字节),可配置表项匹配长度为10字节、20字节、40字节、60字节、80字节。IPv4掩码五元组规则由IPv4源IP、目的IP、源端口、目的端口、协议号组成,所以IPv4掩码五元组规则字段长度为13字节。因为掩码五元组规则需要用TCAM查找来实现,所以虽然IPv4掩码五元组规则字段长度为13字节,但是实际占用的TCAM关键字需要20字节存储空间。IPv6掩码五元组规则由IPv6源IP、目的IP、源端口、目的端口、协议号组成,所以IPv6掩码五元组规则字段长度为37字节。因为掩码五元组规则需要用TCAM查找来实现,所以虽然IPv6掩码五元组规则字段长度为37字节,但是实际占用的TCAM关键字需要40字节存储空间。然而,现有技术的TCAM存储空间匹配长度仍需要提高。
发明内容
为解决现有技术存在的问题,本发明提供了一种基于TCAM的掩码规则匹配方法、电子设备和存储介质。本发明的技术方案如下。
一种基于TCAM的掩码规则匹配方法,包括:
将掩码规则拆分为第一掩码规则和第二掩码规则;
创建第一存储空间和第二存储空间,其中,所述第一存储空间和第二存储空间包括Data base结构和User Data结构;Data base为关键字,User Data为查找结果;
设置标志位;
将第一掩码规则和标志位存储至第一存储空间User Data结构,向TCAM写入第一存储空间;
将第二掩码规则和标志位存储至第二存储空间的Data base结构,向TCAM写入第二存储空间;
基于TCAM对报文进行掩码规则匹配。
优选的,基于TCAM对报文进行掩码规则匹配包括:从报文中先提取报文的第一预设字节的信息和第二预设字节的信息,基于第一预设字节的信息组成第一存储空间的Database,并送入TCAM查询,得到第一存储空间的User Data;
则将第一存储空间的User Data的标志位和第二预设字节的信息组成第二存储空间的Data base,并送入TCAM查询,得到第二存储空间的User Data。
优选的,第一存储空间等于第一预设字节,且为80字节,第二存储空间等于第二预设字节,且为48字节,标志位为2字节。
一种电子设备,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行上述方法。
一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行上述方法。
相对于现有技术,本发明的有益技术效果在于:本发明将掩码规则拆分为第一掩码规则和第二掩码规则,创建第一存储空间和第二存储空间,将第一掩码规则和标志位存储至第一存储空间User Data结构,向TCAM写入第一存储空间,将第二掩码规则和标志位存储至第二存储空间的Data base结构,向TCAM写入第二存储空间,并基于TCAM对报文进行掩码规则匹配。本发明使得TCAM存储空间匹配长度实现更长的匹配。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为掩码规则匹配示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
实施例一
本实施例提供了一种基于TCAM的掩码规则匹配方法,包括:
将掩码规则拆分为第一掩码规则和第二掩码规则;
创建第一存储空间和第二存储空间,其中,所述第一存储空间和第二存储空间包括Data base结构和User Data结构;Data base为关键字,User Data为查找结果;
设置标志位;
将第一掩码规则和标志位存储至第一存储空间User Data结构,向TCAM写入第一存储空间;
将第二掩码规则和标志位存储至第二存储空间的Data base结构,向TCAM写入第二存储空间;
基于TCAM对报文进行掩码规则匹配。
其中,基于TCAM对报文进行掩码规则匹配包括:从报文中先提取报文的第一预设字节的信息和第二预设字节的信息,基于第一预设字节的信息组成第一存储空间的Database,并送入TCAM查询,得到第一存储空间的User Data;
则将第一存储空间的User Data的标志位和第二预设字节的信息组成第二存储空间的Data base,并送入TCAM查询,得到第二存储空间的User Data。
示例性的,如图1所示,将规则内容分成80字节和48字节两部分来进行规则拆分、匹配,具体流程如下:
128字节的匹配长度拆分成了前80字节和后48字节,创建表A(对应前80字节规则)和表B(对应后48字节规则),两张表都包含长度是80字节的关键字(Database)和查找结果(User Data)。
在表A的查找结果(User Data)的结构中设置两字节独立标志位C。
将标志位C写入表A的查找结果(User Data)的结构中,向TCAM写入表A。
将后48字节规则和标志位C组成新50字节的关键字(Database)后,向TCAM写入表B,实际占用的TCAM关键字需要80字节存储空间。
从输入设备的数据报文中先提取报文的前80字节信息组装成表A的关键字(Database)送入TCAM查询,若是可以得到表A的查询结果(User Data),则将表A查找结果的标志位C和报文后48字节组成表B的关键字(Database),继续送入TCAM查询,若是可以得到表B的查询结果(User Data),则证明该数据报文匹配规则成功。
实施例二
本实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例一的方法。
实施例三
本实施例提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据实施例一的方法。
以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (5)
1.一种基于TCAM的掩码规则匹配方法,其特征在于,包括:
将掩码规则拆分为第一掩码规则和第二掩码规则;
创建第一存储空间和第二存储空间,所述第一存储空间和第二存储空间包括Database结构和User Data结构,其中,Data base为关键字,User Data为查找结果;
设置标志位;
将第一掩码规则和标志位存储至第一存储空间User Data结构,向TCAM写入第一存储空间;
将第二掩码规则和标志位存储至第二存储空间的Data base结构,向TCAM写入第二存储空间;
基于TCAM对报文进行掩码规则匹配。
2.根据权利要求1所述的基于TCAM的掩码规则匹配方法,其特征在于,基于TCAM对报文进行掩码规则匹配包括:从报文中先提取报文的第一预设字节的信息和第二预设字节的信息,基于第一预设字节的信息组成第一存储空间的Data base,并送入TCAM查询,得到第一存储空间的User Data;
将第一存储空间的User Data的标志位和第二预设字节的信息组成第二存储空间的Data base,并送入TCAM查询,得到第二存储空间的User Data。
3.根据权利要求2所述的基于TCAM的掩码规则匹配方法,其特征在于,第一存储空间等于第一预设字节,且为80字节,第二存储空间等于第二预设字节,且为48字节,标志位为2字节。
4.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求1-3任一所述方法。
5.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-3任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910023.6A CN113660165A (zh) | 2021-08-09 | 2021-08-09 | 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910023.6A CN113660165A (zh) | 2021-08-09 | 2021-08-09 | 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113660165A true CN113660165A (zh) | 2021-11-16 |
Family
ID=78490581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110910023.6A Pending CN113660165A (zh) | 2021-08-09 | 2021-08-09 | 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660165A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024067746A1 (zh) * | 2022-09-28 | 2024-04-04 | 杭州芯旗电子技术有限公司 | 一种基于fpga实现的掩码匹配方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597407A (zh) * | 2020-04-08 | 2020-08-28 | 北京百卓网络技术有限公司 | 一种基于tcam的关键字匹配方法、装置、设备及存储介质 |
CN111984835A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种IPv4掩码五元组规则存储压缩方法及装置 |
CN111988231A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种掩码五元组规则匹配的方法及装置 |
-
2021
- 2021-08-09 CN CN202110910023.6A patent/CN113660165A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597407A (zh) * | 2020-04-08 | 2020-08-28 | 北京百卓网络技术有限公司 | 一种基于tcam的关键字匹配方法、装置、设备及存储介质 |
CN111984835A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种IPv4掩码五元组规则存储压缩方法及装置 |
CN111988231A (zh) * | 2020-08-20 | 2020-11-24 | 国家计算机网络与信息安全管理中心 | 一种掩码五元组规则匹配的方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024067746A1 (zh) * | 2022-09-28 | 2024-04-04 | 杭州芯旗电子技术有限公司 | 一种基于fpga实现的掩码匹配方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7349382B2 (en) | Reverse path forwarding protection of packets using automated population of access control lists based on a forwarding information base | |
JP4452183B2 (ja) | プログラマブル状態マシンのデータ構造を作成して入力単語連鎖を構文解析する方法、プログラマブル状態マシンのデータ構造を使用して入力単語連鎖に対応する結果として得られた値を検索する方法、ワイヤスピードのディープ・パケット処理を行う方法、ディープ・パケット処理のための装置、チップ埋め込み装置、およびプログラミング・コード命令を含むコンピュータ・プログラム(ディープ・パケット処理のための方法および装置) | |
US10491521B2 (en) | Field checking based caching of ACL lookups to ease ACL lookup search | |
US7774538B2 (en) | Method for ternary contents address memory table management | |
US6792423B1 (en) | Hybrid longest prefix match and fixed match searches | |
US20030009453A1 (en) | Method and system for performing a pattern match search for text strings | |
US8599859B2 (en) | Iterative parsing and classification | |
CN111988231B (zh) | 一种掩码五元组规则匹配的方法及装置 | |
US10171419B2 (en) | IP route caching with two search stages on prefix length | |
US11012358B2 (en) | Forwarding table management | |
US20200296041A1 (en) | System and method for range matching | |
KR20050036794A (ko) | 파이프라인 이진 트리를 이용한 ip 어드레스 검색 방법,하드웨어 구조 및 기록매체 | |
WO2016062031A1 (zh) | 一种openflow流表的查表方法和装置、存储介质 | |
CN110557335B (zh) | 三态内容寻址存储器tcam表项处理方法及装置 | |
US6970971B1 (en) | Method and apparatus for mapping prefixes and values of a hierarchical space to other representations | |
US8095677B1 (en) | Configuration rule generation with compressed address sets | |
Li et al. | An improved trie-based name lookup scheme for named data networking | |
CN113660165A (zh) | 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 | |
US20230041395A1 (en) | Method and Device for Processing Routing Table Entries | |
WO2024067746A1 (zh) | 一种基于fpga实现的掩码匹配方法及系统 | |
CN109039911B (zh) | 一种基于hash查找方式共享ram的方法及系统 | |
US10516613B1 (en) | Network device storage of incremental prefix trees | |
Lee et al. | Improving routing table lookup in software routers | |
US6895442B1 (en) | Technique for fast and efficient internet protocol (IP) address lookup | |
CN107948091B (zh) | 一种网包分类的方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211116 |