【技术实现步骤摘要】
一种用于数据名匹配的多模式匹配方法
[0001]本专利技术涉及命名数据网络
、
多模式匹配
、
数据包转发领域,尤其是一种用于数据名匹配的多模式匹配方法
。
技术介绍
[0002]在以命名数据为核心的新型互联网架构中,除了数据包负载中的数据,包头中的数据名也需要进行匹配识别
。
命名数据网络
(NDN)
作为这类新型互联网架构的代表,其标准协议栈
NDN
‑
CXX
中内置了对数据名正则匹配的支持
。
然而,随着网络规模和用户数量的增长,特别是
5G
网络时代的到来,用户规则
、
规模可达百万级,而单模匹配的方式需要逐条规则构造模式规则
(Pattern)
进行识别,这种实现方式是不切实际的,需要采用多模式匹配的算法
。
[0003]现有多模式匹配算法,例如,
AC
自动机算法
、Wu
‑
Manber
算法,以及英特尔在其开源工具
Hyperscan
中内置的多模式匹配版本的
Shift
‑
OR
算法,被用于对数据流进行字节级的匹配,在诸多互联网应用场景中均有应用,例如入侵检测系统
、
访问控制系统和深度包检测系统
。
在这些场景中,检测目标通常是数据包报文中携带的数据流,例如
URL
字符 ...
【技术保护点】
【技术特征摘要】
1.
一种用于数据名匹配的多模式匹配方法,其特征在于,包括:对数据名任一组件,从预处理表中以该组件为
Key
查询组件
Code
,查询到,将该组件替换为查询到的组件
Code
,并以该组件为
Key
查询
Data
指针,该查询到的
Data
指针指向的
Pattern
,为匹配的单组件
Pattern
;未查询到组件
Code
,将该组件替换为异常组件标识,得到组件化数据名;将组件
Code
作为字符块,采用
Wu
‑
Manber
算法,确定匹配的非单组件
Pattern
;其中,所述预处理表,在初始化
Pattern
集时创建,在将其中非单组件
Pattern
的各组件替换成组件
Code
时,保存各组件和其组件
Code
的映射关系;并保存其中各单组件
Pattern
的组件和单组件
Pattern
的
Data
指针之间的映射关系;所述组件
Code
和所述异常组件标识长度相同,均为固定长度的字符串
。2.
根据权利要求1所述的方法,其特征在于,对于非单组件
Pattern
的任一组件,所述替换成组件
Code
,保存组件和其组件
Code
的映射关系,包括:从预处理表中以该组件为
Key
查询组件
Code
,查询成功,以查询到的组件
Code
,替换该非单组件
Pattern
中的该组件;查询失败,将该组件转换为组件
Code
,将该组件与组件
Code
的映射关系插入预处理表中,并以该组件
Code
替换该非单组件
Pattern
中的该组件
。3.
根据权利要求1所述的方法,其特征在于,还包括,维护一个任意的初始编码
CodeBase
;相应的,所述将组件转换为组件
Code
,包括:将
CodeBase
递增1作为
CodeBase
;以
CodeBase
作为该组件的组件
Code。4.
根据权利要求1所述的方法,其特征在于,对于非单组件
Pattern
的任一组件,所述替换成组件
Code
,保存组件和其组件
Code
的映射关系,包括:从预处理表中以该组件为
Key
查询组件
Code
,查询成功,以查询到的组件
Code
...
【专利技术属性】
技术研发人员:许可,李彦彪,谢高岗,张大方,
申请(专利权)人:中国科学院计算机网络信息中心,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。