CN113656329B - 一种基于tcam的掩码规则插入方法、电子设备和存储介质 - Google Patents
一种基于tcam的掩码规则插入方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113656329B CN113656329B CN202110910020.2A CN202110910020A CN113656329B CN 113656329 B CN113656329 B CN 113656329B CN 202110910020 A CN202110910020 A CN 202110910020A CN 113656329 B CN113656329 B CN 113656329B
- Authority
- CN
- China
- Prior art keywords
- priority
- tcam
- mask
- rule
- mask rule
- 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.)
- Active
Links
- 238000012966 insertion method Methods 0.000 title claims abstract description 7
- 238000005192 partition Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000005457 optimization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本发明提供了一种基于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三态存储资源,Userdata存的是匹配后返回的结果使用高速内存资源。本文主要针对TCAM存储空间(即database部分)进行设计优化。随着互联网数据流量的爆发式增长,目前网络数据流量处理设备中,需要存储大量的掩码规则来处理接收到的流量,而使用现有实现方法,在新增高优先级掩码规则时会对现有规则进行大量的增删操作并且耗时较长,对网络流量影响较大。
发明内容
为解决现有技术存在的问题,本发明提供了一种基于TCAM的掩码规则插入方法、电子设备和存储介质,本发明的技术方案如下。
一种基于TCAM的掩码规则插入方法包括:
初始化TCAM中对于掩码规则的Data base空间,以防止无效优先级误命中;
基于优先级对存储空间划分成若干分区,按照优先级下发每个分区的掩码规则;
新增优先级为第X级优先级的掩码规则时,判断处于第一优先级区间内的优先级否有未使用的第一空闲优先级;
若有则将优先级处于第X级优先级到第一空闲优先级之间的掩码规则依次向后移动一个优先级,否则判断处于第二优先级区间内是否有未使用的第二空闲优先级,若有则将优先级处于第X级优先级到第二空闲优先级之间的掩码规则依次向前移动一个优先级。
优选的,所述第一优先级区间为第X级优先级到第(X/C+1)*C级优先级的区间,所述第二优先级区间为第X-X%C级优先级到第X级优先级的区间;其中,C=A/B,为存储空间字节数,B为分区数。
一种电子设备,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行上述方法。
一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行上述方法。
相对于现有技术,本发明的有益技术效果在于:本发明在TCAM掩码规则插入高优先级规则时,重新下发并调整优先级的规则由整个规格空间,缩减到每个分区中,优化了掩码规则的有序插入TCAM的流程和时间。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为掩码规则插入示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
实施例一
本实施例提供了一种基于TCAM的掩码规则插入方法。初始化TCAM中对于掩码规则的Data base空间,以防止无效优先级误命中;
基于优先级对存储空间划分成若干分区,按照优先级下发每个分区的掩码规则;
新增优先级为第X级优先级的掩码规则时,判断处于第一优先级区间内的优先级否有未使用的第一空闲优先级;
若有则将优先级处于第X级优先级到第一空闲优先级之间的掩码规则依次向后移动一个优先级,否则判断处于第二优先级区间内是否有未使用的第二空闲优先级,若有则将优先级处于第X级优先级到第二空闲优先级之间的掩码规则依次向前移动一个优先级。
掩码规则写入TCAM前,需要在TCAM初始化时申请该规则database的规格信息,该规则表占用TCAM的空间信息,而插入新的掩码规则的方法可以采用对该规则规格分区的方式达到优化。示例性的,如图1所示,具体流程如下:
初始化TCAM中对于该规则的Data base空间,防止无效优先级误命中。
以优先级对规格A进行平均分区,分区数量为B,这时每个区间中可以下发C=A/B条规则。
按照优先级下发每个分区的规则。
新增高优先级X的掩码规则时,先判断优先级处于X到(X/C+1)*C是否有空的优先级(未使用的优先级)E,若有则将优先级处于X到E之间的有效规则统一向后移动一个优先级,否则判断优先级处于X-X%C到X是否有空的(未使用的优先级)优先级F,若有则将优先级处于X到F之间的有效规则统一向前移动一个优先级,其中%为求余运算。
实施例二
本实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例一的方法。
实施例三
本实施例提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据实施例一的方法。
以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (3)
1.一种基于TCAM的掩码规则插入方法,其特征在于,包括:
初始化TCAM中对于掩码规则的Data base空间,以防止无效优先级误命中;
基于优先级对存储空间划分成若干分区,按照优先级下发每个分区的掩码规则;
新增优先级为第X级优先级的掩码规则时,判断处于第一优先级区间内的优先级否有未使用的第一空闲优先级;
若有则将优先级处于第X级优先级到第一空闲优先级之间的掩码规则依次向后移动一个优先级,否则判断处于第二优先级区间内是否有未使用的第二空闲优先级,若有则将优先级处于第X级优先级到第二空闲优先级之间的掩码规则依次向前移动一个优先级;
所述第一优先级区间为第X级优先级到第(X/C+1)*C级优先级的区间,所述第二优先级区间为第X-X%C级优先级到第X级优先级的区间,其中%为求余运算,A为存储空间字节数,C=A/B,B为分区数。
2.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求1所述方法。
3.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910020.2A CN113656329B (zh) | 2021-08-09 | 2021-08-09 | 一种基于tcam的掩码规则插入方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910020.2A CN113656329B (zh) | 2021-08-09 | 2021-08-09 | 一种基于tcam的掩码规则插入方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656329A CN113656329A (zh) | 2021-11-16 |
CN113656329B true CN113656329B (zh) | 2024-02-02 |
Family
ID=78478623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110910020.2A Active CN113656329B (zh) | 2021-08-09 | 2021-08-09 | 一种基于tcam的掩码规则插入方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656329B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866918A (zh) * | 2005-11-28 | 2006-11-22 | 华为技术有限公司 | 静态多接口范围匹配表的管理维护方法 |
CN101447940A (zh) * | 2008-12-23 | 2009-06-03 | 杭州华三通信技术有限公司 | 访问控制列表规则的更新方法和装置 |
CN102521347A (zh) * | 2011-12-11 | 2012-06-27 | 西北工业大学 | 基于优先级的模式匹配中间结果管理方法 |
CN103248575A (zh) * | 2013-05-14 | 2013-08-14 | 盛科网络(苏州)有限公司 | 一种tcam表项优先级的分配方法 |
CN107896169A (zh) * | 2017-12-28 | 2018-04-10 | 杭州迪普科技股份有限公司 | 一种acl的管理方法及装置 |
CN110442586A (zh) * | 2019-07-03 | 2019-11-12 | 北京左江科技股份有限公司 | 一种基于分类优先级的五元组查询方法 |
CN112130974A (zh) * | 2020-09-10 | 2020-12-25 | 厦门市美亚柏科信息股份有限公司 | 云计算资源配置方法、装置、电子设备与存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7028098B2 (en) * | 2001-07-20 | 2006-04-11 | Nokia, Inc. | Selective routing of data flows using a TCAM |
WO2011072724A1 (en) * | 2009-12-15 | 2011-06-23 | Verigy (Singapore) Pte. Ltd. | Method and apparatus for scheduling a use of test resources of a test arrangement for the execution of test groups |
-
2021
- 2021-08-09 CN CN202110910020.2A patent/CN113656329B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866918A (zh) * | 2005-11-28 | 2006-11-22 | 华为技术有限公司 | 静态多接口范围匹配表的管理维护方法 |
CN101447940A (zh) * | 2008-12-23 | 2009-06-03 | 杭州华三通信技术有限公司 | 访问控制列表规则的更新方法和装置 |
CN102521347A (zh) * | 2011-12-11 | 2012-06-27 | 西北工业大学 | 基于优先级的模式匹配中间结果管理方法 |
CN103248575A (zh) * | 2013-05-14 | 2013-08-14 | 盛科网络(苏州)有限公司 | 一种tcam表项优先级的分配方法 |
CN107896169A (zh) * | 2017-12-28 | 2018-04-10 | 杭州迪普科技股份有限公司 | 一种acl的管理方法及装置 |
CN110442586A (zh) * | 2019-07-03 | 2019-11-12 | 北京左江科技股份有限公司 | 一种基于分类优先级的五元组查询方法 |
CN112130974A (zh) * | 2020-09-10 | 2020-12-25 | 厦门市美亚柏科信息股份有限公司 | 云计算资源配置方法、装置、电子设备与存储介质 |
Non-Patent Citations (2)
Title |
---|
李维 ; 刘斌 ; 郗颖 ; 林伟 ; 唐毅 ; .基于多域并行编码的高速IPv6流分类.电子学报.2007,976-981. * |
杨乾斌 ; 张鹏 ; 陈苏铿 ; 张兴明 ; .基于双优先级的IPv4单播查表解决方法.计算机工程与应用.2009,132-134+182. * |
Also Published As
Publication number | Publication date |
---|---|
CN113656329A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7599287B2 (en) | Tokens in token buckets maintained among primary and secondary storages | |
US7937355B2 (en) | Decision tree multi-field classification dynamic rules updating and rebuilding | |
CN107507262B (zh) | 一种大场景的三维渲染方法及系统 | |
US10884830B1 (en) | Method and apparatus for multithreaded data transmission in a tee system | |
CN107528783B (zh) | 利用对前缀长度进行两个搜索阶段的ip路由缓存 | |
US7861291B2 (en) | System and method for implementing ACLs using standard LPM engine | |
KR101857510B1 (ko) | 소팅 | |
CN107896169A (zh) | 一种acl的管理方法及装置 | |
CN108228341A (zh) | 内存回收方法及装置、终端设备及计算机可读存储介质 | |
CN111506604A (zh) | 访问数据的方法、装置和计算机程序产品 | |
CN106708615A (zh) | 一种应用的管理方法及终端 | |
CN113656329B (zh) | 一种基于tcam的掩码规则插入方法、电子设备和存储介质 | |
US10922134B2 (en) | Method, device and computer program product for processing data | |
US20180181647A1 (en) | System and Method for Editing a Linked List | |
CN116016387B (zh) | 访问控制列表生效控制方法、装置、设备和存储介质 | |
Patt-Shamir et al. | The space requirement of local forwarding on acyclic networks | |
CN108763381A (zh) | 基于一致性哈希算法的分表方法及设备 | |
CN113626432A (zh) | 一种支持任意Key值的自适应基数树的改进方法 | |
EP3299965B1 (en) | Method and physical device for managing linked lists | |
CN111490972A (zh) | 一种表项管理方法、装置、设备及机器可读存储介质 | |
CN113660165A (zh) | 一种基于tcam的掩码规则匹配方法、电子设备和存储介质 | |
CN112131223B (zh) | 流量分类统计方法、装置、计算机设备和存储介质 | |
CN117439993B (zh) | Redis集群负载均衡方法、装置、设备及存储介质 | |
US6453386B1 (en) | Method and system for performing variable aging to optimize a memory resource | |
CN113312549B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |