CN114827030B - 一种基于折叠sram的流分类装置及表项压缩方法 - Google Patents

一种基于折叠sram的流分类装置及表项压缩方法 Download PDF

Info

Publication number
CN114827030B
CN114827030B CN202210304604.XA CN202210304604A CN114827030B CN 114827030 B CN114827030 B CN 114827030B CN 202210304604 A CN202210304604 A CN 202210304604A CN 114827030 B CN114827030 B CN 114827030B
Authority
CN
China
Prior art keywords
compression
sram
vector
rule
action
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
CN202210304604.XA
Other languages
English (en)
Other versions
CN114827030A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202210304604.XA priority Critical patent/CN114827030B/zh
Publication of CN114827030A publication Critical patent/CN114827030A/zh
Application granted granted Critical
Publication of CN114827030B publication Critical patent/CN114827030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明属于网络通信技术领域,公开了一种基于折叠SRAM的流分类装置及表项压缩方法,对规则集进行预处理得到执行动作与压缩动作;将执行动作存储至SRAM,将压缩动作存储至寄存器向量;解析器接收输入数据流,提取数据包头部信息中关键信息字段并完成拼接操作,以关键信息向量方式输出;接收关键信息向量,对关键信息向量进行分段存储;规则匹配模块基于折叠SRAM的BV查找方式,索引地址根据压缩动作所得偏移值修正,以完成查表操作;查表所得执行动作是流分类指令码与压缩动作进行多级循环匹配,直至得到最终匹配结果输出。本发明具有适用于硬件实现、减少缓存开销以及协议无关的优点,可用于通信网络中的数据流识别与分类。

Description

