一种精确识别网络应用流量的方法技术

技术编号:10217084 阅读:155 留言:0更新日期:2014-07-16 14:19
本发明专利技术公开了一种精确识别网络应用流量的方法,所述方法对主机产生的流进行匹配,即依次将流中的每个数据包与规则链中的每条规则按顺序进行匹配,若某个数据包匹配到一个确定规则,则匹配完成,否则匹配到非确定规则,则记录下所匹配规则对应的应用并继续匹配直到匹配到一个确定规则或者匹配次数达到预设值,若匹配过程为达到预设值而停止则选择优先级最高的非确定规则为最终匹配规则。所述识别方法能够在有多种应用共存的实际复杂网络环境中实时准确地识别各种应用的流量,能有效提高应用识别的精确度和粒度,同时有效避免不同应用间特征的重叠或冲突造成的误识别。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,所述方法对主机产生的流进行匹配,即依次将流中的每个数据包与规则链中的每条规则按顺序进行匹配,若某个数据包匹配到一个确定规则,则匹配完成,否则匹配到非确定规则,则记录下所匹配规则对应的应用并继续匹配直到匹配到一个确定规则或者匹配次数达到预设值,若匹配过程为达到预设值而停止则选择优先级最高的非确定规则为最终匹配规则。所述识别方法能够在有多种应用共存的实际复杂网络环境中实时准确地识别各种应用的流量,能有效提高应用识别的精确度和粒度,同时有效避免不同应用间特征的重叠或冲突造成的误识别。【专利说明】
本专利技术属于网络流量监测和性能分析领域,涉及一种网络应用的流量识别方法。
技术介绍
流量识别是网络流量可管可控的基础,提高流量识别的准确性对提高网络管理监控的有效性十分重要。现有的流量识别方法有传统的依据端口识别的方法、对数据包内容进行特征匹配、对数据包平均包大小进行特征匹配等方法。目前也已有一些流量识别引擎,实现了常见应用的识别规则库,通过在网络中捕获流量与规则库匹配,能够实现对网络中常见应用的识别。当前已有的流量识别方法重点都放在对单个应用的识别,但在复杂的实际网络环境当中,多种应用并存,流量识别引擎的规则库中也存在多个匹配不同的单一应用的识别规则,而不同应用的识别特征可能存在重叠或冲突,一个应用有可能匹配到多个识别规则,在这种情况下如何精确识别应用层流量就成为流量识别引擎在实际网络环境中应用需要解决的问题。例如很多网站流量都符合http应用的特征,但要具体识别和控制某个网站的流量,仅仅识别为http应用是不够的。当前的流量识别引擎的识别规则库都是对单一应用的识别规则的简单组合,对于不同应用识别规则的重叠或冲突如何处理没有考虑。本专利技术就是针对这个问题而提出的。
技术实现思路
专利技术目的:本专利技术的目的是针对现有技术的不足而提供一种网络应用的流量识别方法,解决了复杂网络环境中不同应用的识别规则存在重叠或冲突的问题,能够精确计算出每个应用的网络流量。技术方案:为了实现专利技术目的,本专利技术采用以下技术方案:,包括以下步骤: 步骤一、识别规则的生成和划分:首先设定一系列识别规则,并依据识别规则对应的应用流量的确定性或唯一性进行划分,当识别规则对应的应用流量是确定的或唯一的,此时的识别规则视为确定规则,并对确定规则的优先级别进行标识;当识别规则对应的应用流量是非确定的,此时的识别规则视为非确定规则,并对非确定规则的优先级别进行标识;最后将所有的识别规则形成一个识别规则库; 步骤二、识别规则的排序:排序原则如下:确定规则优先于非确定规则,同时确定规则和非确定中,又按照优先级别进行排序,最后形成规则链; 步骤三、识别规则的匹配:对每个带匹配的流,依次将流中的每个数据包与规则链中的每条规则按照规则链顺序进行匹配,如果某个数据包匹配到一个确定的规则,匹配完成;如果匹配到非确定的规则,则记录下所匹配的规则对应的应用,继续匹配过程,如果一直没有数据包匹配到一个确定的规则,则匹配到第N个数据包时停止匹配,N的数值可以根据需求自定义,在停止匹配时如果过程中有匹配到非确定的规则,则选择其中优先级最高的作为最终匹配规则。作为优选,所述设定的识别规则的特征为公共特征时,该识别规则为非确定规则;所述设定的识别规则的特征为个别特征,则该识别规则为确定规则;所述设定的识别规则的特征越复杂,其对应的识别规则的优先级别越高 有益效果:本专利技术与现有技术相比,能够在有多种应用共存的实际复杂网络环境中实时准确地识别各种应用的流量,能有效提高应用识别的精确度和粒度,同时有效避免不同应用间特征的重叠或冲突造成的误识别。【专利附图】【附图说明】图1为本专利技术网络应用的流量识别方法的流程图。【具体实施方式】下面结合附图对本专利技术作更进一步的说明。在实际网络中,多种应用的流量共存,不同应用常常会具有一些重叠或冲突的特征,这给应用在实际网络中的流量识别系统精确识别每一种应用带来了挑战。之所以出现不同应用特征的重叠或冲突,一种情况是多种应用属于同一个公司的产品或者运行在同一个公共平台或者能归类为同一种协议,因而具有一些共同的特征;另一种情况是有些应用的特征唯一性比较弱,容易随机出现在其它应用的数据包中。不论是哪种情况,都有必要处理这些重叠或冲突的特征,以达到提高识别的精确度和粒度,降低误识别率的目的。本专利技术提出的方法正是用于解决这个问题。如图1所示,流量捕获引擎接收到待识别的流,将待识别流中的数据包按顺序开始识别;将数据包与识别规则库中的规则按顺序进行匹配,识别规则库包括确定规则和不确定规则,其中确定规则为个别识别特征,不确定规则为公共识别特征,而确定规则和非确定规则中优先级根据设别规则的复杂性、特别性以及随机出现概率设定,越复杂越特别且越难以随机出现的识别特征优先级越高;匹配规则是否成功,若成功则记录下所匹配规则所对应的应用,并判断匹配到的规则是否为确定规则,若为确定规则则完成匹配规则,得到所对应的应用,若为不确定规则则判断匹配次数是否达到预设数值,若匹配规则不成功,则也去判断匹配次数是否达到预设数值;若已经到达预设数值,则匹配完成,并且选择优先级最高的非确定规则为最终匹配规则,若还没达到预设数值,则继续从待识别流中提取数据包进行匹配。下面结合实施例对本专利技术作更进一步的说明。对于多种应用属于同一个公司的产品或者运行在同一个公共平台的情况,例如与新浪网有关的多种应用,如新浪电视直播、新浪视频、新浪UC聊天等都具有新浪网的共同特征,即URL后缀为“sina.com.cn”,不同的是各个应用除此之外还有自己专属的特征,如新浪电视直播的URL后缀为“tv.sina.com.cn”,新浪视频的URL后缀为”video, sina.com.cn “,新浪 UC 的 URL 后缀为”uc.sina.com.cn “。在这里,URL 后缀为”sina.com.cn “的规则就属于公共特征的规则,同时这条规则特征比较明确且唯一,与其他与新浪网无关的应用的特征重叠或冲突的概率不高,因此可以设为确定的规则,同时将规则优先级设为较低的2级,而将新浪电视直播、新浪视频、新浪UC聊天这几个应用的上述URL后缀特征规则设为确定的规则,同时将规则优先级设为较高的I级。这样就可以优先匹配新浪电视直播、新浪视频、新浪UC聊天等应用,避免了这些应用由于它们所具有的公共的新浪网特征而被误识别为普通的新浪网应用,同时也做到了对新浪网相关应用的细粒度高精度的识别。很多应用都像这样具有相同的公共特征和不同的专属特征,包括大部分新浪这样的网站应用和下属的子页面或子应用,还有腾讯这样的旗下产品众多的公司的各个下属应用,以及一些游戏公司开发的多款游戏等等,通过设置规则的确定性和优先级的方法将这些应用的规则与公共规则加以区分,有效的做到了精确识别各个子类应用,同时又避免各个子类应用及其与公共平台应用之间特征的重叠或冲突造成的误识别。对于多种应用能归类为同一种协议的情况,典型的例如所有的网站类应用都具有http协议的特征,如果要精确识别各个网站应用,而不是一律识别为http,就需要把公共的http协议特征对应的规则设置为优先级较低的规则,对于http端口特征这类容易先于网站专属特征被本文档来自技高网
...

