一种互联网业务流特征的提取方法转让专利

申请号 : CN201110383667.0

文献号 : CN102420701B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄小红马严田旭王振华赵钦吴军林昭文苏玉洁牟澄

申请人 : 北京邮电大学

摘要 :

一种互联网业务流特征的提取方法,是先设置分布式多个流量采集器,用于获取、选择和提纯原始数据样本,再上传并存储于流量数据服务器;流量特征提取器在已经获得的纯净数据基础上,提取或生成网络业务流量特征,并建立业务流特征库,以便管理和维护业务流特征;流量特征提取器还要选择适宜的业务流特征,以辅助研究人员或网络管理者进一步分析,并提供给DPI设备利用。该方法在待分析数据集和标准数据集的生成与提纯方法和特征库的维护方法都有创新改进,且操作简单、容易,既能有效维护和动态优化选择多个应用程序的业务流特征,还可反映不同业务流特征之间的包容关系和表述多个特征在同一业务流中的特征序列特点,具有很好的推广应用前景。

权利要求 :

1.一种互联网业务流特征的提取方法,其特征在于:先在网络中分布式设置多个流量采集器,用于获取数据样本,再上传到流量数据服务器,然后,流量数据服务器在已经获取的数据样本基础上选择和提纯数据样本;流量特征提取器在已经获得的纯净数据基础上,提取或生成网络业务流量特征,并建立业务流特征库,以便管理和维护业务流特征;流量特征提取器还要选择适宜的业务流特征,以辅助研究人员或网络管理者进一步分析,并提供给深度包检测DPI(Deep Packet Inspect)设备利用;所述方法包括如下三个操作步骤:(1)提取特征前的准备操作:获取、选择和提纯业务流量的数据样本;该步骤包括下列操作内容:

(11)获取数据样本:在网络中分布式设置多个流量采集器、即运行流量采集客户端程序的Windows PC机,用于采集待研究的网络流量及其系统运行的五元组和进程名,同时还采集该PC机自身产生的流量;然后,该多个流量采集器将其抓取的网络流量IP数据包及其五元组和进程名上传到流量数据服务器;

(12)选择数据样本:流量数据服务器根据进程名和已有DPI设备的识别结果对每条业务流进行标记识别,并分离出待分析业务流的数据作为待分析数据集M,以及不包含待分析业务流的数据作为背景数据集N、即标准数据集;

(13)提纯数据样本:流量数据服务器先计算每条业务流的统计属性特征,然后根据统计属性利用K-Mean聚类算法对采集的业务流中待分析数据集M进行初步汇聚,以保障其中的待分析业务流是单一应用程序同一类型的网络业务;

(2)提取特征:流量特征提取器生成业务流特征,并维护业务流特征库;

(3)提取特征后的整理操作:流量特征提取器选择和优化所提取的业务流特征,以供深度包检测DPI设备使用。

2.根据权利要求1所述的方法,其特征在于:所述待分析数据集M是网络特征研究人员感兴趣的应用程序所产生的流量,即所述方法的研究对象,其为单一应用程序产生的业务流量数据的集合;所述背景数据集N是除了网络特征研究人员感兴趣的应用程序以外的、所有其他应用程序产生的网络流量的集合。

3.根据权利要求1所述的方法,其特征在于:所述步骤(2)包括下列操作内容:

(21)生成业务流特征:流量特征提取器利用后缀矩阵从待分析数据集M中的待分析业务流中提取或生成可变长度的字符串Token,以便基于Token方法将该待分析业务流中出现次数大于设定阈值的所有Token提取出来,再利用贪婪算法选择其中长度最大和出现最频繁的多个Tokens,作为业务流特征输出;

(22)维护业务流特征:因DPI设备需要维护多达上百个应用程序的业务流特征,而每个应用程序都与一个待分析数据集M相对应,故流量特征提取器必须采用无回路有向图的方法建立业务流特征库,以便能够同时维护多个应用程序的多个业务流特征;该步骤的操作是与上述步骤(21)同时进行的。

4.根据权利要求3所述的方法,其特征在于:所述Token是长度大于1字节、且在待分析业务流量中频繁出现的不固定长度的字符串,每个Token都有可能对应于待分析业务流中的一个特征片段。

5.根据权利要求3所述的方法,其特征在于:所述步骤(22)中的无回路有向图的方法包括下列操作内容:

(22a)先将每次经由步骤(21)生成的业务流特征、即多个Tokens队列按照其字符串长度多少进行升序排序,生成一个待处理的业务流特征序列;