一种基于折叠SRAM的流分类装置及表项压缩方法
技术领域
本发明属于网络通信技术领域,尤其涉及一种基于折叠SRAM的流分类装置及表项压缩方法。
背景技术
随着网络的发展,客户需要更加多样化和更加快速安全的服务。数据流分类装置作为交换机中的重要组成部分,承担了根据数据流中的关键信息对数据流进行区分,进而提供不同的操作的功能。流分类模块的性能决定了交换机是否能够根据客户的需求提供精准、快速、多样的服务。OpenFlow执行的内核功能之一是流表查找,其类似于经典的多字段包分类机制。随着OpenFlow控制层面的精细化,其维护的流表中匹配字段的个数也随着协议标准的不断更新而增长,而伴随网络规模的增大,流表项条数将会爆炸性增长。
目前,基于三元内容寻址存储器(TCAM)的流分类装置在网络中发挥着重要作用,其缺点是容量小,价格高,功率大,不适合大规模的规则查找。而在基于BV的算法的流分类装置中,相对较大的内存资源消耗严重阻碍了算法的广泛应用。当前主流使用为二维流水结构的BV查找装置,部署在FPGA通过逻辑资源实现BV查找的处理单元,而FPGA上逻辑资源过多的消耗会影响性能,同时该结构不方便部署在ASIC上。
通过上述分析,需要一种基于SRAM实现,资源消耗少,处理速率快且可以部署在ASIC的高性能流分类装置。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有基于三元内容寻址存储器(TCAM)的流分类装置容量小,价格高,功率大,不适合大规模的规则查找。
(2)现有基于BV的算法的流分类装置中,相对较大的内存资源消耗严重阻碍了算法的广泛应用。
(3)现有二维流水结构的BV查找装置部署在FPGA通过逻辑资源实现处理单元,FPGA上逻辑资源过多的消耗会影响性能,且不方便部署在ASIC上。
发明内容
针对现有技术存在的问题,本发明提供了一种基于折叠SRAM的流分类装置及表项压缩方法。
本发明是这样实现的,一种基于折叠SRAM流分类表项压缩方法。所述表项压缩方法通过对流分类装置所处理规则集进行预处理,识别通配符并据此划分子规则集,同时生成预处理结果执行动作与压缩动作,该执行动作与压缩动作需协同专用表项压缩的流分类装置实现;所述表项压缩的流分类装置基于折叠SRAM实现,该装置存储CPU配置下的执行动作与压缩动作,通过维护分段号计数器以及偏移量,对块SRAM进行分时复用完成BV的匹配查找,输出匹配结果经多级循环匹配,直至将最终匹配结果即指令码输出。
该所述基于折叠SRAM的流分类表项压缩方法包括:
利用软件规则预处理对规则集进行预处理,划分子规则集,得到执行动作与压缩动作,实现表项压缩的预处理。
进一步,所述执行动作与压缩动作通过软件对规则集预处理获得,所述执行动作存储器结构采用SRAM,所述压缩动作存储器结构采用寄存器。
进一步,所述基于折叠SRAM的流分类装置及表项压缩方法包括以下步骤:
步骤一,对规则集进行预处理,得到执行动作与压缩动作;
步骤二,通过CPU配置模块,将规则预处理得到的执行动作存储至SRAM,并将压缩动作存储至寄存器向量中;
步骤三,解析器接收输入数据流,提取数据包头部信息中关键信息字段并完成拼接操作,以关键信息向量方式输出;
步骤四,规则匹配模块接收关键信息向量,对所述关键信息向量进行分段存储,每个分段为子字段向量的元素;
步骤五,规则匹配模块根据基于折叠SRAM的BV查找方式,索引地址根据压缩动作所得偏移值修正,以完成查表操作;
步骤六,查表所得执行动作即流分类指令码与压缩动作进行多级循环匹配,直至得到最终匹配结果输出。
在本发明步骤一、二中,通过软件对规则集的预处理,增加软件操作的复杂度以获取硬件的资源优化以及灵活性,同时执行动作与压缩动作的可配置,可使得基于折叠SRAM的可压缩表项的流分类装置应对不同规则集。
在本发明的步骤三中,通过对关键信息的提取与拼接,可减少匹配字段的总长度,提高匹配速度并减少缓存。
在本发明的步骤四、五中,步骤四的分段存储便于基于折叠SRAM的BV查找通过维护子字段号进行索引,而偏移值修正的引入,可协同压缩动作减少缓存的开销。
在本发明的步骤六中,通过循环多级匹配的方式,可有效避免因逻辑深度过大而可能导致的时序问题。
进一步,所述步骤一中的对规则集进行预处理,得到执行动作与压缩动作包括:
(1)预处理过程给定子规则集深度d、分段长度s,通过遍历规则集识别连续通配符,根据连续通配符的位置与数目对每条规则分类;
(2)根据分类结果对规则集进行排列得到压缩规则集R与压缩数组C,Cij用于描述对Rij压缩行为;
(3)划分子规则集,对于每个子规则集对应一片SRAM,Ri为执行动作向量,Ci为压缩动作向量;
(4)Ci压缩动作向量中Cj=1表示Rj元素可压缩,Cj=0表示不可压缩;
(5)Ri执行动作向量根据Ci压缩动作向量进行优化,若Rj元素描述结果Cj为可压缩,则删除所述元素,对应SRAM对所述元素不进行存储。
进一步,所述步骤五中,基于折叠SRAM的BV查找方式,通过维护子字段号计数器,选择不同子字段进行分时查找实现。
所述地址索引格式为{子字段号-偏移,子字段向量[子字段号]}。
本发明的另一目的在于提供一种应用所述的一种基于折叠SRAM的流分类表项压缩方法,所述基于折叠SRAM的可压缩表项的流分类装置包括:
CPU配置模块,用于实现执行动作与压缩行为的配置;
解析器模块,用于完成数据流关键信息提取与拼接;
规则匹配模块,用于完成数据流规则匹配并输出相应指令码。
进一步,所述CPU配置模块,用于通过CPU将规则预处理所得到执行动作与压缩动作配置至流分类装置缓存器中,其中执行动作存储至SRAM、将压缩动作存储至寄存器向量中;
所述解析器模块,用于接收输入数据流,根据用户定义的匹配字段的属性,提取数据包头部信息中关键信息字段并完成拼接操作,拼接后关键信息以关键信息向量方式输出;
所述规则匹配模块,用于接收关键信息向量,并按照给定的分段长度s进行分段存储,存储方式为寄存器向量;维护子字段号计数器以及压缩偏移计数器,其中子字段号计数值选择子字段输出以及索引压缩向量元素,若当前压缩向量元素为0,偏移计数不变;若为1,偏移计数加1;{子字段号-偏移,子字段向量[子字段号]}为查表索引,查表所得执行动作即流分类指令码与压缩动作进行多级循环匹配,直至最终匹配结果指令码的输出。
结合上述的技术方案和解决的技术问题,请从以下几方面分析本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
第一,本发明由于通过折叠SRAM的方式,克服现有SRAM因匹配字段分段长度的增加而消耗缓存指数增长的问题,具有硬件可实现、缓存消耗少的优点。
第二,本发明由于基于SRAM实现,可部署至FPGA,利用FPGA的BRAM资源;可部署至ASIC上,相对于寄存器堆的实现方式可大幅减少芯片面积。
第三,本发明由于规则预处理,得到执行动作与压缩动作,可在此折叠SRAM的实现方式上,进一步压缩缓存消耗,压缩程度因规则集不同而差异。
第四,本发明由于解析器与预处理得到执行动作,具有协议无关的优点,克服了现有方案只能完成特定字段提取的缺点。
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
本发明具有适用于硬件实现、减少缓存开销以及协议无关的优点,可用于通信网络中的数据流识别与分类。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
在传统基于SRAM的BV查找中,所需缓存量随匹配字段分段长度的增加而指数倍增长,而短的分段长度无法对整块SRAM有效利用,不适用于多字段多协议的流分类场景。本发明提出的折叠SRAM的实现,通过对SRAM进行折叠,分时复用折叠后的SRAM,有效的解决了上述问题,同时在此基础上,本发明创新性的通过软件预处理的方式,并协同相应硬件装置对表项进行压缩,提出一种解决基于SRAM的在多字段多协议流分类场景下的高效利用及缓存压缩的问题。除此之外,本发明的实现方式可部署至ASIC上,相对主流二维流水线寄存器的实现方式,可有效降低芯片面积,降低芯片成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于折叠SRAM的流分类表项压缩方法流程图;
图2是本发明实施例提供的基于折叠SRAM的流分类装置及表项压缩方法原理图;
图3是本发明实施例提供的多级循环匹配流程图;
图4是本发明实施例提供的规则预处理转换对比图;
图5是本发明实施例提供的执行动作存储形式示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于折叠SRAM的流分类装置及表项压缩方法,下面结合附图对本发明作详细的描述。
一、解释说明实施例。为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
如图1所示,本发明实施例提供的一种基于折叠SRAM的流分类表项压缩方法包括以下步骤:
S101,对规则集进行预处理,得到执行动作与压缩动作;
S102,通过CPU配置,将规则预处理得到的执行动作存储至SRAM、将压缩动作存储至寄存器数组中;
S103,解析器接收输入数据流,提取数据包头部信息中关键信息字段并完成拼接操作,以关键信息向量方式输出;
S104,规则匹配模块接收信息向量并进行分段存储,构成子字段向量;维护子字段号及偏移量,以{子字段号-偏移,子字段向量[子字段号]}为查表索引;
S105,查表所得执行动作即流分类指令码与压缩动作进行多级循环匹配,直至得到最终匹配结果即指令码输出。
如图2所示,本发明实施例提供基于折叠SRAM的可压缩表项的流分类装置包括如下主要模块:
CPU配置模块,通过CPU将规则预处理所得到执行动作与压缩动作配置至流分类装置缓存器中,其中执行动作存储至SRAM、将压缩动作存储至寄存器向量中;
解析器模块,接收输入数据流。根据用户定义的匹配字段的属性,提取数据包头部信息中关键信息字段并完成拼接操作,拼接后关键信息以关键信息向量方式输出;
规则匹配模块,(a).接收关键信息向量,对其按照给定的分段长度s进行分段存储,存储方式为寄存器数组;(b).根据分段计数器得到计数值即子字段号作为选择器选择输入选择不同子字段,同时根据计数值索引压缩动作向量维护偏移计数;(c).将输出的子字段拼接子字段计数值与偏移的差值,拼接结果作为地址索引用于查表,获得执行动作;(d).查表所得执行动作(即指流分类指令码)与压缩动作进行多级循环匹配,上一级的匹配结果作为输入参与下一级匹配操作,直至最后的子字段查找完成得到最终匹配结果指令码的输出。具体匹配过程如图3所示。
本发明中软件预处理过程的转换对比如图4所示。如图4(a)所示,对每条规则进行遍历,根据给定分段长度s,搜索连续的通配符,连续的长度大于s,记录每条规则r的搜索结果,结果格式为{起始比特位,长度}。如图4(b)所示,给定子规则集深度d,将具有相似属性的d条规则r组成子规则集Ri,同时生成Ci压缩动作向量,对于每个子规则集Ri对应一片SRAM,Ri为原始执行动作向量,Ci为压缩动作向量,Cij用于描述压缩状态;Ci压缩动作向量中Cij=1表示Rij可压缩,Cij=0表示Rij不可压缩;如图4(c)所示,子规则集Ri保留原分段顺序,去除Cj=1所对应Rj,即描述结果为可压缩的元素,得到最终执行动作向量,对去除项,SRAM对该元素不进行存储,Ci为相应压缩动作向量。
下面结合具体实施例对本发明的装置与方法作进一步描述。
以前缀匹配为例,若存在如下规则:
r1-110 101 000 ***
r2-100 100 *** ***
r3-111 100 101 ***
r4-000 101 1** ***
r5-010 0*** ** ***
r6-011 100 *** ***
r7-110 010 101 ***
r8-110 *** *** ***
对于给定分段长度s等于3,子规则集深度4,可根据其特征分为两个规则子集,R1包含r1、r3、r4、r7,R2包含r2、r5、r6、r8,相对应压缩向量C1={0,0,0,1},C2={0,0,1,1}。进一步可得到执行动作向量以及压缩动作向量。
在不做压缩处理的BV规则匹配处理单元中,SRAM将划分为4段地址空间,每段的地址深度为2s,在本实施例中即8的深度,4段地址空间都将存放子规则集的规则匹配信息,R11和R14如图5所示,对于R14的地址空间而言,信息量少可进行压缩。
在经过压缩处理的BV规则匹配处理单元中,通过存储分段长度的压缩向量,用于指示分段状态,可对连续通配符分段不进行存储,通过压缩向量中存放1来通知多级循环匹配。在本实施例R1所对应规则匹配单元中仅需3段地址空间存储,R2所对应规则匹配单元中仅需2段地址空间存储。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
二、实施例相关效果的证据。本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
通过对一些规则集的预处理,在包含IP地址以及其他包含较多通配符的匹配字段的规则集,该方法可对规则集具有较大压缩效果,达20%以上。压缩优化的缓存,在流分类装置处理更多字段规则集具有一定潜在能力。同时折叠SRAM的BV查找方式具有同二维流水匹配的BV查找方式相同的查找能力,在合理规划分段长度下,面积上具有明显优势。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (7)

