基于众核处理器的网络流量深度识别系统及识别方法

文档序号:8945602阅读:194来源:国知局
基于众核处理器的网络流量深度识别系统及识别方法
【技术领域】
[0001]本发明属于网络流量管理技术领域,涉及一种基于众核处理器的网络流量深度识别系统,还涉及使用上述识别系统对网络流量进行深度识别的识别方法。
【背景技术】
[0002]目前,各大网络运营商对网络流量的管理仅限于粗放型的管理。许多运营商对自身网络的管理仍旧停留在采用SNMP技术的基础之上,对网络流量的监管仅限于对自身网络设备承载能力的考虑,而对于网络流量中具体的内容,流量中所包含的用户行为信息并没有进行有效的监控和利用。
[0003]以往的使用基于端口的方法监控网络流量的技术,使用起来虽然快速、简单,但随着IPv4地址的耗尽,IP地址和端口的转换越来越频繁,加上应用设计者设计应用时采用端口的任意性,该技术已经变得越来越不可靠;并且此技术最终只识别到传输层数据,并不能根据应用层数据进一步得到用户行为信息。采用机器学习的方法监控流量的技术,在针对混淆和加密后的流量时特别有效。但该技术对流量的监控依赖于对特定应用所产生流量的特征,而对流量特征的提取需要经过长期的观察,才能找出不同流量之间的差别。
[0004]目前最可靠的技术是一种基于流量负载的流量分类方法,通过识别网络数据包中与应用相关的字符串或者执行更复杂的语法匹配来识别应用。它可以通过检测网络数据包中那些法律范围内允许的可以公开的数据,来对网络流量进行有效的监管。现代的技术使得对网络数据包的加密,协议的混淆和封装都变得非常的容易,但是由于高带宽下昂贵的计算开销,使得传统平台上无法实时处理高带宽下的网络流量。这是基于负载的流量分类技术目前所面临的最直接的问题。

【发明内容】

