基于支持向量机的实时多应用网络流量识别方法

文档序号:7808085阅读:716来源:国知局
基于支持向量机的实时多应用网络流量识别方法
【专利摘要】针对现有网络流量识别方法存在的问题,提供一种基于支持向量机的低复杂度、高识别准确率、可实时的网络流量识别方法。此方法采用“时间窗口法”只从网络流的数据包头获取简单有效的特征,并选用算法复杂度低、运算量小的支持向量机算法,使其不仅能够快速建模生成分类器,而且在小样本情况下就能达到很高的识别准确率,还可以在任何时间点对网络流的多种应用进行测量识别,满足实时多应用的需求。
【专利说明】基于支持向量机的实时多应用网络流量识别方法

【技术领域】
[0001] 本发明涉及一种网络流量识别方法,属于网络测量【技术领域】。

【背景技术】
[0002] 随着计算机网络技术的飞速发展和信息时代的到来,互联网的不断普及也引发了 网络拥塞、P2P应用大肆抢占带宽和网络安全等问题,网络运营商和网络服务提供商需要采 用一种合适的网络测量方法对网络进行管理。近年来在学术和应用领域越来越关注网络流 量识别方法的研究,也越来越关注流量识别的可行性和有效性,即如何快速地处理海量的 数据和如何正确地识别网络中的各种应用。因此,流量识别方法应该既要简单有效,又要灵 活且应用面广。
[0003] 现有的网络流量识别方法主要分为四大类:基于端口映射的流量识别方法、基于 深度报文检测的流量识别方法、基于行为特征的流量识别方法和基于机器学习的流量识别 方法。随着网络技术的不断发展和网络应用的不断推陈出新,基于端口映射、深度报文检 测、行为特征的流量识别方法存在越来越多的限制和缺陷。如今学术界将重点放在了基于 机器学习的流量识别方法上,这种方法利用机器学习的数据挖掘能力,从网络流量庞大、复 杂的数据中提取隐含的、潜在的有效特征信息。此类方法的关键是选择合理的流量特征和 选择合适的机器学习算法。然而,研究主要集中在非实时性的流量识别上,即先收集很长一 段时间的网络流数据,再对其进行分类识别,这无法识别出当前用户对网络的使用情况。目 前,实时网络流量识别方法中,有些方案将网络流开始建立时的前若干个数据包作为特征 进行识别,此类方法虽然简单快捷,但需要捕捉网络流开始建立的时间点,如果错过就很难 再识别出结果。还有些方案将从网络流生命周期的不同时间点选择若干个连续的数据包组 (如25个数据包为一组)作为特征进行识别,此类方法需要考虑网络流的生命周期,如果生 命周期很长则识别所需的时间也会增长。这些方案都过于依赖网络流的本身,灵活性差,有 一定的限制。


【发明内容】