1.一种基于折叠SRAM的流分类表项压缩方法,其特征在于,所述基于折叠SRAM的流分类表项压缩方法包括:
利用软件规则预处理对规则集进行预处理,划分子规则集,得到执行动作与压缩动作,实现表项压缩的流分类;其中对每条规则进行遍历,根据给定分段长度s,搜索连续的通配符,连续的长度大于s,记录每条规则r的搜索结果,结果格式为{起始比特位,长度},给定子规则集深度d,将具有相似属性的d条规则r组成子规则集Ri,同时生成Ci压缩动作向量,对于每个子规则集Ri对应一片SRAM,Ri为原始执行动作向量,Ci为压缩动作向量,Cij用于描述压缩状态;Ci压缩动作向量中Cij=1表示Rij可压缩,Cij=0表示Rij不可压缩;子规则集Ri保留原分段顺序,去除Ci=1所对应Ri,即描述结果为可压缩的元素,得到最终执行动作向量,对去除项,SRAM对该元素不进行存储,Ci为相应压缩动作向量。
2.如权利要求1所述基于折叠SRAM的流分类表项压缩方法,其特征在于,所述执行动作与压缩动作通过软件对规则集预处理获得,所述执行动作存储器结构采用SRAM,所述压缩动作存储器结构采用寄存器。
3.如权利要求1所述基于折叠SRAM的流分类表项压缩方法,其特征在于,所述基于折叠SRAM的流分类表项压缩方法包括以下步骤:
步骤一,对规则集进行预处理,得到执行动作与压缩动作;
步骤二,通过CPU配置模块,将规则预处理得到的执行动作存储至SRAM,并将压缩动作存储至寄存器向量中;
步骤三,解析器接收输入数据流,提取数据包头部信息中关键信息字段并完成拼接操作,以关键信息向量方式输出;
步骤四,规则匹配模块接收关键信息向量,对所述关键信息向量进行分段存储,每个分段为子字段向量的元素;
步骤五,规则匹配模块根据基于折叠SRAM的BV查找方式,索引地址根据压缩动作所得偏移值修正,以完成查表操作;
步骤六,查表所得执行动作即流分类指令码与压缩动作进行多级循环匹配,直至得到最终匹配结果输出。
4.如权利要求3所述基于折叠SRAM的流分类表项压缩方法,其特征在于,所述步骤一中的对规则集进行预处理,得到执行动作与压缩动作包括:
(1)预处理过程给定子规则集深度d、分段长度s,通过遍历规则集识别连续通配符,根据连续通配符的位置与数目对每条规则分类;
(2)根据分类结果对规则集进行排列得到压缩规则集R与压缩数组C,Cij用于描述对Rij压缩行为;
(3)划分子规则集,对于每个子规则集对应一片SRAM,Ri为执行动作向量,Ci为压缩动作向量;
(4)Ci压缩动作向量中Cj=1表示Rj元素可压缩,Cj=0表示不可压缩;
(5)Ri执行动作向量根据Ci压缩动作向量进行优化,若Rj元素的描述结果Cj为可压缩,则删除所述元素,对应SRAM对所述元素不进行存储。
5.如权利要求3所述基于折叠SRAM的流分类表项压缩方法,其特征在于,所述步骤五中,基于折叠SRAM的BV查找方式,通过维护子字段号计数器,选择不同子字段进行分时查找实现;
所述索引地址格式为{子字段号-偏移,子字段向量[子字段号]}。
6.一种应用如权利要求1~5任意一项所述基于折叠SRAM的流分类表项压缩方法的基于折叠SRAM的表项压缩的流分类装置,其特征在于,所述基于折叠SRAM的表项压缩的流分类装置包括:
CPU配置模块,用于实现执行动作与压缩行为的配置;
解析器模块,用于完成数据流关键信息提取与拼接;
规则匹配模块,用于完成数据流规则匹配并输出相应指令码。
7.如权利要求6所述表项压缩的流分类装置,其特征在于,所述CPU配置模块,用于通过CPU将规则预处理所得到执行动作与压缩动作配置至流分类装置缓存器中,其中执行动作存储至SRAM、将压缩动作存储至寄存器向量中;
所述解析器模块,用于接收输入数据流,根据用户定义的匹配字段的属性,提取数据包头部信息中关键信息字段并完成拼接操作,拼接后关键信息以关键信息向量方式输出;
所述规则匹配模块,用于接收关键信息向量,并按照给定的分段长度s进行分段存储,存储方式为寄存器向量;维护子字段号计数器以及压缩偏移计数器,其中子字段号计数值选择子字段输出以及索引压缩向量元素,若当前压缩向量元素为0,偏移计数不变;若为1,偏移计数加1;{子字段号-偏移,子字段向量[子字段号]}为查表索引,查表所得执行动作即流分类指令码与压缩动作进行多级循环匹配,直至最终匹配结果指令码的输出。
CN202210304604.XA 2022-03-26 2022-03-26 一种基于折叠sram的流分类装置及表项压缩方法 Active CN114827030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210304604.XA CN114827030B (zh) 2022-03-26 2022-03-26 一种基于折叠sram的流分类装置及表项压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210304604.XA CN114827030B (zh) 2022-03-26 2022-03-26 一种基于折叠sram的流分类装置及表项压缩方法

