CN113660165A - 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 - Google Patents

一种基于tcam的掩码规则匹配方法、电子设备和存储介质 Download PDF

Info

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
Application number
CN202110910023.6A
Other languages
English (en)
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.)
Byzoro Networks Ltd
Chang'an Communication Technology Co ltd
National Computer Network and Information Security Management Center
Original Assignee
Byzoro Networks Ltd
Chang'an Communication Technology Co ltd
National Computer Network and Information Security Management Center
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 Byzoro Networks Ltd, Chang'an Communication Technology Co ltd, National Computer Network and Information Security Management Center filed Critical Byzoro Networks Ltd
Priority to CN202110910023.6A priority Critical patent/CN113660165A/zh
Publication of CN113660165A publication Critical patent/CN113660165A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/695Types 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芯片来实现。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任一所述方法。
CN202110910023.6A 2021-08-09 2021-08-09 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 Pending CN113660165A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024067746A1 (zh) * 2022-09-28 2024-04-04 杭州芯旗电子技术有限公司 一种基于fpga实现的掩码匹配方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
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 国家计算机网络与信息安全管理中心 一种掩码五元组规则匹配的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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