【技术保护点】
一种精确识别网络应用流量的方法,其特征在于包括以下步骤:步骤一、识别规则的生成和划分:首先设定一系列识别规则,并依据识别规则对应的应用流量的确定性或唯一性进行划分,当识别规则对应的应用流量是确定的或唯一的,此时的识别规则视为确定规则,并对确定规则的优先级别进行标识;当识别规则对应的应用流量是非确定的,此时的识别规则视为非确定规则,并对非确定规则的优先级别进行标识;最后将所有的识别规则形成一个识别规则库;步骤二、识别规则的排序:排序原则如下:确定规则优先于非确定规则,同时确定规则和非确定中,又按照优先级别进行排序,最后形成规则链;步骤三、识别规则的匹配:对每个带匹配的流,依次将流中的每个数据包与规则链中的每条规则按照规则链顺序进行匹配,如果某个数据包匹配到一个确定的规则,匹配完成;如果匹配到非确定的规则,则记录下所匹配的规则对应的应用,继续匹配过程,如果一直没有数据包匹配到一个确定的规则,则匹配到第N个数据包时停止匹配,N的数值可以根据需求自定义,在停止匹配时如果过程中有匹配到非确定的规则,则选择其中优先级最高的作为最终匹配规则。

【技术特征摘要】

【专利技术属性】
技术研发人员:郑红霞张广兴谢高岗付乔宾
申请(专利权)人:江苏省未来网络创新研究院
类型:发明
国别省市:江苏;32

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

1