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

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

Info

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
Application number
CN202110910020.2A
Other languages
English (en)
Other versions
CN113656329A (zh
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 CN202110910020.2A priority Critical patent/CN113656329B/zh
Publication of CN113656329A publication Critical patent/CN113656329A/zh
Application granted granted Critical
Publication of CN113656329B publication Critical patent/CN113656329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing 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芯片来实现。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所述方法。
CN202110910020.2A 2021-08-09 2021-08-09 一种基于tcam的掩码规则插入方法、电子设备和存储介质 Active CN113656329B (zh)

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)

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

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

Patent Citations (7)

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

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