Publications (2)

Publication Number Publication Date
CN114827030A CN114827030A (zh) 2022-07-29
CN114827030B true CN114827030B (zh) 2023-04-07

Family

ID=82530434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210304604.XA Active CN114827030B (zh) 2022-03-26 2022-03-26 一种基于折叠sram的流分类装置及表项压缩方法

Country Status (1)

Country Link
CN (1) CN114827030B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115563128A (zh) * 2022-12-07 2023-01-03 深圳市加推科技有限公司 社交数据的管理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588907A (zh) * 2004-07-02 2005-03-02 中国科学院计算技术研究所 一种使用分段压缩表实现最长前缀地址路由查找的方法
CN102377664A (zh) * 2010-08-27 2012-03-14 武汉烽火网络有限责任公司 一种基于tcam的区域匹配装置和方法
CN103685224A (zh) * 2013-09-05 2014-03-26 北京安博达通科技有限责任公司 网络入侵检测方法
US9262312B1 (en) * 2012-10-17 2016-02-16 Marvell International Ltd. Apparatus and methods to compress data in a network device and perform content addressable memory (CAM) processing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100413285C (zh) * 2005-06-03 2008-08-20 清华大学 基于网络处理器的高速多维报文分类算法的设计和实现
CN100417140C (zh) * 2005-10-24 2008-09-03 华为技术有限公司 一种流分类装置和方法以及采用该流分类装置的基站
CN102437950B (zh) * 2011-11-08 2014-11-12 西安电子科技大学 一种高效且可扩展的ip数据包分类方法
US10257090B2 (en) * 2017-02-21 2019-04-09 Futurewei Technologies, Inc. Packet classification using multi-dimensional splitting
CN107943826B (zh) * 2017-10-19 2020-04-14 西安电子科技大学 一种适用于多类字段的高速数据流分类装置及方法
US10901897B2 (en) * 2018-01-16 2021-01-26 Marvell Israel (M.I.S.L.) Ltd. Method and apparatus for search engine cache
CN110858823B (zh) * 2018-08-24 2023-03-07 中兴通讯股份有限公司 一种数据包的分类方法、装置及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588907A (zh) * 2004-07-02 2005-03-02 中国科学院计算技术研究所 一种使用分段压缩表实现最长前缀地址路由查找的方法
CN102377664A (zh) * 2010-08-27 2012-03-14 武汉烽火网络有限责任公司 一种基于tcam的区域匹配装置和方法
US9262312B1 (en) * 2012-10-17 2016-02-16 Marvell International Ltd. Apparatus and methods to compress data in a network device and perform content addressable memory (CAM) processing
CN103685224A (zh) * 2013-09-05 2014-03-26 北京安博达通科技有限责任公司 网络入侵检测方法

