一种识别动态特征应用流量的方法

文档序号:7855949阅读:164来源:国知局
专利名称:一种识别动态特征应用流量的方法
技术领域
本发明涉及计算机网络流量监测和性能分析技术领域,具体地说,本发明涉及一种识别应用流量的方法。
背景技术
流量识别是网络流量管控的基础,提高流量识别的准确性对提高网络管理监控的有效性十分重要。传统的流量识别方法有依据固定端口识别的方法、基于数据包内容特征识别的方法以及基于流传输行为特征识别的方法等,但随着网络应用的发展,网络流量日益复杂,给流量识别带来了挑战。一方面,大量P2P等应用在传输数据时采用动态可变的端口,另一方面,一些传统的固定端口的应用如FTP等也提供了设置为非固定端口传输数据的功能,对于这些应用流量,依据固定端口识别的方法不再可用。并且,上述应用在传输数据时数据包内容也由不同数据内容决定,一般没有共同的特征,有些数据还进行了加密,这也使得基于数据包内容特征识别难以实现。而基于流传输行为特征识别则存在难以准确识别到某个具体应用的缺陷。对于P2P下载应用或FTP应用这类动态特征应用,数据传输占据了总的应用流量的绝大部分,这部分流量的准确识别对于这类应用的流量监管和控制十分重要。因此,当前迫切需要一种能够实时准确识别动态特征应用流量的方法。

发明内容
本发明的目的是提供一种能够实时准确识别动态特征应用流量的方法。为实现上述发明目的,本发明提供了一种识别动态特征应用流量的方法,包括下列步骤I)根据应用在传输过程的初始阶段的流的固定特征生成静态识别规则;2)将待识别的流与所述静态识别规则和动态识别规则进行匹配,得出所述待识别的流所属的具体应用;其中,所述动态识别规则根据应用在传输过程的初始阶段的流与后续的数据传输的流的关联关系生成。其中,所述步骤I)还包括根据应用在传输过程的初始阶段的流与后续的数据传输的流的关联关系,生成所述静态识别规则和所述动态识别规则的关联信息,并将所述静态识别规则以及该静态识别规则与动态识别规则的关联关系存储在静态规则库中。其中,所述步骤I)在实时流量识别过程之前预先执行。其中,所述步骤2)还包括将所述动态识别规则存储在动态规则库中,将当前待识别的流与动态规则库和所述静态规则库中的规则进行匹配,得出所述待识别的流所属的具体应用。、
其中,所述步骤2)包括下列子步骤21)将当前待识别的流与动态规则库和静态规则库中的规则进行匹配;22)判断当前待识别的流是否匹配了动态规则,如果是,则进入步骤23),如果否,则进入步骤24);23)根据所匹配的动态规则识别出当前待识别的流所属的具体应用,同时记录该条动态规则的匹配情况;24)判断当前待识别的流是否匹配了带有动态规则关联信息的静态规则,当判断为是时,进入步骤25);当判断为否时,则认为当前待识别的流不适用于所述识别动态特征应用流量的方法;25)根据所匹配的静态规则识别出当前待识别的流所属的具体应用,同时依据步骤24)所匹配的静态规则的关联信息生成动态识别规则,并将所生成的动态识别规则加入动态规则库。
其中,所述步骤23)中,所述匹配情况是匹配次数。其中,所述步骤24)中,当判断为否时,可以进一步将待识别的流与普通静态规则进行匹配从而识别出该待识别的流所属的具体应用。其中,所述识别动态特征应用流量的方法还包括步骤3):定期清除在最近一个生存周期没有被匹配的动态识别规则。其中,所述动态识别规则生存周期大于数据传输流之间的最大间隔时间。其中,所述动态特征应用包括P2P下载应用,涉及到多媒体数据传输的网络多媒体应用及网络游戏应用,以及可以设置非固定数据传输端口的应用。与现有技术相比,本发明具有下列技术效果I、本发明能够实时准确识别动态特征应用流量。2、本发明能够大大提高识别效率,尤其是在对大流量数据下载应用进行识别时,这种效率的提高体现的更加明显。


