基于支持向量机的专用网络流分类方法与流程

文档序号:11205881阅读:635来源:国知局
基于支持向量机的专用网络流分类方法与流程

本发明属于网络测量分析领域,具体涉及一种基于支持向量机的专用网络流分类方法。



背景技术:

随着网络技术的不断发展,网络带宽的迅速增加,网络中的各种应用飞速增加,每天都有新的应用类别加入网络中来,对网络管理,网络分析的需求越来越高。网络流量分类和识别技术作为网络行为分析的基础,不仅在网络管理、分析方面,而且在网络安全,网络服务质量测评等方面,都有越来越广泛的应用。

网络流量识别分类涉及到业务行为的方方面面,每种网络流量都有各自的行为特征,随着性的网络应用及新的网络应用层协议的不断涌现,网络流量的复杂性也不断加强,其多变、动态、异质的特性也变的更为明显。目前在流量分类领域的研究十分活跃,目前的网络流量分类主要分为以下几类:

(1)基于端口映射的流量分类方法。主要通过早期iana和后期icann给应用程序固定分配的固定端口来识别各种网络应用的类型,这种方式在互联网出现的早期可以识别网络上的大多数应用,但随着新的网络应用类型的出现,某些应用使用动态端口,或是非熟知端口,例如越来越多的p2p应用和某些非法程序为了绕过防火墙和网络管理程序的监管,而使用了某些熟知端口。这些都导致基于端口映射的流量分类方法对网络识别的能力越来越弱。

(2)基于有效负载的流量分类方法。通过对流量有效负荷的分析,形成对于有效负荷的特征,加入特征库,在分析过程中通过提取流的应用层内容特征,进行比对,从而有效的对流量进行分类,这种分类方式的分类准确性比较高,但是只能分析处理已知的非加密的流量,还可能带来安全问题。

(3)基于行为特征的流量分类方法。这种方法分析主机在传输层的行为特征,如tcp和udp使用顺序,ip地址数目,速率变化等,从而区分不同的流量类型。但是这种方法对于一些特定应用类型,如p2p,用户自定义协议等无法处理。

多数的研究工作都是针对internet开展的,目标是更好的监控和管理互联网,使其健康的工作,而互联网上的流量类型多种多样,其中基于tcp协议的流量占用了绝大比例,因此可以根据tcp协议的工作流程,提取其特征,通过基于行为特征的方法进行流量分类。但对于某些专用网络中,例如传感器网络,军用网络,应急救灾网等专用网络中,由于通信信道带宽,可靠性和业务特性等原因导致网络中的流量大多基于udp协议,而且上层承载的应用层协议也大多为专用协议,多数无公开标准,同时由于网络中的用户相互独立,相互间缺乏统一的协调和规划,导致协议缺乏排他性,即应用层标识字段,端口号等都可能出现不同协议重用的情况,同时这些网络的专用性导致其传输内容具有一定的保密需求,通常都会采用某些加密算法对传输内容加以保护。上述这些特性都导致前三种分类方法无法在这些网络中使用。



技术实现要素:

本发明的目的在于提供一种基于支持向量机的专用网络流分类方法,将机器学习中的支持向量机分类方法应用于以udp业务为主的专用网络中,并简化了支持向量机由二分类向多分类的扩展问题。

实现本发明目的的技术方案为:一种基于支持向量机的专用网络流分类方法,包括以下步骤:

步骤1,从网络中抓取独立的网络分组,并把网络分组按照特征区分为一个个独立的流;

步骤2,对各个流进行特征提取,采用向量形式对每个流进行描述;

步骤3,将每类流进行分类后,生成样本集合,然后基于样本集合执行支持向量机算法,对样本进行分类,采用径向基核函数将向量映射到高维实现支持向量机对样本的二分类,使用1对n的扩展方法从二分类向多分类扩展。

与现有技术相比,本发明的显著优点为:

本发明涉及一种适用于传输层协议以udp协议为主的专用网络流量分类方法,分类算法实现简单,提高了支持向量机由二分类向多分类扩展效率,降低了支持向量维数。