[0004] 本发明针对现有网络流量识别方法存在的不足,提供一种基于支持向量机(SVM) 的可实时识别网络环境中多种应用类型的方法,此方法采用"时间窗口法"只从网络流的数 据包头获取简单有效的特征,并选用算法复杂度低、运算量小的支持向量机算法,使其不仅 能够快速建模生成分类器,而且在小样本情况下就能达到很高的识别准确率,还可以在任 何时间点对网络流的多种应用进行测量识别,满足实时多应用的需求。"时间窗口法"是指 对网络流连续统计一段时间,并根据此时间段内的网络流量与平均值偏离程度大小划分为 "峰值区"和"稳定区",由时间窗口内的数据生成识别所需的特征。
[0005] 本发明提出的基于支持向量机的网络流量识别方法,包括支持向量机的离线训练 和支持向量机的在线实时分类步骤:
[0006] 支持向量机的离线训练步骤包括:
[0007] (1)利用抓包工具从网络线路中抓取数据包;
[0008] (2)对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议 和上行或下行的流向;
[0009] (3)从获取的数据中抽样,选择网络应用正常运行时的样本,分别对样本的应用类 别进行标注;
[0010] ⑷根据"时间窗口法",从任意的时间点开始,设定一段时间,根据该段时间内连 续采集的网络流量与平均值的偏离程度,将高于平均值1. 6倍的流量称为"峰值区",处于 平均值0. 6?1. 4倍区间的流量称为"稳定区",由此时间段内的网络流量生成多种特征 值;
[0011] (5)采用支持向量机方法对样本特征值进行训练学习,生成分类规则,构建分类器 模型。
[0012] 支持向量机的在线实时分类步骤包括:
[0013] (1)利用抓包工具从网络线路中抓取数据包;
[0014] (2)对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议 和上行或下行的流向;
[0015] (3)采用支持向量机的离线训练步骤的步骤(4)相同的方法生成多种特征值;
[0016] (4)采用支持向量机的离线训练步骤的步骤(5)已经生成的分类规则和分类器模 型,对网络流的特征值进行分类识别,得出识别结果。
[0017] 所述离线训练步骤中第(4)步和在线实时分类步骤中第(3)步中的多种特征值 包括下行包数,上行包数,下行数据量,上行数据量,下、上行包数比,下、上行数据量比,下、 上行包数方差比,下、上行数据量方差比,下行中大数据量的IP数目,峰值区内数据量的比 重,稳定区内样本数目的比重。
[0018] 所述支持向量机的离线训练步骤中的步骤(5)中采用交叉验证法获得支持向量 机的核函数参数和惩罚参数。
[0019] 本发明首先采用"时间窗口法"从网络流的数据包头获取多种特征,然后通过支持 向量机算法对多种网络应用类型的特征值进行训练和识别。"时间窗口法"获取网络流特征 的过程简单;而且可以在任何时间点对网络流进行特征提取。支持向量机是一种针对小样 本的机器学习方法,并且通过内积核函数实现非线性分类,其得到的最优决策函数是只由 少数支持向量构成的分类超平面;此算法简单、运算量少,还具有泛化能力和鲁棒性。本发 明满足实时多应用网络流量识别的需求。

【专利附图】

【附图说明】
[0020] 图1是实时网络流量识别系统的原理示意框图。
[0021] 图2(a)是时间窗口示意图;(b)是窗口内流量区间的划分示意图。
[0022] 图3是调用libpcap函数库的流程示意图。
[0023] 图4是基于支持向量机的网络流量识别方法的示意图。
[0024] 图5是网络流量识别方法准确率的展示示意图。
[0025] 图6是网络流量识别方法生成分类器模型所需时间的展示示意图。