(22a)因步骤(21)生成的Tokens的字符串长度至少为2,故先建立字符串长度为1,特征值为“﹡”的节点Root作为无回路有向图的根节点;再将该多个Tokens队列中的每个Token依据下述四个判断条件分别插入到一个有向无环图的业务流特征库SigDAG中;该四个判断条件是:每个Token分别在待分析数据集M和背景数据集N中出现的比例、其在待分析数据集M中分别位于不同包位置的统计量,以及根据特征黑名单将冗余的业务流特征进行删除或过滤;

(22c)插入新特征时,若SigDAG中已经有节点跟待插入的Token字符串长度及内容都相同,则将该待插入的Token与其携带的应用程序信息合并到该节点中;若未找到已有节点,则先遍历SigDAG,直到找到其字符串长度小于该业务流特征序列、且已有节点的业务流特征已经包含于该Token的最深节点,然后将该Token作为该节点的子节点插入;

(22d)按照从小到大的升序排列,将待处理业务流特征序列中的各个特征Token按照步骤(22a)插入到以Root为根节点的无回路有向图,从而生成一个业务流特征图,用于维护业务流特征库。

6.根据权利要求1所述的方法,其特征在于:所述步骤(3)包括下列操作内容:

(31)流量特征提取器对业务流特征图、即无回路有向图进行线索化处理,用于说明各个业务流特征之间的关联;

(32)因在特征库生成过程中指定了若干个特征选择参数,故在生成特征库时就已经完成部分特征的选择和优化;流量特征提取器先统计待分析数据集M中每条业务流中出现业务流特征库SigDAG中的每个不同特征Token的出现次数,再在SigDAG建立这些不同特征Tokens之间的链接,最后只需要将线索化的有向无环图特征库、即无回路有向图中维护的各个不同特征Tokens输出,以供DPI设备使用。

说明书 :

一种互联网业务流特征的提取方法

技术领域

[0001] 本发明涉及一种互联网业务流特征的提取方法,确切地说,涉及一种应用于互联网业务流上下文感知和深度包检测特征字识别技术的特征提取方法,属于Internet通信技术领域。

背景技术

[0002] 下一代网络能够给用户带来丰富的业务体验,但是,其庞大的网络流量也给网络管理人员及服务提供商带来了巨大的挑战。为了保证网络安全和给用户提供有服务质量保障的业务,电信运营商对于网络的可控性和可管性的需求也大大增加。流量识别技术是保障网络可控性的基础,只有通过有效的流量识别,电信运营商才能准确把握网络现状,正确分析、理解并预测用户的行为模式,保障网络的安全性与可控性。
[0003] 传统IP包的流量识别和QoS控制技术,仅对IP包头中的五元组信息进行分析,以确定流量的基本信息。五元组信息是:源地址、目的地址、源端口、目的端口和协议类型。传统IP路由器也只是通过五元组获得的信息来实现一定程度的流量识别和OoS保证,但是,随着网络上应用类型的不断丰富,仅仅分析IP包的四层以下的内容,已经不能真正判断流量中的业务类型,更不能判断基于开放端口、随机端口等方式进行传输的应用类型、或应用的具体内容特征。
[0004] 因此,目前流量识别技术领域应用最广泛的是利用深度包检测DPI(Deep Packet Inspect)技术实现深度业务类型感知。利用深度包检测技术可以实现对数据包OSI体系结构的第2~7层的分析。DPI技术在获取数据包基本信息的同时,还对多个相关数据包的应用层协议头和净核进行扫描,获取存在于应用层中的特征信息。通过与已存在的业务类型信息特征库的匹配结果,以确定业务类型。
[0005] 然而,由于随着互联网新业务的日益增长,DPI技术不得不面临处理日益增长的网络流量和日益增多的业务类型两个方面的挑战。对于前者挑战,相关研究者已经进行了比较广泛的研究。对于后者,由于目前仅仅依靠人工提取新型业务的特征,导致DPI设备对新型业务的更新和反映速度还远不尽如人意。
[0006] 综上所述,因为其准确性,基于DPI的技术仍然是运营商最普遍采用的方式,但是,该方式针对新的协议反应慢,如何能快速、自动地获得协议的特征,已经成为业内科技人员关注的新课题,也是本发明所要解决的问题。

发明内容