[0005]本发明的目的是提供一种基于众核处理器的网络流量深度识别系统,在众核处理器的平台上采用一种基于负载的流量分类技术,不仅解决传统网络流量识别系统只能分析流量协议类型、不能得到详细用户行为信息的问题,还解决了传统网络流量识别系统无法实时在线处理高速网络流量的问题。
[0006]本发明的另一个目的是提供一种基于众核处理器的网络流量深度识别系统的识别方法。
[0007]本发明所采用的一个技术方案是,一种基于众核处理器的网络流量深度识别系统,包括获取原始网络数据的接收模块和存储有基于语义的匹配规则的基于语义的规则模块;接收模块连接有根据自定义的正则表达式识别传输层数据在应用层所使用的协议类型的协议规范模块,协议规范模块连接有对应用层数据进行结构化处理的结构化数据模块;基于语义的规则模块连接有能够按照匹配规则的特定格式逐字段解析出每个字段的内容的规则解析模块,规则解析模块连接有将解析的规则生成层次匹配树的层次匹配树模块;结构化数据模块和层次匹配树模块均与能够进行数据与正则表达式匹配的匹配引擎模块相连,匹配引擎模块还连接有储存匹配成功的结果的用户行为统计模块。
[0008]本发明还具有以下特点:
[0009](I)基于语义的规则模块中的规则库是按照每条匹配规则一行的格式保存在规则文件中形成的;匹配规则由业务字段和识别字段组合;
[0010]业务字段中有四个字段:应用名称,应用行为,操作系统和代理,四个字段通过符号相互隔开;应用名称和应用行为由具体的用户行为来定义,操作系统和代理由网络协议确定,对于无法确定的操作系统或代理,使用All来表示任意的操作系统或代理;业务字段的具体形式为:应用名称@应用行为@操作系统@代理;
[0011]识别字段中有三个字段:协议、协议域何协议域的正则表达式,通过“I”符号相互隔开;加上解密方式Decode后的具体形式为:[协议:协议域1,协议域2,协议域3] I [Decode] | [表达式1,表达式2,表达式3]。
[0012]本发明采用的另一个技术方案是,使用上述识别系统对网络流量进行深度识别的识别方法,包括以下步骤:
[0013]步骤I,规则解析
[0014]由基于语义的规则模块建立基于语义的规则库,再通过规则解析模块对规则库内的规则进行解析,然后生成层次匹配树;
[0015]步骤2,接收流量
[0016]接收模块获取原始网络数据,并对原始网络数据依次进行IP碎片重组处理和TCP重组处理,得到传输层数据;
[0017]步骤3,多协议解析
[0018]根据协议规范模块定义的协议规范正则表达式识别出传输层数据在应用层所使用的协议类型,再按照判断得到的协议类型,通过结构化协议数据模块对应用层数据进行结构化处理;
[0019]步骤4,匹配引擎
[0020]匹配引擎模块根据层次匹配树对结构化的应用层数据进行规则匹配,将匹配成功的结果交给用户行为统计模块进行统计,完成网络流量深度识别。
[0021]本发明还具有以下特点:
[0022](I)步骤I中基于语义的规则库的建立方法为:
[0023]I)分别定义匹配规则的业务字段和识别字段:
[0024]定义业务字段中的四个字段:应用名称,应用行为,操作系统和代理,使用“O”符号将以上四个字段隔开;应用名称和应用行为由具体的用户行为来确定,操作系统和代理由网络协议确定,对于无法确定的操作系统或代理,使用All来表示任意的操作系统或代理;业务字段的具体形式为:应用名称@应用行为@操作系统@代理;
[0025]定义识别字段中的三个字段:协议、协议域何协议域的正则表达式,通过“ I ”符号相互隔开,加上解密方式Decode后的具体形式为:[协议:协议域1,协议域2,协议域3] I [Decode] | [表达式1,表达式2,表达式3];
[0026]2)将业务字段和识别字段组合,并使用“ I ”符号隔开,按照每条匹配规则一行的格式保存在规则文件中,形成规则库。
[0027](2)步骤I中对规则库内的规则进行解析包括对规则的业务字段解析和识别字段解析:业务字段中各业务子字段由@分隔,通过逐层分隔字符串得到相应业务子字段对应的值;识别字段中各识别子字段由I分隔,通过逐层分隔字符串得到相应识别子字段的值。
[0028](3)步骤I中生成层次匹配树具体方法为:将解析后的整个规则集根据协议域划分成多个子集,每一个子集构建一个匹配器,根据前一个匹配器匹配完成后可能进入的下一个匹配器,来生成规则层次匹配树。
[0029]还可以进一步对以上的层次匹配树进行精简,把每一个协议域字段中没有与之相匹配的规则单独提取出来,可以得到精简后的规则层次匹配树。
[0030]本发明的有益效果是:本发明的基于众核处理器的网络流量深度识别系统不仅能够识别应用层流量协议类型、详细用户行为信息,还满足对高速网络流量的实时在线处理能力。本发明的识别系统可应用于各种众核处理器,均能实现对网络流量进行深度识别的目的。
【附图说明】
[0031]图1是本发明基于众核处理器的网络流量深度识别系统的结构示意图;
[0032]图2是本发明识别方法的方法流程图;
[0033]图3是本发明实施例的网络流量深度识别的流程图;
[0034]图4是本发明实施例的将规则集划分成多个子集的示意图;
[0035]图5是本发明实施例的层次匹配树;
[0036]图6是本发明实施例精简后的层次匹配树;
[0037]图7是本发明实施例应用层数据进行结构化的结果示意图。
[0038]图中,1.接收模块,2.协议规范模块,3.结构化数据模块,4.基于语义的规则模块,5.规则解析模块,6.层次匹配树模块,7.匹配引擎模块,8.用户行为统计模块。
【具体实施方式】
[0039]下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0040]本发明提供了一种基于众核处理器的网络流量深度识别系统,包括接收模块I和基于语义的规则模块4 ;接收模块I依次连接有协议规范模块2和结构化数据模块3 ;基于语义的规则模块4依次连接有规则解析模块5和层次匹配树模块6,结构化数据模块3和层次匹配树模块6均与匹配引擎模块7相连,匹配引擎模块7还与用户行为统计模块8相连,各模块的连接关系见图1。
[0041]接收模块I获取原始网络数据,并对数据包进行IP
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1