【具体实施方式】
[0026] 针对现有网络流量识别方法存在的问题,提供一种基于支持向量机的低复杂度、 可实时的网络流量识别方法,此方法所需训练样本少,计算复杂度比较低,非常适合解决网 络流量识别这种大数据、多样性的非线性多分类问题。
[0027] 图1给出了本发明的网络流量识别系统离线训练和在线实时分类的原理步骤。图 4给出了基于支持向量机的网络流量识别方法的原理。下面结合附图和实施例对本发明进 行进一步的说明,但不限于此例。
[0028] 考虑该实时网络流量识别系统存在于家庭局域网中,并将网络流量识别作为家庭 网关的一项功能。网络流数据包的上行或下行是根据源地址确定的。假设以家庭内部局域 网作为本地,外部互联网作为远端,如果源地址是本地的IP则认为数据流向是上行,即上 传;如果源地址是远端的IP则认为数据流向是下行,即下载。
[0029] 针对家庭局域网中使用频繁的m = 6种应用类型:P2P的多媒体或下载、非P2P的 多媒体或下载、WWW (Web浏览)、网络游戏(客户端游戏)、视频通话/会议和文件共享(局 域网内)。从任意时间点开始,以1秒为时间单位,对每一秒内抓取的网络流进行统计,得到 网络流的包数、包长、源地址、目的地址、传输层协议和流向(上行或下行)。连续统计τ = η(设η = 15)秒后得到图2(a)图中一个时间窗口内网络流的变化情况。在图2(b)图中, 根据时间窗口内的流量平均值,将τ时间段内的流量划分为稳定区和峰值区。因此在这个 窗口中既能获取每一秒流量的包数、包长等基本数据,又能分析流量在τ时间段内的爆发 性、平稳性。由τ时间段内统计的网络流数据生成d= 11种特征:下行包数,上行包数,下 行数据量,上行数据量,下、上行包数比,下、上行数据量比,下、上行包数方差比,下、上行数 据量方差比,下行中大数据量的IP数目,峰值区内数据量的比重,稳定区内样本数目的比 重。
[0030] 支持向量机的离线训练步骤如下:
[0031] (1)利用Linux系统下的libpcap函数库从网络线路中抓取数据包,调用libpcap 各个函数的流程如图3所示;通过解析各层的数据包头得到开放系统互连参考模型(0SI/ RM)的各层信息,如数据链路层的MAC地址、IP层的源IP与目的IP、传输层的端口号与协 议等;
[0032] (2)对数据包进行简单统计,获得数据包的五元组信息:源地址,目的地址,源端 口,目的端口和传输层协议(如TCP/UDP),以及数据包长度和数据包的流向(如上行或下 行);
[0033] (3)人工从获取的大量数据中抽样选择处于稳定网络环境下的样本,并分别对样 本的应用类别进行标注;m = 6种应用类型可以标注编号为1、2、3、4、5、6。
[0034] (4)采用"时间窗口法",由简单统计的数据包信息生成时间窗内的d = 11种特征 值;
[0035] (5)采用支持向量机方法对样本特征值进行训练学习。支持向量机构造了最优分 类超平面,得出决策函数:.

【权利要求】
1. 一种基于支持向量机的网络流量识别方法,包括支持向量机的离线训练和支持向量 机的在线实时分类步骤: 支持向量机的离线训练步骤包括: (1) 利用抓包工具从网络线路中抓取数据包; (2) 对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议和上 行或下行的流向; ⑶从获取的数据中抽样,选择网络应用正常运行时的样本,分别对样本的应用类别进 行标注; (4) 根据"时间窗口法",从任意的时间点开始,设定一段时间,根据该段时间内连续采 集的网络流量与平均值的偏离程度,将高于平均值1.6倍的流量称为"峰值区",处于平均 值0. 6?1. 4倍区间的流量称为"稳定区",由此时间段内的网络流量生成多种特征值; (5) 采用支持向量机方法对样本特征值进行训练学习,生成分类规则,构建分类器模 型; 支持向量机的在线实时分类步骤包括: (1) 利用抓包工具从网络线路中抓取数据包; (2) 对数据包进行统计,得到网络流的包数、包长、源地址、目的地址、传输层协议和上 行或下行的流向; (3) 采用支持向量机的离线训练步骤的步骤(4)相同的方法生成多种特征值; (4) 采用支持向量机的离线训练步骤的步骤(5)已经生成的分类规则和分类器模型, 对网络流的特征值进行分类识别,得出识别结果。
2. 根据权利要求1所述的基于支持向量机的网络流量识别方法,其特征在于:所述离 线训练步骤中第(4)步和在线实时分类步骤中第(3)步中的多种特征值包括下行包数,上 行包数,下行数据量,上行数据量,下、上行包数比,下、上行数据量比,下、上行包数方差比, 下、上行数据量方差比,下行中大数据量的IP数目,峰值区内数据量的比重,稳定区内样本 数目的比重。
3. 根据权利要求1所述的基于支持向量机的网络流量识别方法,其特征在于:所述支 持向量机的离线训练步骤中的步骤(5)中采用交叉验证法获得支持向量机的核函数参数 和惩罚参数。
【文档编号】H04L12/26GK104052639SQ201410313090
【公开日】2014年9月17日 申请日期:2014年7月2日 优先权日:2014年7月2日
【发明者】刘琚, 马衍庆, 乔美华, 于智源, 郭志鑫 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1