[0007] 有鉴于此,本发明的目的是提供一种互联网业务流特征的提取方法,该方法是一种面向DPI针对互联网流量负载来提取特征,用于帮助网络管理者能够方便、快捷、准确地分析和感知新型业务,并为网络管理者更好更快地管理DPI设备提供一种辅助的自动机制,从而为互联网流量感知设备与网络研究人员和管理者提供判断依据。
[0008] 为了达到上述发明目的,本发明提供了一种互联网业务流特征的提取方法,其特征在于:先在网络中分布式设置多个流量采集器,用于获取数据样本,再上传到流量数据服务器,然后,流量数据服务器在已经获取的数据样本基础上选择和提纯数据样本;流量特征提取器在已经获得的纯净数据基础上,提取或生成网络业务流量特征,并建立业务流特征库,以便管理和维护业务流特征;流量特征提取器还要选择适宜的业务流特征,以辅助研究人员或网络管理者进一步分析,并提供给深度包检测DPI(Deep Packet Inspect)设备利用;所述方法包括如下三个操作步骤:
[0009] (1)提取特征前的准备操作:获取、选择和提纯业务流量的数据样本;该步骤包括下列操作内容:
[0010] (11)获取数据样本:在网络中分布式设置多个流量采集器、即运行流量采集客户端程序的Windows PC机,用于采集待研究的网络流量及其系统运行的五元组和进程名,同时还采集该PC机自身产生的流量;然后,该多个流量采集器将其抓取的网络流量IP数据包及其五元组和进程名上传到流量数据服务器;
[0011] (12)选择数据样本:流量数据服务器根据进程名和已有DPI设备的识别结果对每条业务流进行标记识别,并分离出待分析业务流的数据作为待分析数据集M,以及不包含待分析业务流的数据作为背景数据集N、即标准数据集;
[0012] (13)提纯数据样本:流量数据服务器先计算每条业务流的统计属性特征,然后根据统计属性利用K-Mean聚类算法对采集的业务流中待分析数据集M进行初步汇聚,以保障其中的待分析业务流是单一应用程序同一类型的网络业务;
[0013] (2)提取特征:流量特征提取器生成业务流特征,并维护业务流特征库;
[0014] (3)提取特征后的整理操作:流量特征提取器选择和优化所提取的业务流特征,以供深度包检测DPI设备使用。
[0015] 本发明方法与现有技术进行比较,主要有下述两方面的不同与改进:
[0016] (一)待分析数据集和标准数据集的生成与提纯方法,即前期处理方法:本发明首次提出利用分布式多个数据采集器同时采集本机流量和本机运行信息的方式来生成数据集,由于同时利用了已有DPI设备的识别结果和采用聚类汇聚方法,最大限度地在没有人为辅助分析的前提下,有效删除了待分析数据集的噪声(即包含的非待分析应用程序流量)。这种综合型的数据生成算法克服了纯手工生成基准数据集的繁琐,同时大大提高了以往现有技术中单一地利用本机运行信息或已有DPI设备识别结果的局限性。
[0017] (二)特征库的维护方法:本发明的最大创新是提出一种基于无回路有向图的特征库维护方法。该方法能够有效维护多个应用程序的业务流特征,并动态地根据不同参数为DPI设备优化所选择的业务流特征。同时,通过图中节点的关系映射,可以反映出各个不同业务流特征之间的包容关系,尤其能够描述多个特征在同一类型业务中同时出现的情况,同时还可以表述多个特征在同一条业务流中的特征序列特点。因此,本发明方法填补了以往针对网络业务流量进行特征提取的研究中特征维护的空白。总之,本发明具有很好的推广应用前景。

附图说明

[0018] 图1是本发明互联网业务流特征的提取方法的操作步骤示意图。
[0019] 图2是本发明方法在校园网中实施试验的实际部署系统示意图。

具体实施方式

