CN104052639B - 基于支持向量机的实时多应用网络流量识别方法 - Google Patents
基于支持向量机的实时多应用网络流量识别方法 Download PDFInfo
- Publication number
- CN104052639B CN104052639B CN201410313090.XA CN201410313090A CN104052639B CN 104052639 B CN104052639 B CN 104052639B CN 201410313090 A CN201410313090 A CN 201410313090A CN 104052639 B CN104052639 B CN 104052639B
- Authority
- CN
- China
- Prior art keywords
- support vector
- vector machine
- network
- time
- network flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012706 support-vector machine Methods 0.000 title claims abstract description 42
- 238000012549 training Methods 0.000 claims description 21
- 238000011144 upstream manufacturing Methods 0.000 claims description 8
- 238000005259 measurement Methods 0.000 abstract description 2
- 230000004907 flux Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000009333 weeding Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
针对现有网络流量识别方法存在的问题,提供一种基于支持向量机的低复杂度、高识别准确率、可实时的网络流量识别方法。此方法采用“时间窗口法”只从网络流的数据包头获取简单有效的特征,并选用算法复杂度低、运算量小的支持向量机算法,使其不仅能够快速建模生成分类器,而且在小样本情况下就能达到很高的识别准确率,还可以在任何时间点对网络流的多种应用进行测量识别,满足实时多应用的需求。
Description
技术领域
本发明涉及一种网络流量识别方法,属于网络测量技术领域。
背景技术
随着计算机网络技术的飞速发展和信息时代的到来,互联网的不断普及也引发了网络拥塞、P2P应用大肆抢占带宽和网络安全等问题,网络运营商和网络服务提供商需要采用一种合适的网络测量方法对网络进行管理。近年来在学术和应用领域越来越关注网络流量识别方法的研究,也越来越关注流量识别的可行性和有效性,即如何快速地处理海量的数据和如何正确地识别网络中的各种应用。因此,流量识别方法应该既要简单有效,又要灵活且应用面广。
现有的网络流量识别方法主要分为四大类:基于端口映射的流量识别方法、基于深度报文检测的流量识别方法、基于行为特征的流量识别方法和基于机器学习的流量识别方法。随着网络技术的不断发展和网络应用的不断推陈出新,基于端口映射、深度报文检测、行为特征的流量识别方法存在越来越多的限制和缺陷。如今学术界将重点放在了基于机器学习的流量识别方法上,这种方法利用机器学习的数据挖掘能力,从网络流量庞大、复杂的数据中提取隐含的、潜在的有效特征信息。此类方法的关键是选择合理的流量特征和选择合适的机器学习算法。然而,研究主要集中在非实时性的流量识别上,即先收集很长一段时间的网络流数据,再对其进行分类识别,这无法识别出当前用户对网络的使用情况。目前,实时网络流量识别方法中,有些方案将网络流开始建立时的前若干个数据包作为特征进行识别,此类方法虽然简单快捷,但需要捕捉网络流开始建立的时间点,如果错过就很难再识别出结果。还有些方案将从网络流生命周期的不同时间点选择若干个连续的数据包组(如25个数据包为一组)作为特征进行识别,此类方法需要考虑网络流的生命周期,如果生命周期很长则识别所需的时间也会增长。这些方案都过于依赖网络流的本身,灵活性差,有一定的限制。
发明内容
本发明针对现有网络流量识别方法存在的不足,提供一种基于支持向量机(SVM)的可实时识别网络环境中多种应用类型的方法,此方法采用“时间窗口法”只从网络流的数据包头获取简单有效的特征,并选用算法复杂度低、运算量小的支持向量机算法,使其不仅能够快速建模生成分类器,而且在小样本情况下就能达到很高的识别准确率,还可以在任何时间点对网络流的多种应用进行测量识别,满足实时多应用的需求。“时间窗口法”是指对网络流连续统计一段时间,并根据此时间段内的网络流量与平均值偏离程度大小划分为“峰值区”和“稳定区”,由时间窗口内的数据生成识别所需的特征。
本发明提出的基于支持向量机的网络流量识别方法,包括支持向量机的离线训练和支持向量机的在线实时分类步骤:
支持向量机的离线训练步骤包括:
(1)利用抓包工具从网络线路中抓取数据包;
(2)对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议和上行或下行的流向;
(3)从获取的数据中抽样,选择网络应用正常运行时的样本,分别对样本的应用类别进行标注;
(4)根据“时间窗口法”,从任意的时间点开始,设定一段时间,根据该段时间内连续采集的网络流量与平均值的偏离程度,将高于平均值1.6倍的流量称为“峰值区”,处于平均值0.6~1.4倍区间的流量称为“稳定区”,由此时间段内的网络流量生成多种特征值;
(5)采用支持向量机方法对样本特征值进行训练学习,生成分类规则,构建分类器模型。
支持向量机的在线实时分类步骤包括:
(1)利用抓包工具从网络线路中抓取数据包;
(2)对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议和上行或下行的流向;
(3)采用支持向量机的离线训练步骤的步骤(4)相同的方法生成多种特征值;
(4)采用支持向量机的离线训练步骤的步骤(5)已经生成的分类规则和分类器模型,对网络流的特征值进行分类识别,得出识别结果。
所述离线训练步骤中第(4)步和在线实时分类步骤中第(3)步中的多种特征值包括下行包数,上行包数,下行数据量,上行数据量,下、上行包数比,下、上行数据量比,下、上行包数方差比,下、上行数据量方差比,下行中大数据量的IP数目,峰值区内数据量的比重,稳定区内样本数目的比重。
所述支持向量机的离线训练步骤中的步骤(5)中采用交叉验证法获得支持向量机的核函数参数和惩罚参数。
本发明首先采用“时间窗口法”从网络流的数据包头获取多种特征,然后通过支持向量机算法对多种网络应用类型的特征值进行训练和识别。“时间窗口法”获取网络流特征的过程简单;而且可以在任何时间点对网络流进行特征提取。支持向量机是一种针对小样本的机器学***面;此算法简单、运算量少,还具有泛化能力和鲁棒性。本发明满足实时多应用网络流量识别的需求。
附图说明
图1是实时网络流量识别***的原理示意框图。
图2(a)是时间窗口示意图;(b)是窗口内流量区间的划分示意图。
图3是调用libpcap函数库的流程示意图。
图4是基于支持向量机的网络流量识别方法的示意图。
图5是网络流量识别方法准确率的展示示意图。
图6是网络流量识别方法生成分类器模型所需时间的展示示意图。
具体实施方式
针对现有网络流量识别方法存在的问题,提供一种基于支持向量机的低复杂度、可实时的网络流量识别方法,此方法所需训练样本少,计算复杂度比较低,非常适合解决网络流量识别这种大数据、多样性的非线性多分类问题。
图1给出了本发明的网络流量识别***离线训练和在线实时分类的原理步骤。图4给出了基于支持向量机的网络流量识别方法的原理。下面结合附图和实施例对本发明进行进一步的说明,但不限于此例。
考虑该实时网络流量识别***存在于家庭局域网中,并将网络流量识别作为家庭网关的一项功能。网络流数据包的上行或下行是根据源地址确定的。假设以家庭内部局域网作为本地,外部互联网作为远端,如果源地址是本地的IP则认为数据流向是上行,即上传;如果源地址是远端的IP则认为数据流向是下行,即下载。
针对家庭局域网中使用频繁的m=6种应用类型:P2P的多媒体或下载、非P2P的多媒体或下载、WWW(Web浏览)、网络游戏(客户端游戏)、视频通话/会议和文件共享(局域网内)。从任意时间点开始,以1秒为时间单位,对每一秒内抓取的网络流进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议和流向(上行或下行)。连续统计τ=n(设n=15)秒后得到图2(a)图中一个时间窗口内网络流的变化情况。在图2(b)图中,根据时间窗口内的流量平均值,将τ时间段内的流量划分为稳定区和峰值区。因此在这个窗口中既能获取每一秒流量的包数、包长等基本数据,又能分析流量在τ时间段内的爆发性、平稳性。由τ时间段内统计的网络流数据生成d=11种特征:下行包数,上行包数,下行数据量,上行数据量,下、上行包数比,下、上行数据量比,下、上行包数方差比,下、上行数据量方差比,下行中大数据量的IP数目,峰值区内数据量的比重,稳定区内样本数目的比重。
支持向量机的离线训练步骤如下:
(1)利用Linux***下的libpcap函数库从网络线路中抓取数据包,调用libpcap各个函数的流程如图3所示;通过解析各层的数据包头得到开放***互连参考模型(OSI/RM)的各层信息,如数据链路层的MAC地址、IP层的源IP与目的IP、传输层的端口号与协议等;
(2)对数据包进行简单统计,获得数据包的五元组信息:源地址,目的地址,源端口,目的端口和传输层协议(如TCP/UDP),以及数据包长度和数据包的流向(如上行或下行);
(3)人工从获取的大量数据中抽样选择处于稳定网络环境下的样本,并分别对样本的应用类别进行标注;m=6种应用类型可以标注编号为1、2、3、4、5、6。
(4)采用“时间窗口法”,由简单统计的数据包信息生成时间窗内的d=11种特征值;
(5)采用支持向量机方法对样本特征值进行训练学***面,得出决策函数:其中(xi,yi)为训练时选中的样本,αi为拉格朗日乘子,K(xi,x)为内积核函数,选择径向基函数作为核函数,i=1,…,b为分类超平面偏置量。决策函数就是支持向量机离线训练生成的分类规则和分类器模型。采用交叉验证法可以获得支持向量机可靠稳定的核函数参数和惩罚参数,即将训练样本分割成K个子样本,保留其中一个单独的子样本作为验证模型的数据,其他K-1个样本用来训练;重复K次,每个子样本都被验证一次,最后平均K次的训练所得结果。
支持向量机的在线实时分类步骤如下:
(1)利用Linux***下的libpcap函数库从网络线路中抓取数据包,调用libpcap各个函数的流程如图3所示;通过解析各层的数据包头得到开放***互连参考模型(OSI/RM)的各层信息,如数据链路层的MAC地址、IP层的源IP与目的IP、传输层的端口号与协议等;
(2)对数据包进行简单统计,获得数据包的五元组信息:源地址,目的地址,源端口,目的端口和传输层协议(如TCP/UDP),以及数据包长度和数据包的流向(如上行或下行);
(3)采用“时间窗口法”,由简单统计的数据包信息生成时间窗内的d=11种特征值;
(4)采用支持向量机的离线训练步骤的步骤(5)已经生成的分类规则和分类模型,即决策函数对样本特征值进行分类识别,得出识别结果;具体过程如图4所示,输入网络流的11种特征,输出相应网络应用的类型编号。
图5给出网络流量识别方法的准确率。由附图5可以看出,本发明的方法针对6种网络应用分别采用支持向量机(SVM)、反向传播(标准BP)神经网络和由粒子群算法优化的反向传播神经网络(BP-PSO)的三种机器学习算法分别对网络流量进行训练和识别。通过比较分析可知,三种算法的识别准确率都会随着训练样本数目的增加而增大;SVM和BP-PSO两者完全优于标准BP,不仅识别准确率高而且稳定;特别是SVM算法的识别准确率在小样本情况下依然保持98%以上,具有很好的有效性。
图6给出网络流量识别方法的生成分类器模型所需时间。通过分析附图6三种算法生成分类器模型所需时间可知,BP-PSO建模时间远远大于SVM、标准BP,所需运算量很大;SVM的建模时间是三者中最少的,在0.1s之内完成,具有很好的可行性。
Claims (2)
1.一种基于支持向量机的网络流量识别方法,包括支持向量机的离线训练和支持向量机的在线实时分类步骤:
支持向量机的离线训练步骤包括:
(1)利用抓包工具从网络线路中抓取数据包;
(2)对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议和上行或下行的流向;
(3)从获取的数据中抽样,选择网络应用正常运行时的样本,分别对样本的应用类别进行标注;
(4)根据“时间窗口法”,从任意的时间点开始,设定一段时间,根据该段时间内连续采集的网络流量与平均值的偏离程度,将高于平均值1.6倍的流量称为“峰值区”,处于平均值0.6~1.4倍区间的流量称为“稳定区”,由此时间段内的网络流量生成多种特征值;
(5)采用支持向量机方法对样本特征值进行训练学习,生成分类规则,构建分类器模型;
支持向量机的在线实时分类步骤包括:
(1)利用抓包工具从网络线路中抓取数据包;
(2)对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议和上行或下行的流向;
(3)采用支持向量机的离线训练步骤的步骤(4)相同的方法生成多种特征值;
(4)采用支持向量机的离线训练步骤的步骤(5)已经生成的分类规则和分类器模型,对网络流的特征值进行分类识别,得出识别结果。
2.根据权利要求1所述的基于支持向量机的网络流量识别方法,其特征在于:所述离线训练步骤中第(4)步和在线实时分类步骤中第(3)步中的多种特征值包括下行包数,上行包数,下行数据量,上行数据量,下、上行包数比,下、上行数据量比,下、上行包数方差比,下、上行数据量方差比,下行中大数据量的IP数目,峰值区内数据量的比重,稳定区内样本数目的比重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410313090.XA CN104052639B (zh) | 2014-07-02 | 2014-07-02 | 基于支持向量机的实时多应用网络流量识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410313090.XA CN104052639B (zh) | 2014-07-02 | 2014-07-02 | 基于支持向量机的实时多应用网络流量识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104052639A CN104052639A (zh) | 2014-09-17 |
CN104052639B true CN104052639B (zh) | 2017-03-22 |
Family
ID=51505023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410313090.XA Expired - Fee Related CN104052639B (zh) | 2014-07-02 | 2014-07-02 | 基于支持向量机的实时多应用网络流量识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104052639B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144089B (zh) * | 2014-08-06 | 2017-06-16 | 山东大学 | 一种基于bp神经网络进行流量识别的方法 |
CN104468567B (zh) * | 2014-12-05 | 2018-03-06 | 南京邮电大学 | 一种网络多媒体业务流识别和映射的***及方法 |
CN104657747A (zh) * | 2015-01-30 | 2015-05-27 | 南京邮电大学 | 一种基于统计特征的网络游戏流分类方法 |
CN105049277B (zh) * | 2015-06-08 | 2018-11-13 | 国家计算机网络与信息安全管理中心 | 一种基于数据流特征的网络流量生成方法 |
CN105100091B (zh) * | 2015-07-13 | 2018-12-14 | 北京奇安信科技有限公司 | 一种协议识别方法及*** |
CN105915396A (zh) * | 2016-06-20 | 2016-08-31 | 中国联合网络通信集团有限公司 | 家庭网络流量识别***和方法 |
CN106953854B (zh) * | 2016-12-15 | 2019-10-18 | 中国电子科技集团公司第三十研究所 | 一种基于svm机器学习的暗网流量识别模型的建立方法 |
CN114422451A (zh) * | 2018-05-22 | 2022-04-29 | 华为技术有限公司 | 一种网络流量识别方法及相关设备 |
CN109309630B (zh) * | 2018-09-25 | 2021-09-21 | 深圳先进技术研究院 | 一种网络流量分类方法、***及电子设备 |
CN109660656A (zh) * | 2018-11-20 | 2019-04-19 | 重庆邮电大学 | 一种智能终端应用程序识别方法 |
CN111371689B (zh) * | 2018-12-25 | 2022-03-18 | 上海大学 | 基于深度学习的tcp拥塞控制版本识别方法和装置 |
CN111131073A (zh) * | 2020-01-02 | 2020-05-08 | 深圳市高德信通信股份有限公司 | 一种网络流量分类处理*** |
CN112134871A (zh) * | 2020-09-16 | 2020-12-25 | 天津大学 | 一种能源互联网信息支撑网络的异常流量检测装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101800744A (zh) * | 2010-02-03 | 2010-08-11 | 中国人民解放军国防科学技术大学 | 一种针对p2p-tv平台的包大小分布特征提取方法及基于其的p2p-tv平台识别方法和识别*** |
US8040798B2 (en) * | 2008-09-25 | 2011-10-18 | Microsoft Corporation | Discovering communication rules in a network trace |
EP2584496A1 (en) * | 2011-10-20 | 2013-04-24 | Telefonaktiebolaget L M Ericsson AB (Publ) | Creating and using multiple packet traffic profiling models to profile packet flows |
CN103312565A (zh) * | 2013-06-28 | 2013-09-18 | 南京邮电大学 | 一种基于自主学习的对等网络流量识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060295A1 (en) * | 2003-09-12 | 2005-03-17 | Sensory Networks, Inc. | Statistical classification of high-speed network data through content inspection |
-
2014
- 2014-07-02 CN CN201410313090.XA patent/CN104052639B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8040798B2 (en) * | 2008-09-25 | 2011-10-18 | Microsoft Corporation | Discovering communication rules in a network trace |
CN101800744A (zh) * | 2010-02-03 | 2010-08-11 | 中国人民解放军国防科学技术大学 | 一种针对p2p-tv平台的包大小分布特征提取方法及基于其的p2p-tv平台识别方法和识别*** |
EP2584496A1 (en) * | 2011-10-20 | 2013-04-24 | Telefonaktiebolaget L M Ericsson AB (Publ) | Creating and using multiple packet traffic profiling models to profile packet flows |
CN103312565A (zh) * | 2013-06-28 | 2013-09-18 | 南京邮电大学 | 一种基于自主学习的对等网络流量识别方法 |
Non-Patent Citations (3)
Title |
---|
"Internet流量识别技术研究";赵国锋,吉朝明,徐川;《小型微型计算机***》;20110106;第31卷(第8期);1514 - 1520 * |
"Training on multiple sub-flows to optimise the use of machine learning classifiers in real-world IP networks";Thuy T.T. Nguyen,Grenville Armitage;《Proceedings.2006 31st IEEE Conference on Local Computer Networks》;20061116;369-376 * |
"基于支持向量机的流量分类方法";林森,徐鹏,刘琼;《计算机应用研究》;20080924;第25卷(第8期);2488 - 2490 * |
Also Published As
Publication number | Publication date |
---|---|
CN104052639A (zh) | 2014-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104052639B (zh) | 基于支持向量机的实时多应用网络流量识别方法 | |
Shafiq et al. | Data mining and machine learning methods for sustainable smart cities traffic classification: A survey | |
CN111277578B (zh) | 加密流量分析特征提取方法、***、存储介质、安全设备 | |
Mohammed et al. | Machine learning and deep learning based traffic classification and prediction in software defined networking | |
CN104579823B (zh) | 一种基于大数据流的网络流量异常检测***及方法 | |
CN104144089B (zh) | 一种基于bp神经网络进行流量识别的方法 | |
Alshammari et al. | A flow based approach for SSH traffic detection | |
CN105516020B (zh) | 一种基于本体知识推理的并行网络流量分类方法 | |
CN104468567B (zh) | 一种网络多媒体业务流识别和映射的***及方法 | |
CN109981474A (zh) | 一种面向应用软件的网络流量细粒度分类***及方法 | |
CN109359686A (zh) | 一种基于校园网流量的用户画像方法及*** | |
Vinayakumar et al. | Secure shell (ssh) traffic analysis with flow based features using shallow and deep networks | |
CN104092588B (zh) | 一种基于SNMP与NetFlow结合的网络异常流量检测方法 | |
Sheikh et al. | Procedures, criteria, and machine learning techniques for network traffic classification: a survey | |
Muliukha et al. | Analysis and classification of encrypted network traffic using machine learning | |
Feng et al. | BotFlowMon: Learning-based, content-agnostic identification of social bot traffic flows | |
Portela et al. | Evaluation of the performance of supervised and unsupervised Machine learning techniques for intrusion detection | |
Ubik et al. | Evaluating application-layer classification using a Machine Learning technique over different high speed networks | |
Dixit et al. | Internet traffic detection using naïve bayes and K-Nearest neighbors (KNN) algorithm | |
Cherepanov et al. | Visualization of class activation maps to explain AI classification of network packet captures | |
CN105577438B (zh) | 一种基于MapReduce的网络流量本体构建方法 | |
Bozkır et al. | A new platform for machine-learning-based network traffic classification | |
Ding et al. | Internet traffic classification based on expanding vector of flow | |
Chen et al. | A novel semi-supervised learning method for Internet application identification | |
Oudah et al. | A novel features set for internet traffic classification using burstiness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170322 |
|
CF01 | Termination of patent right due to non-payment of annual fee |