图I示出了本发明一个实施例的动态特征应用流量识别方法的示意流程图。
具体实施例方式首先,简要介绍本发明进行动态特征应用流量识别的基本原理。在实际网络中,典型的应用有迅雷、电驴等P2P下载应用,涉及到多媒体数据传输的网络多媒体应用及网络游戏应用,还有FTP这类可以设置非固定数据传输端口的传统应用,这些应用都会产生没有固定特征的数据传输流。通过分析这些应用的数据传输流,可以发现这些流在传输过程中虽然整体上没有固定特征,但在传输过程的初始阶段通常存在具有固定特征的流,如控制信息流或协商建立连接的流等,而后续的数据传输的流则与初始阶段的具有固定特征的流有固定的关联关系。为方便描述,将初始阶段的具有固定特征的流称为初始流,将后续的数据传输的流称为后续流。依据一定方法可以从初始流中得到后续流的端口和对应IP地址的信息等可以用于识别后续数据传输的流的特征信息,这样得到的特征可能只在某一次数据传输的过程中存在,因此可以看作是一种动态特征。而对于不同的应用,初始流的固定特征不同,与后续流的关联关系不同,从初始阶段的流中得到后续数据传输的流的动态特征(例如端口和对应IP地址等信息)的方法也不同。因此,首先根据固定特征准确识别出初始流所属的具体应用,然后再依据初始流中的信息,可以得到在一个时期与某一种应用准确对应的唯一的动态特征,从而准确识别出没有固定特征的后续流(即数据传输的流)所属的具体应用。下面结合附图和具体实施例对本发明做进一步地描述。根据本发明的一个实施例,提供了一种识别动态特征应用流量的方法,该方法中需要构建静态规则库和动态规则库,其中静态规则库在实时流量识别过程之前预先生成。动态规则库的动态识别规则在流量识别过程中根据静态规则库中的关联信息实时生成。具体地,图I示出了该识别动态特征应用流量的方法的示意流程图,如图I所示,该方法包括下列步骤
步骤I :依据各应用的初始流的特点生成静态识别规则以及生成该静态识别规则与后续流的动态识别规则之间的关联信息。其中,可以根据应用在传输过程的初始阶段的流与后续的数据传输的流的关联关系,生成所述静态识别规则和所述动态识别规则的关联信息。上述过程通过对应用的分析在实时流量识别过程之前预先非实时生成。静态识别规则以及静态识别规则与后续流的动态识别规则之间的关联信息存储在静态规则库中。步骤2 :将当前待识别的流与动态规则库和静态规则库中的规则进行匹配。步骤3 :判断当前待识别的流是否匹配了动态规则,如果是,则进入步骤4,如果否,则进入步骤5。步骤4 :根据所匹配的动态规则识别出当前待识别的流所属的具体应用,同时记录该条动态规则的匹配情况(例如记录该条动态规则的匹配次数),供动态识别规则维护使用(见步骤7)。步骤5 :判断当前待识别的流是否匹配了带有动态规则关联信息的静态规则,当判断为是时,进入步骤6,当判断为否时,则当前待识别的流不适用于所述识别动态特征应用流量的方法,此时可以进一步将待识别的流与普通静态规则进行匹配从而识别出该待识别的流所属的具体应用。普通静态规则指与动态识别规则没有关联的静态规则。步骤6 :根据所匹配的静态规则识别出当前待识别的流所属的具体应用,同时依据步骤5所匹配的静态规则的关联信息生成动态识别规则,并将所生成的动态识别规则加入动态规则库。步骤7 :根据每条动态识别规则的匹配情况和所设置的规则生存周期实时维护、定期检查动态规则库,清除在最近一个生存周期没有被匹配的动态识别规则,其中动态识别规则生存周期一般设置为大于数据传输流之间的最大间隔时间。这样可以避免过期的动态识别规则造成误识别。为便于理解,下面分别以迅雷和FTP应用的识别为例,对上述实施例提出的方案的实施进行具体说明。迅雷的一种采用动态端口的UDP数据传输,在初始阶段的流中有带有固定特征的数据包,其特征为数据包的传输层载荷的前四个字节为“0x3b 00 00 00”,而后续的数据传输流中的数据包则不再有任何内容特征,只是迅雷服务用户端沿用初始阶段这个带有固定特征的流的端口,而所用的端口都是随机设定没有规律的,迅雷服务提供端的端口和IP地址则在传输过程中都是随机变化的。要识别迅雷的这种UDP数据传输,首先生成一条静态识别规则,即传输层载荷的前四个字节为“0x3b 00 00 00”的数据包所属的流为迅雷的流,同时生成这条静态识别规则的动态规则关联信息,即以匹配这条规则的数据包的内网端口(也就是迅雷服务用户端端口)和内网IP地址(也就是迅雷服务用户端地址)作为后续迅雷的流的内网端口和内网IP地址,将这条带有动态规则关联信息的静态识别规则存入静态规则库,在实际识别过程中,先依据这条静态识别规则识别出迅雷数据传输初始阶段的流中匹配这条规则的数据包,再依据这条规则带有的动态规则关联信息,取得所匹配的数据包的内网端口,以及所匹配的数据包的内网IP地址,生成一条动态识别规则,即内网端口为所得到的端口号以及内网IP地址为所得到的IP地址的数据包所属的流为迅雷的流,将这条动态识别规则存入动态规则库,对于后续的迅雷数据传输流,通过检查动态规则库就可以依据后续流中数据包的内网端口号和内网IP地址识别成迅雷。由于在同一时间段内用户端用同一个IP地址和同一个端口号一般只会连接一种应用,通过端口号加IP地址的双重限制可以避免动态识别规则造成其他应用误识别为迅雷。迅雷数据传输过程中数据传输流都是连续产生的,将动态识别规则生存周期设置为大于数据传输流之间的最大间隔时间,就能保证在数据传输过程中每个流都能通过动态识别规则识别成迅雷。而当迅雷数据传输停止时,不再有能匹配到动态识别规则的流,经过一个生存周期不被匹配,这个动态识别规则就会被清除,避免其他应用使用同一端口而被误认为迅雷。 对于FTP,现在很多FTP应用都支持动态端口的通信,控制部分和数据部分的通信都可以通过任意端口进行,控制部分的通信端口由用户设定,数据部分的通信端口设定则分两种情况=PORT模式和PASV模式。对于控制部分的识别,与上述识别迅雷的方法类似,仍然是通过内网端口和内网IP地址的关联对应关系识别后续流,只是初始阶段的流的固定特征设为传输层载荷的前四个字节为字符串“220”,“220”是FTP命令响应码,在FTP控制部分通信的初始阶段一般都会出现。对于数据部分,后续流的端口和IP地址则可以依据初始阶段的流中的信息计算得到。举一个PORT模式传输的例子,带有后续流的端口信息的数据包传输层载荷内容为“PORT 192,168,2,74,23,174”,其中“PORT”为固定特征,“192,168,2,74”为服务器端IP地址,也就是后续流的外网IP地址为192. 168. 2. 74,“23,174”给出了服务器端的端口信息,计算方法是23 X 256+174=6062,也就是后续流的外网端口是6062。对于这样的流的识别,首先生成一条静态识别规则存入静态规则库,即传输层载荷前五个字节为“PORT”的数据包所属的流为FTP,同时还生成这条规则的动态规则关联信息,即依据数据包传输层载荷中“PORT”之后的IP地址和端口号信息通过上述计算方法得到IP地址和端口号作为后续FTP的流的外网IP地址和外网端口号,在实际识别过程中,先依据这条静态识别规则识别出这个数据包,再依据静态识别规则带有的动态规则关联信息,提取出数据包的内容,根据上述计算方法得到后续流的IP地址和端口信息,生成动态识别规则存入动态规则库,后续的流依据这条动态规则就可以识别了。同样根据FTP的传输特点可以设置这条动态规则的生存周期,在FTP传输停止时可以清除这条动态规则,避免造成误识别。PASV模式与PORT模式类似,只是数据包内容中的固定特征不同,上述例子在PASV模式下的数据包内容为“227 Entering PassiveMode (192, 168,2,74,23,174) ”,只要改变静态识别规则,其他识别方法都与PORT模式一样,这里就不再赘述。如上所述,通过本发明提出的方法,对迅雷、FTP等应用的动态端口数据传输流量都可以实时准确识别,而且采用这种方法,只需要对初始阶段的一个流检查数据包载荷内容,对后续流的识别只需要匹配端口和IP地址信息,不需要检查数据包载荷内容,而后续流占据了整体数据传输流量的绝大部分,因此大大提高了识别效率,在大流量数据下载时这种效率的提高体现的更明显。除了上述具有动态端口和动态IP地址特征信息的应用流量,本发明也可用于具有其他动态特征的应用流量识别,例如一个应用前后连续的流的数据包载荷等信息具有关联关系的应用流量,也可以用本发明的方法进行识别。本发明的其它实施例中,固定特征是一种应用的流量固有的特征,在该应用的流量中稳定的出现,与该应用有固定的对应关系,能够用于识别该应用。动态特征是一种应用在流量传输中动态出现的临时性特征,一般与该应用的某个固定特征有一定的关联关系,通过这种关联关系与该应用建立对应关系,从而能够用于识别该应用。为便于理解,表I给出了迅雷、emule等几种常见应用的固定特征、关联关系和动态特征。本领域技术人员应当理解,本发明所能够识别的动态特征应用并不限于表I中的几种应用。表I权利要求
1.一种识别动态特征应用流量的方法,包括下列步骤 1)根据应用在传输过程的初始阶段的流的固定特征生成静态识别规则; 2)将待识别的流与所述静态识别规则和动态识别规则进行匹配,得出所述待识别的流所属的具体应用;其中,所述动态识别规则根据应用在传输过程的初始阶段的流与后续的数据传输的流的关联关系生成。
2.根据权利要求I所述的识别动态特征应用流量的方法,其特征在于,所述步骤I)还包括根据应用在传输过程的初始阶段的流与后续的数据传输的流的关联关系,生成所述静态识别规则和所述动态识别规则的关联信息,并将所述静态识别规则以及该静态识别规则与动态识别规则的关联关系存储在静态规则库中。
3.根据权利要求2所述的识别动态特征应用流量的方法,其特征在于,所述步骤2)还包括将所述动态识别规则存储在动态规则库中,将当前待识别的流与动态规则库和所述静态规则库中的规则进行匹配,得出所述待识别的流所属的具体应用。
4.根据权利要求3所述的识别动态特征应用流量的方法,其特征在于,所述步骤2)包括下列子步骤 21)将当前待识别的流与动态规则库和静态规则库中的规则进行匹配; 22)判断当前待识别的流是否匹配了动态规则,如果是,则进入步骤23),如果否,则进入步骤24); 23)根据所匹配的动态规则识别出当前待识别的流所属的具体应用,同时记录该条动态规则的匹配情况; 24)判断当前待识别的流是否匹配了带有动态规则关联信息的静态规则,当判断为是时,进入步骤25);当判断为否时,则认为当前待识别的流不适用于所述识别动态特征应用流量的方法; 25)根据所匹配的静态规则识别出当前待识别的流所属的具体应用,同时依据步骤24)所匹配的静态规则的关联信息生成动态识别规则,并将所生成的动态识别规则加入动态规则库。
5.根据权利要求4所述的识别动态特征应用流量的方法,其特征在于,所述步骤23)中,所述匹配情况是匹配次数。
6.根据权利要求I所述的识别动态特征应用流量的方法,其特征在于,还包括步骤3):定期清除在最近一个生存周期没有被匹配的动态识别规则。
7.根据权利要求6所述的识别动态特征应用流量的方法,其特征在于,所述动态识别规则生存周期大于数据传输流之间的最大间隔时间。
全文摘要
本发明提供一种识别动态特征应用流量的方法,包括下列步骤1)根据应用在传输过程的初始阶段的流的固定特征生成静态识别规则;2)将待识别的流与所述静态识别规则和动态识别规则进行匹配,得出所述待识别的流所属的具体应用;其中,所述动态识别规则根据应用在传输过程的初始阶段的流与后续的数据传输的流的关联关系生成。与现有技术相比,本发明具有下列技术效果1、本发明能够实时准确识别动态特征应用流量。2、本发明能够大大提高识别效率,尤其是在对大流量数据下载应用进行识别时,这种效率的提高体现的更加明显。
文档编号H04L29/08GK102752216SQ201210244438
公开日2012年10月24日 申请日期2012年7月13日 优先权日2012年7月13日
发明者张广兴, 杨建华, 郑红霞 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1