[0020] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细描述。
[0021] 本发明是一种互联网业务流特征的提取方法:先在网络中分布式设置多个流量采集器,用于获取数据样本,再上传到流量数据服务器,然后,流量数据服务器在已经获取的数据样本基础上选择和提纯数据样本;流量特征提取器在已经获得的纯净数据基础上,提取或生成网络业务流量特征,并建立业务流特征库,以便管理和维护业务流特征;流量特征提取器还要选择适宜的业务流特征,以辅助研究人员或网络管理者进一步分析,并提供给DPI设备利用。
[0022] 参见图1,介绍本发明方法的三个具体操作步骤:
[0023] 步骤1,提取特征前的准备操作:获取、选择和提纯业务流量的数据样本。该步骤1包括下列操作内容:
[0024] (11)获取数据样本:在网络中分布式设置多个流量采集器、即运行流量采集客户端程序的Windows PC机,用于采集待研究的网络流量及其系统运行的五元组和进程名,同时还采集该PC机自身产生的流量;然后,该多个流量采集器将其抓取的网络流量IP数据包及其五元组和进程名上传到流量数据服务器。
[0025] (12)选择数据样本:流量数据服务器根据进程名和已有DPI设备的识别结果对每条业务流进行标记识别,并分离出待分析业务流的数据作为待分析数据集M(其为本发明方法的研究对象,即网络特征研究人员感兴趣的应用程序所产生的流量,其为单一应用程序产生的业务流量数据的集合),以及不包含待分析业务流的数据作为背景数据集N、即标准数据集(它是除了网络特征研究人员感兴趣的应用程序以外的、所有其他应用程序产生的网络流量的集合)。
[0026] (13)提纯数据样本:流量数据服务器先计算每条业务流的统计属性特征,然后根据统计属性利用K-Mean聚类算法对采集的业务流中待分析数据集M进行初步汇聚,以保障其中的待分析业务流是单一应用程序同一类型的网络业务。
[0027] 步骤2,提取特征:流量特征提取器生成业务流特征,并维护业务流特征库。该步骤2包括下列操作内容:
[0028] (21)生成业务流特征:流量特征提取器利用后缀矩阵从待分析数据集M中的待分析业务流中提取或生成可变长度的字符串Token,以便基于Token方法将该待分析业务流中出现次数大于设定阈值的所有Token提取出来,再利用贪婪算法选择其中长度最大和出现最频繁的多个Tokens,作为业务流特征输出。本发明中的Token是长度大于1字节、且在待分析业务流量中频繁出现的不固定长度的字符串,每个Token都有可能对应于待分析业务流中的一个特征片段。
[0029] (22)维护业务流特征:因DPI设备需要维护多达上百个应用程序的业务流特征,而每个应用程序都与一个待分析数据集M相对应,故流量特征提取器必须采用无回路有向图的方法建立业务流特征库,以便能够同时维护多个应用程序的多个业务流特征;该步骤的操作是与上述步骤(21)同时进行的。
[0030] 该步骤中的无回路有向图是本发明方法的首创,包括下列操作内容:
[0031] (22a)先将每次经由步骤(21)生成的业务流特征、即多个Tokens队列按照其字符串长度多少进行升序排序,生成一个待处理的业务流特征序列;
[0032] (22a)因步骤(21)生成的Tokens的字符串长度至少为2,故先建立字符串长度为1,特征值为“﹡”的节点Root作为无回路有向图的根节点;再将该多个Tokens队列中的每个Token依据下述四个判断条件分别插入到一个有向无环图的业务流特征库SigDAG中;该四个判断条件是:每个Token分别在待分析数据集M和背景数据集N中出现的比例、其在待分析数据集M中分别位于不同包位置的统计量,以及根据特征黑名单将冗余的业务流特征进行删除或过滤;
[0033] (22c)插入新特征时,若SigDAG中已经有节点跟待插入的Token字符串长度及内容都相同,则将该待插入的Token与其携带的应用程序信息合并到该节点中;若未找到已有节点,则先遍历SigDAG,直到找到其字符串长度小于该业务流特征序列、且已有节点的业务流特征已经包含于该Token的最深节点,然后将该Token作为该节点的子节点插入;
[0034] (22d)按照从小到大的升序排列,将待处理业务流特征序列中的各个特征Token按照步骤(22a)插入到以Root为根节点的无回路有向图,从而生成一个业务流特征图,用于维护业务流特征库。
[0035] 步骤3,提取特征后的整理操作:流量特征提取器选择和优化所提取的业务流特征,以供深度包检测DPI(Deep Packet Inspect)设备使用。该步骤3包括下列操作内容:
[0036] (31)流量特征提取器对业务流特征图、即无回路有向图进行线索化处理,用于说明各个业务流特征之间的关联;
[0037] (32)因在特征库生成过程中指定了若干个特征选择参数,故在生成特征库时就已经完成部分特征的选择和优化;流量特征提取器先统计待分析数据集M中每条业务流中出现业务流特征库SigDAG中的每个不同特征Token的出现次数,再在SigDAG建立这些不同特征Tokens之间的链接,最后只需要将线索化的有向无环图特征库、即无回路有向图中维护的各个不同特征Tokens输出,以供DPI设备使用。
[0038] 本发明已经进行了多次实施试验,图2就是申请人在北邮校园网内进行实施试验的系统网络架构示意图。实验结果表明,本发明方法是成功的,实现了发明目的。
[0039] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。