CN109815263B - 一种模糊查找的数据流识别方法及系统 - Google Patents
一种模糊查找的数据流识别方法及系统 Download PDFInfo
- Publication number
- CN109815263B CN109815263B CN201910008917.9A CN201910008917A CN109815263B CN 109815263 B CN109815263 B CN 109815263B CN 201910008917 A CN201910008917 A CN 201910008917A CN 109815263 B CN109815263 B CN 109815263B
- Authority
- CN
- China
- Prior art keywords
- key
- fuzzy
- key value
- values
- characteristic
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种模糊查找的数据流识别方法及系统,涉及计算机通信技术领域,需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为。不仅有效减小了流表深度,同时也降低了对比匹配的复杂度,可降低成本同时提高查询速度;缩短了匹配键值KEY,降低了对比匹配的复杂度,减少查找次数。使用本发明进行TCAM方式查找,可同时减少TCAM器件的深度和宽度,减低成本提高查询速率;使用本发明进行HASH方式查找,可降低HASH计算复杂度,匹配键值缩短不仅节省流表空间,也降低了对比匹配的复杂度。
Description
技术领域
本发明涉及计算机通信技术领域,具体涉及一种模糊查找的数据流识别方法及系统。
背景技术
随着通信网络带宽的增加以及承载的业务类型的多样化,网络流具有越来越复杂化和高速化的特征。及时准确地进行流识别对于流量工程、QoS以及网络安全管理等有重要的现实意义。
通信领域的“流”定义为:在网络设备中匹配相同键值所有数据报文的集合。用于区分流的键值可以根据规则从包信息中任意选取灵活组合,可包括且不限于:目的地址(DMAC)、源地址(SMAC)、VLAN、以太网类型、IP报文的源地址(SIP)、目的地址(DIP)、TCP或UDP端口号等。
流识别首先要根据业务场景需求,建立键值和流处理行为的对应关系,称为规则。所有规则构成一个数据库,称为流表。流表可支持随时删除、修改和添加规则。数据报文的流识别首先提取键值,称为KEY,然后在流表中查找匹配项,输出流处理行为。
键值KEY的查找和匹配,主要有两种实现方式:一种是采用专门的内容寻址存储器TCAM附加存储器RAM实现。键值KEY直接存储在TCAM中,对应流处理行为存储在RAM中。在进行流识别查找时,TCAM可在很短时间给出内容匹配地址,称为流号或者索引,从对应RAM地址读取规则即可。
另一种是基于HASH算法,对键值KEY进行HASH计算求得一个索引。为了规避HASH碰撞,一般不直接使用该索引查流表,而是由索引对应k个流号(HASH冲突容忍度为k),同时查找k条规则。为了避免误匹配,添加流表时需要将键值写入规则,查找后进行精确匹配。
现有流识别方式存在以下两个问题:
一是多种类型键值KEY需要查找多次。键值KEY需要支持各种包信息的灵活组合,每种组合都需要启动查询,然后对结果仲裁。如业务1关注DA和DIP,业务2关注DA和SIP,业务3关注SA和VLAN;对单个包的流识别,不仅需要提取DA与DIP组成KEY0查询,需要提取DA与SIP组成KEY1查询,还需要提取SA和VLAN组成KEY2查询。接入网中存在大量键值组合方式,单个包的流识别需启动多次查找,导致查找速率低下。
二是键值KEY查询匹配效率问题。组合的KEY一般具有较大的bit位宽,如关注DA(48bits)与DIP(128bits),键值长度为176bits,查询匹配过程需要提取包中上述字段组成KEY,然后与流表规则对比,当键值长度进一步增大时,效率将变得极为低下。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种模糊查找的数据流识别方法及系统,减小流表深度,减少流识别查找次数,缩短查询和匹配键值长度,提高查找速率。
为达到以上目的,本发明采取的技术方案是:一种模糊查找的数据流识别方法,包括以下步骤:
从多组KEY中提取最优长度等同量字段,生成模糊键值,提取KEY的剩余字段,生成特征键值;
建立模糊查找表,用于记录各模糊键值、模糊键值的类型和对应的特征键值索引;建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为;
需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为。
在上述方案的基础上,所述建立模糊查找表,用于记录各模糊键值、模糊键值的类型和对应的特征键值索引,具体包括以下步骤:
建立模糊查找表,所述模糊查找表包括多个条目,每个条目对应一个模糊键值;
每个条目包括:从KEY中提取的模糊键值,模糊键值的序号,模糊键值的类型,以及模糊键值对应的特征键值在精确匹配表中的索引。
在上述方案的基础上,所述建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为,具体包括以下步骤:
建立精确匹配表,所述精确匹配表包括多个条目,每个条目对应一个特征键值;
每个条目包括:从KEY中提取的特征键值,特征键值的索引,特征键值的类型,以及从KEY中提取的特征键值对应的规则条款和流处理行为。
在上述方案的基础上,所述需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为,具体包括以下步骤:
根据所有模糊键值的类型,提取待识别数据流的信息,组成模糊键值信息,输入模糊查找表,获得对应的特征键值索引;
根据所有特征键值的类型,提取待识别数据流的信息,组成特征键值信息,将特征键值信息与精确匹配表中特征键值索引对应的规则条款进行匹配,输出匹配的特征键值索引对应的流处理行为。
在上述方案的基础上,所述从多组KEY中提取的最优长度等同量字段,生成模糊键值,提取KEY的剩余字段,生成特征键值,具体过程包括:
将多组键值KEY记录为{KEY0,KEY1,KEY2...KEYn},n为KEY的序号;
通过提取最优长度等同量字段,生成模糊键值Ai,i为模糊键值的序号,i从0开始、到m结束,m小于n;
提取KEY的剩余字段,生成特征键值Bj,j为特征键值的序号,j从0开始、到n结束。
本发明还提供一种模糊查找的数据流识别系统,包括:
键值生成模块,用于:从多组KEY中提取的最优长度等同量字段字段,生成模糊键值;提取KEY的剩余字段,生成特征键值;
模糊查找表建立模块,用于:建立模糊查找表,用于记录每个模糊键值、模糊键值的类型和对应的特征键值索引;
精确匹配表建立模块,用于:建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为;
流识别模块,用于:需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为。
在上述方案的基础上,所述模糊查找表建立模块具体用于:
建立模糊查找表,所述模糊查找表包括多个条目,每个条目对应一个模糊键值;
每个条目包括:从KEY中提取的模糊键值,模糊键值的序号,模糊键值的类型,以及模糊键值对应的特征键值在精确匹配表中的索引。
在上述方案的基础上,所述精确匹配表建立模块具体用于:
建立精确匹配表,所述精确匹配表包括多个条目,每个条目对应一个特征键值;
每个条目包括:从KEY中提取的特征键值,特征键值的索引,特征键值的类型,以及从KEY中提取的特征键值对应的规则条款和流处理行为。
在上述方案的基础上,所述流识别模块包括模糊键值提取子模块、特征键值提取子模块、匹配子模块,其中:
模糊键值提取子模块用于:需进行流识别时,根据所有模糊键值的类型,提取待识别数据流的信息,组成模糊键值,输入模糊查找表,获得对应的特征键值索引;
特征键值提取子模块用于:根据特征键值索引对应的特征键值的类型,提取待识别数据流的信息,组成特征键值信息,输出到匹配子模块;
匹配子模块用于:将特征键值信息与特征键值索引对应的规则条款进行匹配,输出匹配的特征键值索引对应的流处理行为。
在上述方案的基础上,所述键值生成模块从多组KEY中提取的最优长度等同量字段,生成模糊键值,提取KEY的剩余字段,生成特征键值,具体过程包括:
将多组键值KEY记录为{KEY0,KEY1,KEY2...KEYn},n为KEY的序号;
通过提取最优长度等同量字段,生成模糊键值Ai,i为模糊键值的序号,i从0开始、到m结束,m小于n;
提取KEY的剩余字段,生成特征键值Bj,j为特征键值的序号,j从0开始、到n结束。
与现有技术相比,本发明的优点在于:
(1)本发明先根据业务选取多组KEY,从多组KEY中提取模糊键值和特征键值,建立模糊查找表和精确匹配表;在需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为。不仅有效减小了流表深度(由n维降低至m维,m<n),同时也降低了对比匹配的复杂度,可降低成本同时提高查询速度;缩短了匹配键值KEY,降低了对比匹配的复杂度。
(2)应用于TACM查找方式,流表深度减小就是器件深度减小,查找键值缩短就是器件宽度减小,使用本发明可同时减少TCAM器件的深度和宽度,减低成本提高查询速率。
(3)应用于HASH查找方式,查找键值缩短降低了HASH计算复杂度,匹配键值缩短不仅节省流表空间,也降低了对比匹配的复杂度。
(4)对于不同类型的KEY,提取相同的模糊键值,将多次查询变为一次查询,可减少查找次数,提高了查询效率。如业务1关注DA和DIP,业务2关注DA和SIP,业务3关注DA和VLAN;使用现有方式对单个包的流识别,需要提取DA与DIP组成KEY(0)、提取DA与SIP组成KEY(1)、提取SA和VLAN组成KEY(2)查询3次;使用本发明,只需提取DA作为模糊键值组成A(0)查询1次即可。
附图说明
图1为本发明实施例1的模糊查找的数据流识别系统的结构示意图;
图2为本发明实施例3的键值生成流程示意图;
图3为本发明实施例4的流表结构示意图;
图4为本发明实施例5的流识别过程示意图。
其中,图1中各数字代表的信息如下:
1:根据业务需求设置的多组KEY;
2:数据报文信息,如{DMAC,SMAC,VLAN…};
3:根据模糊键值类型A_TYPE提取的模糊键值信息;
4:特征键值索引(i);
5:根据特征键值类型B_TYPE提取的特征键值信息;
6:特征键值B(j,k,h...)和TYPE(j,k,h...)、规则条款、流处理行为;
7:匹配的特征键值对应的流处理行为;
8:组合和仲裁后的一组流处理行为。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
实施例1:
本发明实施例提供一种模糊查找的数据流识别方法,包括以下步骤:
从多组KEY中提取最优长度等同量字段,生成模糊键值,提取KEY的剩余字段,生成特征键值;
建立模糊查找表,用于记录各模糊键值、模糊键值的类型和对应的特征键值索引;建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为;
需进行流识别时,需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为。
建立模糊查找表,用于记录各模糊键值、模糊键值的类型和对应的特征键值索引,具体包括以下步骤:
建立模糊查找表,所述模糊查找表包括多个条目,每个条目对应一个模糊键值;
每个条目包括:从KEY中提取的模糊键值,模糊键值的序号,模糊键值的类型,以及模糊键值对应的特征键值在精确匹配表中的索引。
建立精确匹配表,具体包括以下步骤:
建立精确匹配表,所述精确匹配表包括多个条目,每个条目对应一个特征键值;
每个条目包括:从KEY中提取的特征键值,特征键值的索引,特征键值的类型,以及从KEY中提取的特征键值对应的规则条款和流处理行为。
需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为,具体包括以下步骤:
根据所有模糊键值的类型,提取待识别数据流的信息,组成模糊键值信息,输入模糊查找表,获得对应的特征键值索引;
根据所有特征键值的类型,提取待识别数据流的信息,组成特征键值信息,将特征键值信息与精确匹配表中特征键值索引对应的规则条款进行匹配,输出匹配的特征键值索引对应的流处理行为。
存在多种流处理行为时,进行组合和仲裁,输出最终的流识别结果和流处理行为。
实施例2:
参见图1所示,本发明实施例公开了一种模糊查找的数据流识别系统,键值生成模块,用于:从多组KEY中提取的最优长度等同量字段字段,生成模糊键值;提取KEY的剩余字段,生成特征键值;
模糊查找表建立模块,用于:建立模糊查找表,用于记录每个模糊键值、模糊键值的类型和对应的特征键值索引;
模糊查找表建立模块具体用于:
建立模糊查找表,所述模糊查找表包括多个条目,每个条目对应一个模糊键值;
每个条目包括:从KEY中提取的模糊键值,模糊键值的序号,模糊键值的类型,以及模糊键值对应的特征键值在精确匹配表中的索引。
精确匹配表建立模块,用于:建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为;
精确匹配表建立模块具体用于:
建立精确匹配表,所述精确匹配表包括多个条目,每个条目对应一个特征键值;
每个条目包括:从KEY中提取的特征键值,特征键值的索引,特征键值的类型,以及从KEY中提取的特征键值对应的规则条款和流处理行为。
流识别模块,用于:需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为。
流识别模块包括模糊键值提取子模块、特征键值提取子模块、匹配子模块,其中:
模糊键值提取子模块用于:需进行流识别时,根据所有模糊键值的类型,提取待识别数据流的信息,组成模糊键值,输入模糊查找表,获得对应的特征键值索引;
特征键值提取子模块用于:根据特征键值索引对应的特征键值的类型,提取待识别数据流的信息,组成特征键值信息,输出到匹配子模块;
匹配子模块用于:将特征键值信息与特征键值索引对应的规则条款进行匹配,输出匹配的特征键值索引对应的流处理行为。
该系统还包括组合和仲裁模块,其用于存在多种流处理行为时,进行组合和仲裁,输出最终的流识别结果和流处理行为。
实施例3:
在实施例1或2的基础上,从多组KEY中提取模糊键值、特征键值的具体流程参考图2所示。根据业务需求,识别多条业务流,键值KEY记录为{KEY0,KEY1,KEY2...KEYn},n为KEY的序号。通过提取最优长度等同量,生成模糊键值A,记录为{A0,A1,A2...Am},m为模糊键值的序号,m小于n;同时记录模糊键值的类型A_TYPE,其中任意多个模糊键值A的类型A_TYPE可能是相同的。
参考图2所示,从多组KEY中提取模糊键值、特征键值的具体流程如下:
101,从模糊键值循环因子i=0,特征键值循环因子j=0开始;
102,重置Ai,Ai取值为Am+1时翻转到A0;
103,重置KEYj,j表示特征键值序号;
104,判断KEYj能否表征为AiBj;若是,进入步骤105,若否,进入步骤108;
105,得到KEYj对应的AiBj;
106,判断j是否等于n,若是,结束,若否,进入步骤107;
107,j+1,返回步骤103;
108,i+1,返回步骤102。
得到KEYj对应的AiBj,同时记录特征键值的类型B_TYPE。模糊键值Ai对应与其来自于同一组KEY的多个特征键值{Bj,Bk,Bh...};记录模糊键值Ai对应的特征键值索引(i),特征键值索引(i)为特征键值集合{B(j,k,h...)}。
实施例4:
在实施例3的基础上,流表结构参考图3所示,流表分为模糊查找表和精确匹配表两部分。模糊查找表只查询模糊键值A,匹配A_TYPE,最后输出精确匹配表的特征键值索引(i),i为模糊键值序号,从0开始递增直至没有新的模糊键值。特征键值索引(i)可检索与模糊键值Ai对应多个特征键值{Bj,Bk,Bh...}的所有规则,j、k、h为特征键值序号。即{KEYj,KEYk,KEYh...}表征为{AiBj,AiBk,AiBh...}。任意模糊键值Bj的规则均包括:Bj的值、模糊键值类型B_TYPE、规则条款和流处理行为。规则条款,可灵活定义,一般包括:匹配(Match)、不匹配(Not Match)、范围(Range)、门限(Threshold)等。
实施例5:
在实施例4的基础上,流识别过程参考图4所示:
201,按A_TYPE(i)提取数据流信息组成模糊键值信息A(i),i为键值类型序号,从0开始递增直至没有新的A_TYPE;
202,采用HASH方式或者TCAM方式得到特征键值索引(i),i为模糊键值序号,特征键值索引(i)为模糊键值Ai对应的特征键值集合{B(j,k,h...)};TCAM无查找结果或A_TYPE不匹配返回空,A_TYPE(i)查询结束;
203,根据特征键值索引(i)读取精确匹配表,获得特征键值索引(i)对应的特征键值集合{B(j,k,h...)}的特征键值类型B_TYPE(j,k,h...)、规则条款、流处理行为;
204,特征键值提取子模块根据B_TYPE提取待识别的数据流信息生成特征键值信息,
205,将特征键值信息和特征键值索引(i)对应的精确匹配表中的特征键值{Bj,Bk,Bh...}进行规则条款比对,若匹配,则输出流识别结果和流行为;
206,存在多种流处理行为时,进行组合和仲裁,再输出流识别结果和流行为,流识别完成。
实施例6:
在实施例5的基础上,根据业务需求,现需要同时根据DAMC+VLAN、DMAC+IP、IP地址值或范围等3中不同包信息类型作为键值KEY进行流识别。进一步要求:
1)DMAC+VLAN,记为KEY_TYPE(0)识别3条流并作处理,分别为:
①DMAC1和VLAN1,记为KEY(0),剥离VLAN
②DMAC1和VLAN2,记为KEY(1),修改优先级cos为7
③DMAC2和VLAN3,记为KEY(2),统计报文字节数
DMAC+IP,记为KEY_TYPE(1)识别2条流,分别为:
④DMAC1和非IP1,记为KEY(3),作限速
⑤DMAC2和IP2,记为KEY(4),作镜像
特定IP地址值,记为KEY_TYPE(2)识别3条流,分别为:
⑥IP=192.168.1.100,记为KEY(5),特定路径转发
⑦IP在范围192.168.1.101-192.168.1.150之间,记为KEY(6),丢弃报文
按以下方式建立流表:
1:从多组KEY中提取的最优长度等同量生成模糊键值A。对①、②、④可提取DMAC1为模糊键值A(0),记DMAC对应的A_TYPE为0;对③、⑤可提取DMAC2为模糊键值A(1),记DMAC对应的A_TYPE为0;对⑥、⑦可提取IP地址字段值192.168.1为模糊键值A(2),并记IP对应的A_TYPE为1。
2:生成特征键值B。按图2键值生成流程可以得到该实例的特征键值B,①VLAN1即为特征键值B(0),记VLAN对应的B_TYPE为0;②VLAN2即为特征键值B(1),记B_TYPE为0;③VLAN3即为特征键值B(2),记B_TYPE为0;④IP1即为特征键值B(3),记IP对应的B_TYPE为1;⑤IP2即为特征键值B(4),记B_TYPE为1;⑥IP地址字段值100即为特征键值B(5),记IP字段对应的B_TYPE为2;⑦IP地址字段值101与150即为特征键值B(6),记B_TYPE为2。
3:建立模糊查找表和精确匹配表。按图3流表结构可得到模糊查找表和精确匹配表。建立模糊查找表如下:
同时建立精确匹配表如下:
4:对数据流进行识别,分别提取DMAC和IP地址前三字段(实施中可使用掩码255.255.255.0位与IP地址)进行模糊查找;提取VLAN,IP和IP地址第四字段(实施中可使用掩码0.0.0.255位与IP地址)生成特征键值用于进行规则条款匹配。
例如:现有业务流X,DMAC为2,VLAN为3,IP为192.168.1.128。模糊查找过程:分别提取2和192.168.1进行模糊查找,符合A(1)和A(2),进一步表中A_TYPE确定为DMAC与VLAN。A(1)得到特征键值索引B(2)与B(4),A(2)得到特征键值索引B(5)与B(6)。
精确匹配过程:同时提取3,192.168.1.128和128在索引B(2),B(4),B(5)与B(6)进行精确匹配。由精确匹配表可知,B(2)与B(6)匹配,进一步表中B_TYPE确定为VLAN和IP地址字段值。输出对应流处理结果:丢弃该报文并统计报文字节数。
本实施例对数据流进行识别,不仅限于业务流X,可支持任意报文,且处理过程相同。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (6)
1.一种模糊查找的数据流识别方法,其特征在于,包括以下步骤:
在TACM、HASH查找中,从多组KEY中提取最优长度等同量字段,生成模糊键值,提取KEY的剩余字段,生成特征键值;
建立模糊查找表,用于记录各模糊键值、模糊键值的类型和对应的特征键值索引;建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为;
需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为;
所述建立模糊查找表,用于记录各模糊键值、模糊键值的类型和对应的特征键值索引,具体包括以下步骤:
建立模糊查找表,所述模糊查找表包括多个条目,每个条目对应一个模糊键值;
每个条目包括:从KEY中提取的模糊键值,模糊键值的序号,模糊键值的类型,以及模糊键值对应的特征键值在精确匹配表中的索引;
所述建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为,具体包括以下步骤:
建立精确匹配表,所述精确匹配表包括多个条目,每个条目对应一个特征键值;
每个条目包括:从KEY中提取的特征键值,特征键值的索引,特征键值的类型,以及从KEY中提取的特征键值对应的规则条款和流处理行为。
2.如权利要求1所述的一种模糊查找的数据流识别方法,其特征在于:所述需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为,具体包括以下步骤:
根据所有模糊键值的类型,提取待识别数据流的信息,组成模糊键值信息,输入模糊查找表,获得对应的特征键值索引;
根据所有特征键值的类型,提取待识别数据流的信息,组成特征键值信息,将特征键值信息与精确匹配表中特征键值索引对应的规则条款进行匹配,输出匹配的特征键值索引对应的流处理行为。
3.如权利要求1所述的一种模糊查找的数据流识别方法,其特征在于:所述从多组KEY中提取的最优长度等同量字段,生成模糊键值,提取KEY的剩余字段,生成特征键值,具体过程包括:
将多组键值KEY记录为{KEY0,KEY1,KEY2...KEYn},n为KEY的序号;
通过提取最优长度等同量字段,生成模糊键值Ai,i为模糊键值的序号,i从0开始、到m结束,m小于n;
提取KEY的剩余字段,生成特征键值Bj,j为特征键值的序号,j从0开始、到n结束。
4.一种模糊查找的数据流识别系统,其特征在于,包括:
键值生成模块,用于:在TACM、HASH查找中,从多组KEY中提取的最优长度等同量字段字段,生成模糊键值;提取KEY的剩余字段,生成特征键值;
模糊查找表建立模块,用于:建立模糊查找表,用于记录每个模糊键值、模糊键值的类型和对应的特征键值索引;
精确匹配表建立模块,用于:建立精确匹配表,用于记录各特征键值、特征键值的类型、规则条款和流处理行为;
流识别模块,用于:需进行流识别时,从待识别的数据流中提取模糊键值信息和特征键值信息,输入模糊键值表和精确匹配表,获得匹配的流处理行为;
所述模糊查找表建立模块具体用于:
建立模糊查找表,所述模糊查找表包括多个条目,每个条目对应一个模糊键值;
每个条目包括:从KEY中提取的模糊键值,模糊键值的序号,模糊键值的类型,以及模糊键值对应的特征键值在精确匹配表中的索引;
所述精确匹配表建立模块具体用于:
建立精确匹配表,所述精确匹配表包括多个条目,每个条目对应一个特征键值;
每个条目包括:从KEY中提取的特征键值,特征键值的索引,特征键值的类型,以及从KEY中提取的特征键值对应的规则条款和流处理行为。
5.如权利要求4所述的一种模糊查找的数据流识别系统,其特征在于:所述流识别模块包括模糊键值提取子模块、特征键值提取子模块、匹配子模块,其中:
模糊键值提取子模块用于:需进行流识别时,根据所有模糊键值的类型,提取待识别数据流的信息,组成模糊键值,输入模糊查找表,获得对应的特征键值索引;
特征键值提取子模块用于:根据特征键值索引对应的特征键值的类型,提取待识别数据流的信息,组成特征键值信息,输出到匹配子模块;
匹配子模块用于:将特征键值信息与特征键值索引对应的规则条款进行匹配,输出匹配的特征键值索引对应的流处理行为。
6.如权利要求4所述的一种模糊查找的数据流识别系统,其特征在于:所述键值生成模块从多组KEY中提取的最优长度等同量字段,生成模糊键值,提取KEY的剩余字段,生成特征键值,具体过程包括:
将多组键值KEY记录为{KEY0,KEY1,KEY2...KEYn},n为KEY的序号;
通过提取最优长度等同量字段,生成模糊键值Ai,i为模糊键值的序号,i从0开始、到m结束,m小于n;
提取KEY的剩余字段,生成特征键值Bj,j为特征键值的序号,j从0开始、到n结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008917.9A CN109815263B (zh) | 2019-01-04 | 2019-01-04 | 一种模糊查找的数据流识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008917.9A CN109815263B (zh) | 2019-01-04 | 2019-01-04 | 一种模糊查找的数据流识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815263A CN109815263A (zh) | 2019-05-28 |
CN109815263B true CN109815263B (zh) | 2021-10-26 |
Family
ID=66603986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910008917.9A Active CN109815263B (zh) | 2019-01-04 | 2019-01-04 | 一种模糊查找的数据流识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815263B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442570B (zh) * | 2019-06-06 | 2021-08-17 | 北京左江科技股份有限公司 | 一种BitMap高速模糊查找方法 |
CN112367262B (zh) * | 2020-08-20 | 2022-07-05 | 国家计算机网络与信息安全管理中心 | 一种五元组规则的匹配方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743166B2 (en) * | 2003-04-04 | 2010-06-22 | Ellacoya Networks, Inc. | Scaleable flow-based application and subscriber traffic control |
US7983896B2 (en) * | 2004-03-05 | 2011-07-19 | SDL Language Technology | In-context exact (ICE) matching |
CN101242336B (zh) * | 2008-03-13 | 2010-12-01 | 杭州华三通信技术有限公司 | 远程访问内网Web服务器的方法及Web代理服务器 |
US8300525B1 (en) * | 2009-01-30 | 2012-10-30 | Juniper Networks, Inc. | Managing a flow table |
KR101328172B1 (ko) * | 2009-09-01 | 2013-11-13 | 한국전자통신연구원 | 문자열 매칭 방법 |
US8886827B2 (en) * | 2012-02-13 | 2014-11-11 | Juniper Networks, Inc. | Flow cache mechanism for performing packet flow lookups in a network device |
CN103905311B (zh) * | 2012-12-28 | 2017-02-22 | 华为技术有限公司 | 流表匹配方法和装置以及交换机 |
CN108173763B (zh) * | 2013-08-28 | 2021-06-01 | 华为技术有限公司 | 报文处理方法、设备及系统 |
CN103581044A (zh) * | 2013-11-04 | 2014-02-12 | 汉柏科技有限公司 | 一种流量统计方法和装置 |
CN108011823B (zh) * | 2016-11-01 | 2021-11-19 | 中兴通讯股份有限公司 | 多域流表的多级化方法及装置、多级流表查找方法及装置 |
CN108600107B (zh) * | 2017-11-07 | 2021-06-01 | 北京交通大学 | 一种可自定义内容字段的流匹配方法 |
-
2019
- 2019-01-04 CN CN201910008917.9A patent/CN109815263B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109815263A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9984144B2 (en) | Efficient lookup of TCAM-like rules in RAM | |
US10496680B2 (en) | High-performance bloom filter array | |
US9098601B2 (en) | Ternary content-addressable memory assisted packet classification | |
EP1623347B1 (en) | Comparison tree data structures and lookup operations | |
US7684400B2 (en) | Logarithmic time range-based multifield-correlation packet classification | |
CN107967219B (zh) | 一种基于tcam的大规模字符串高速查找方法 | |
US7953082B2 (en) | Method and system for packet classification with reduced memory space and enhanced access speed | |
TWI683587B (zh) | 用於唯一枚舉解析樹中的路徑的裝置和方法 | |
US20040230583A1 (en) | Comparison tree data structures of particular use in performing lookup operations | |
JP3881663B2 (ja) | フィールドレベルツリーを用いたパケット分類装置及び方法 | |
CN109815263B (zh) | 一种模糊查找的数据流识别方法及系统 | |
CN111988231B (zh) | 一种掩码五元组规则匹配的方法及装置 | |
US11327974B2 (en) | Field variability based TCAM splitting | |
CN112131356B (zh) | 一种基于tcam的报文关键字匹配方法和装置 | |
US6970971B1 (en) | Method and apparatus for mapping prefixes and values of a hierarchical space to other representations | |
US20040044868A1 (en) | Method and apparatus for high-speed longest prefix match of keys in a memory | |
US11502957B2 (en) | Avoiding markers for longest prefix match based on binary search tree algorithm | |
KR100662254B1 (ko) | 라우팅 시스템에서의 패킷 분류 장치 및 이를 위한 룰 구축 방법 | |
CN115834478A (zh) | 一种利用tcam实现pbr高速转发的方法 | |
US10205658B1 (en) | Reducing size of policy databases using bidirectional rules | |
Dai et al. | An advanced TCAM-sram architecture for ranges towards minimizing packet classifiers | |
US11929837B2 (en) | Rule compilation schemes for fast packet classification | |
CN114039915B (zh) | 根据存取控制列表进行封包处理的方法和系统 | |
US11924102B2 (en) | Minimizing deviation from average latency of table lookups | |
US11968285B2 (en) | Efficient memory utilization for cartesian products of rules |
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 |