System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种dpi关键字匹配方法及系统技术方案_技高网

一种dpi关键字匹配方法及系统技术方案

技术编号:40930227 阅读:3 留言:0更新日期:2024-04-18 14:51
本发明专利技术公开了一种dpi关键字匹配方法及系统,其涉及网络报文处理技术领域,旨在解决随着规则库的增大,AC自动机算法的时间复杂度会急剧增加,从而导致DPI设备的性能下降的问题,其技术方案要点是S1:字符串预处理和规则集合,对规则组预处理,判断是否需要用到关键字检索模块,最终生成AC算法的模式串;S2:解析和标记,通过解析报文,标记各个字段的起始和结束位置;S3:AC匹配报文,AC自动机是一种用于多模式匹配的字符串匹配算法,在一个文本串中同时查找多个模式串出现的位置,通过一次AC报文,即可输出全部字符串的命中信息;S4:判断规则命中情况,对输出的AC报文加以判断。达到了提高程序的稳定性和可靠性的效果。

【技术实现步骤摘要】

本专利技术涉及网络报文处理,尤其是涉及一种dpi关键字匹配方法及系统


技术介绍

1、随着网络数据流量的不断增加,一些dpi设备需要处理海量的数据包,这会导致dpi设备的处理能力达到极限,从而影响检索效率,当dpi设备需要匹配多种规则时,会出现一些重复字符串的情况。

2、上述中的现有技术方案存在以下缺陷:这些重复字符串可能会导致匹配算法的效率下降,从而影响设备的性能,一套完整的dpi规则库通常包含数百万条规则,如何高效地匹配和命中这样的规则库成为了一个挑战,随着规则库的增大,ac自动机算法的时间复杂度会急剧增加,从而导致dpi设备的性能下降。


技术实现思路

1、本专利技术的目的是提供一种有效地优化dpi规则匹配性能和降低内存开销的dpi关键字匹配方法及系统。

2、为实现上述目的,本专利技术提供了如下技术方案:

3、一种dpi关键字匹配方法及系统,其方法如下:

4、s1:字符串预处理和规则集合,对规则组预处理,判断是否需要用到关键字检索模块,最终生成ac算法的模式串;

5、s2:解析和标记,通过解析报文,标记各个字段的起始和结束位置;

6、s3:ac匹配报文,ac自动机是一种用于多模式匹配的字符串匹配算法,在一个文本串中同时查找多个模式串出现的位置,通过一次ac报文,即可输出全部字符串的命中信息;

7、s4:判断规则命中情况,对输出的ac报文加以判断,防止出现误命中的情况。

8、进一步地,所述s1中的规则组具体为常见的dpi规则,五元组规则、关键字规则、音视频规则、组合规则、正则规则、http和https规则、模型规则、dns规则、app应用规则。

9、进一步地,所述s1中关键字规则分为固定位特征、全包浮动和范围内浮动。

10、进一步地,所述s2解析和标记的种类为dns信息,源端口、目的端口、源ip、目的ip、协议id、http报文的头部信息,如host、user-agent、accept、https报文的client hello里面的域名。

11、进一步地,所述s1中dpi规则具体为host命中“baidu.com”、命中关键字“abc”和url命中“123456”。

12、进一步地,所述s1中ac算法的模式串具体为baidu.com、abc和123456。

13、进一步地,所述s2中报文解析过程中假设报文的长度是n,则n=x+y+z,host的起始位置是start+x,结束位置是start+x+y。

14、进一步地,所述s2中解析报文根据ac的命中情况,判断出该报文分别在报文的120字节和400字节处,命中了两次“baidu.com”。

15、进一步地,所述s4中ac算法只会输出字符串的命中信息,不知道是否命中了规则,假设dpi下了一条host中有“baidu”字符的规则,此时如果ac命中了cookie位置的“baidu”,此时,不加以判断,就会出现误命中的情况。

16、

17、

18、综上所述,本专利技术的有益技术效果为:

19、1、本专利技术降低计算成本,减少字符串匹配次数可以降低计算成本,节省计算资源,传统方案,先解析报文将解析内容缓存曹内存中,再将不通的内容多次与规则对比,不仅浪费内存、还耗费大量cpu资源进行字符串匹配;

20、2、本专利技术一次ac匹配,完成所有规则的模式匹配,空间占用小,只需要o(m+kl)的存储空间,其中m是模式串总长度,k是模式串数量,l是报文长度大小;

21、3、本专利技术减少出错几率,字符串匹配通常涉及大量的数据处理和逻辑判断,减少匹配可以降低出错的可能性,提高程序的稳定性和可靠性。

本文档来自技高网...

【技术保护点】

1.一种dpi关键字匹配方法及系统,其特征在于:其方法如下:

2.根据权利要求1所述的一种dpi关键字匹配方法及系统,其特征在于:所述S1中的规则组具体为常见的dpi规则,五元组规则、关键字规则、音视频规则、组合规则、正则规则、http和https规则、模型规则、DNS规则、APP应用规则。

3.根据权利要求2所述的一种dpi关键字匹配方法及系统,其特征在于:所述S1中关键字规则分为固定位特征、全包浮动和范围内浮动。

4.根据权利要求3所述的一种dpi关键字匹配方法及系统,其特征在于:所述S2解析和标记的种类为DNS信息,源端口、目的端口、源ip、目的ip、协议ID、http报文的头部信息,如Host、User-Agent、Accept、https报文的client hello里面的域名。

5.根据权利要求4所述的一种dpi关键字匹配方法及系统,其特征在于:所述S1中dpi规则具体为host命中“baidu.com”、命中关键字“abc”和Url命中“123456”。

6.根据权利要求5所述的一种dpi关键字匹配方法及系统,其特征在于:所述S1中AC算法的模式串具体为baidu.com、abc和123456。

7.根据权利要求6所述的一种dpi关键字匹配方法及系统,其特征在于:

8.根据权利要求7所述的一种dpi关键字匹配方法及系统,其特征在于:所述S2中解析报文根据AC的命中情况,判断出该报文分别在报文的120字节和400字节处,命中了两次“baidu.com”。

9.根据权利要求8所述的一种dpi关键字匹配方法及系统,其特征在于:所述S4中AC算法只会输出字符串的命中信息,不知道是否命中了规则,假设DPI下了一条host中有“baidu”字符的规则,此时如果AC命中了cookie位置的“baidu”,此时,不加以判断,就会出现误命中的情况。

10.根据权利要求9所述的一种dpi关键字匹配方法及系统,其特征在于:所述S4中判断过程为If(X<AcOffst&&(X+Y)>AcOffst){

...

【技术特征摘要】

1.一种dpi关键字匹配方法及系统,其特征在于:其方法如下:

2.根据权利要求1所述的一种dpi关键字匹配方法及系统,其特征在于:所述s1中的规则组具体为常见的dpi规则,五元组规则、关键字规则、音视频规则、组合规则、正则规则、http和https规则、模型规则、dns规则、app应用规则。

3.根据权利要求2所述的一种dpi关键字匹配方法及系统,其特征在于:所述s1中关键字规则分为固定位特征、全包浮动和范围内浮动。

4.根据权利要求3所述的一种dpi关键字匹配方法及系统,其特征在于:所述s2解析和标记的种类为dns信息,源端口、目的端口、源ip、目的ip、协议id、http报文的头部信息,如host、user-agent、accept、https报文的client hello里面的域名。

5.根据权利要求4所述的一种dpi关键字匹配方法及系统,其特征在于:所述s1中dpi规则具体为host命中“baidu.com”、命中关键字“abc”和url命中“123456”。...

【专利技术属性】
技术研发人员:李彤
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1