Also Published As

Publication number Publication date
CN114827030A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US7499941B2 (en) Pipeline regular expression matching
Kumar et al. Advanced algorithms for fast and scalable deep packet inspection
US8619766B2 (en) Method and apparatus for classifying packets
US7765183B2 (en) Hierarchical tree of deterministic finite automata
US9647684B2 (en) Memory-based history search
US7240040B2 (en) Method of generating of DFA state machine that groups transitions into classes in order to conserve memory
US7689530B1 (en) DFA sequential matching of regular expression with divergent states
US8473523B2 (en) Deterministic finite automata graph traversal with nodal bit mapping
US7827182B1 (en) Searching for a path to identify where to move entries among hash tables with storage for multiple entries per bucket during insert operations
US20030191740A1 (en) Multi-dimensional associative search engine
JP2015505399A (ja) 状態機械格子におけるカウンタ動作
US20180375773A1 (en) Technologies for efficient network flow classification with vector bloom filters
US20190052553A1 (en) Architectures and methods for deep packet inspection using alphabet and bitmap-based compression
US7080195B2 (en) Merging indications of matching items of multiple groups and possibly associated with skip conditions to identify winning entries of particular use for implementing access control lists
CN114827030B (zh) 一种基于折叠sram的流分类装置及表项压缩方法
US20230056760A1 (en) Method and apparatus for processing graph data, device, storage medium, and program product
US7788445B2 (en) Intelligent allocation of programmable comparison operations for reducing the number of associative memory entries required
JP2005242672A (ja) パターンマッチング装置および方法ならびにプログラム
CN114238576A (zh) 数据匹配方法、装置、计算机设备和存储介质
CN110336817B (zh) 一种基于TextRank的未知协议帧定位方法
Avalle et al. Efficient multistriding of large non-deterministic finite state automata for deep packet inspection
CN114610958B (zh) 一种传输资源的处理方法、装置及电子设备
CN115577067A (zh) 报文检测方法、装置、系统、电子设备及存储介质
JP3443356B2 (ja) パケット分類装置
Whelan An FPGA Based Implementation Of A Packet Filter

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