附图说明

图1是本发明一对n多分类方法扩展示意图。

图2是分类算法的执行流程图。

具体实施方式

一种基于支持向量机的专用网络流分类方法,包括以下步骤:

步骤1,从网络中抓取独立的网络分组,并将网络分组按照特征区分为一个个独立的流;

步骤2,对各个流进行特征提取,采用向量形式对每个流进行描述;

步骤3,将每类流进行分类后,生成样本集合,然后基于样本集合执行支持向量机算法,对样本进行分类,采用径向基核函数将向量映射到高维从而实现支持向量机对样本的二分类,使用1对n的扩展方法从二分类向多分类扩展。

进一步的,步骤1中采用在连续时间段内出现的五元组相同的分组确认为同一个流的方法,如果相邻两个五元组出现的间隔与该流中的其他分组差距大于阈值,则认为上一个流结束;其中,五元组是指<源地址、目的地址、源端口、目的端口、协议类型>。

进一步的,步骤2中选取每个分组中应用层净荷数据中的前n个字节作为特征统计对象,选取每个字节取值的均值、方差、最大值、最小值。

进一步的,1对n的扩展方法具体为:如果有m个分类,分别针对每个类建立样本集,在任意一个类别与其它n个类别之间建立最优超平面,n个类别为从剩余m-1个随机选取,其中n<(k-1)/2,k为网络中总的分类数,然后再按照一对多的方法进行分类判别。

下面结合附图对本发明作进一步说明。

在对网络中的流量进行分类之前需要从网络中抓取独立的网络分组,并把这些网络分组按照一定的特征区分为一个个独立的流,在传统的互联网中因为流量的传输层协议多为tcp协议,流量判别一般是根据tcp链接的建立和拆除过程来界定一个流量的边界,根据<源地址、目的地址、源端口、目的端口、协议类型>五元组来判断边界内的分组是否属于同一个流。而对于传输层协议为udp的网络流量,由于没有严格的建链和拆链过程,因此通常无法通过分组类型界定一个流量的边界,但是大多数的流量都是有持续时间的,因此对于这类专用网络的流量归类可以采用在连续时间段内出现的五元组相同的分组确认为同一个流的方法,如果相邻两个五元组出现的间隔与该流中的其他分组差距过大,则认为上一个流结束。

当完成了流分离工作后,需要对各个流进行特征提取,用向量形式对每个流进行描述,关于样本的维数确定,在支持向量机方法中,样本的维数越多意味着计算量越大,在某些情况下,样本的维数越多,分类结果越准确,但是维数过多,许多特征是无用特征,增加了计算的复杂度,对分类判别没有帮助,在传统方法中通常通过主成分分析等方法去降低特征的维数,但需要大量的样本数据进行处理和分析。andrewmoore在2004年提出了网络流量的248项流量特征,这些流量特征可以描述网络中各种流量的特性,但其中的多个特征都是针对传统internet业务,尤其是针对传输层协议是tcp协议的流量类型,而在一些非传统网络,例如特定专用网络,网络内的业务都是基于udp协议的,缺乏建链过程,或是采用应用层协议进行建链,因此采用新的特征建立方法,下面描述针对传输层协议为udp的突发类应用的特征选定方法:

选取每个分组中应用层净荷数据中的前n个字节作为特征统计对象,每个对象有255个可能取值,选取每个字节取值的均值、方差、最大值、最小值这些统计特性。这样就产生了4n个特征值,支持向量的维数就为4n维。其中有些维数是关键维,与判别密切相关,但是也有某些特征对类的判别影响不大,在具体使用过程中可以通过主成分分析法进行降维处理。

将每类流进行人工分类后,生成样本集合,样本集合中每类流的数目不少于m个,如果总的类别数为k个,则总的类别数为mk个,然后基于样本集合执行支持向量机算法,对样本进行分类,采用径向基核函数将向量映射到高维从而实现支持向量机对样本的二分类,而网络中的流量远远不只两类,因此需要实现将二分类向多分类的扩展,目前常用的支持向量机多分类实现方法主要有一对一和一对多两种。

一对多方法是在任意一个单一类与其它类别的流之间进行二分类,选取分类值最大的类作为该类的归属类的方法,该种分类方法每个流的判定需要进行m次二分类判定,其中m为网络中总得流类别数,该方法会产生一些模糊区域,并且分类计算过程中出现样本类别不均衡问题,导致这种方法不适合用于互联网流量判别。

一对一方法是再任意两个类之间建立起二分类关系,选取分类值最大的类作为该类的归属类的方法,该种分类方法每个流的判定需要进行m*(m-1)次二分类判定,其中m为网络中总得流分类数,该方法改进一对多方法的问题,目前的支持向量机流量判别多采用这种方法,但是该方法在分类数较多的情况下,计算量大,判别函数的计算量大。

本发明中提出了一种一对n的多分类扩展方法:

基本思路:如果有m个分类,分别针对每个类建立样本集,在任意一个类别与其它n个类别之间建立最优超平面,n个类别为从剩余m-1个随机选取,其中n<(k-1)/2,然后再按照一对多的方法进行分类判别。这样不仅避免了一对多方法的样本类别不均衡问题,而且减小了一对一方法的计算量大的问题。

完成分类工作后将已分类数据抽取部分更新样本库数据或者扩展样本库,以便于在一定时间后更新判别函数。

如图1、图2所示,以网络中共有4个分类流量情况下的多分类执行过程。如图所示,为了避免每次从流量1开始判定,导致流量4的计算次数最大,从而出现不公平问题,计算入口采用轮转方式,即第一个流的入口从(1,n)判别开始,下一个流的判别从(2,n)判别开始,依次类推,保证各种类型的流的判别计算在统计上公平。

本发明是一种适用于传输层协议以udp协议为主的专用网络流量分类方法。该方法基于支持向量机机器学习算法,在将支持向量机的二分类算法扩展到多分类时采用1到n的扩展方法,来提高分类的准确率,同时降低算法的计算量,同时采用了一种基于应用层数据的新的特征定义方法,通过对应用层数据中的前n个字节进行统计分析,形成每个流的特征,该方法避免了对原有特征中对建链过程的依赖,使之更好的服务于无连接协议的网络流量分析。本发明解决了专用网络中以无连接协议为主,目前流量分类算法适应性不高,同时多分类扩展计算量大,准确性不高的问题,具有很好的推广应用前景。

下面结合实施例来详细说明本发明。

实施例

一种基于支持向量机的专用网络流分类方法,包括以下步骤:

第一、提取网络中的已知类型数据流,计算流量特征,建立样本库,每种类型流样本的个数都为m个。

第二、在样本库的基础上运行svm(支持向量机)学习方法,产生1对n的分类函数库,如何在二维平面无法分类的情况,需要采用核函数将各个流向量映射到高维进行分类,在本发明中推荐采用径向基核,即rbf核,该核函数对低维、高维、小样本、大样本等情况都适用,是目前比较优秀的分类依据函数。

第三、采集一定数量的新类型数据集合an。

第四、对数据集合中的数据,先按照元组(源地址、目的地址、源端口号、目的端口号、协议类型)归类,然后将多个分组界定为不同的流。

第五、对流类型先根据可判别标准进行分类。可判别标准是系统对应用事先约定的,如限定了特定的端口号为专用,禁止其它流量使用,此时就可以根据该端口号判定某个流量的类型。

第六、对于第五步无法分类的流量,对每种流量建立流量特征,形成特征向量。

第七、按照图1所示方法,将待分类流量特征向量带入不同的分类函数中执行,最终得到该流量的分类类别。

第八、对完成分类的流进行抽样处理,选取部分流对样本集中的流进行替换,或者为了提高分类函数的精度,增加样本集的大小,通过后续分类的流对特征库进行扩展。

第九、回到第三步继续执行后续流量的判定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1