Peer-to-Peer+Traffic+Identification+Using+Bayesian+Networks

Peer-to-Peer+Traffic+Identification+Using+Bayesian+Networks
Peer-to-Peer+Traffic+Identification+Using+Bayesian+Networks

第27卷第2期2009年3月

应用科学学报

JOURNAL OF APPLIED SCIENCES—Electronics and Information Engineering

Vol.27No.2

Mar.2009

文章编号:0255-8297(2009)02-0124-07

基于贝叶斯网络的Peer-to-Peer识别方法

李君1,2,张顺颐1,王浩云1,李翠莲2

1.南京邮电大学信息网络技术研究所,南京210003

2.浙江万里学院通信工程系,浙江宁波315100

摘要:网络业务分类与识别是网络管理、网络规划和安全的必要途径,而Peer-to-Peer(P2P)流量由于采用伪装端口、动态端口以及应用层加密,已成为业务分类与识别的主要难点.该文提出了P2P业务的精确识别方法,通过对流统计特性的分析,提取相关特征属性,应用遗传算法选取最优特征属性子集,并采用贝叶斯网络机器学习方法识别P2P流量.实验表明K2,TAN和BAN能有效快速地识别P2P业务,分类精度高达95%以上,很大程度上优于朴素贝叶斯分类和BP神经网络方法.同时该系统具有可扩展性,能够识别未知的P2P流量,并适用于实时分类识别环境.

关键词:Peer-to-Peer;流量识别;朴素贝叶斯;贝叶斯网络

中图分类号:O212.7文献标志码:A

Peer-to-Peer Tra?c Identi?cation Using Bayesian Networks

LI Jun1,2,ZHANG Shun-yi1,WANG Hao-yun1,LI Cui-lian2

1.Institute of Information Network Technology,Nanjing University of Posts and Telecommunications,

Nanjing210003,China

2.Department of Telecommunication Engineering,Zhejiang Wanli University,Ningbo315100,

Zhejiang Province,China

Abstract:Accurate tra?c classi?cation is vital to numerous network activities,such as security monitoring,qual-ity of service provisioning and network planning.However,current P2P applications,which generate a substantial volume of Internet tra?c,use dynamic port numbers,HTTP masquerading and payload encryption to avoid de-tection.In this paper,we present an accurate P2P identi?cation method using Bayesian networks.Based on the abstracted attributes of?ow statistics,the optimal attribute subset is selected using genetic algorithms and P2P tra?c is identi?ed using Bayesian networks.We evaluate the algorithms and compare them to the previously used Naive Bayesian model and BP perceptron.Experimental results show that the proposed algorithms achieve better overall accuracy up to95%with less cost.Further,our result indicates that the approaches are capable of identifying unknown P2P tra?c and applicable to the real-time applications.

Keywords:Peer-to-Peer,tra?c identi?cation,naive Bayes,Bayesian networks

P2P网络因具有强大的内容发布、搜索和共享能力而得到广泛应用,P2P流量已逐步取代HTTP流量成为Internet流量的主体.迅速增长的P2P流量消耗了大量的网络带宽,甚至引起网络拥塞,极大地降低了网络性能,妨碍了正常网络业务的开展.此外,通过不安全的P2P网络环境获得的应用程序给网络安全带来了极大隐患,也为病毒传播和恶意攻击创造了条件.因此,P2P流量的分析与识别已成为网络监测与管理的

收稿日期:2008-08-18;修订日期:2008-12-22

基金项目:国家“863”高技术研究发展计划基金(No.2005AA121620,No.2006AA01Z232);浙江省自然基金(No.Y1080935);江苏省普通高校研究生创新计划基金(No.CX07B_110z)资助项目

作者简介:李君,副教授,博士生,研究方向:计算机通信网络与IP技术、P2P技术、网络业务流量识别与分类、分布式网络管理,E-mail: lijunreed@https://www.360docs.net/doc/0719023820.html,

第2期李君等:基于贝叶斯网络的Peer-to-Peer识别方法125

热点.

常用的P2P流量识别方法有端口映射法和净荷分析法.早期的P2P协议一般采用固定端口,因此可以直接根据端口号精确识别[1-2].但目前很多新出现的P2P应用采用随机端口,甚至伪装成其他熟知端口(如80端口)穿越防火墙,致使简单的端口识别法失效.净荷分析法是目前最精确的P2P识别方法[3-4],它根据已知的特征字符串匹配应用层净荷,所以不能识别未知或加密的P2P应用.而且随着特征字符串数量剧增,特征长度多变且位置不定,使得模式匹配的难度进一步增大,限制了净荷分析法的应用.

为了克服上述识别方法的限制,基于流量特征分析的P2P业务识别方法[5-7]应运而生.它通过对传输层数据包(包括TCP和UDP数据包)的分析,结合P2P系统所表现出来的流量行为特征和流统计特性来区分P2P流量,并引入机器学习方法以处理大量特征数据,挖掘P2P流量的本质特征.Zander等[8]尝试基于最大似然的业务分类方法,Erman等[9]则采用非监督的聚类算法K-Means和DBSCAN来分类网络流量,并证明两种方法都比AutoClass算法速度快且分类效果好. Moore和Zuev[10]利用核估计朴素贝叶斯方法实现业务分类,他们还通过减少特征复杂度和训练集大小,研究基于Net?ow流量的轻量级流量分类技术[11].然而,上述方法的分类精度并不理想.为了提高分类精度,Rui等[12]应用优化的支持向量机识别P2P流量,Auld等[13]引入了复杂的贝叶斯神经网络方法分类网络流量.两种方法都具有较高的分类精度和稳定性,但计算复杂度高,根本无法适用于在线流量分类.于是,根据业务分类与识别的研究实践与经验,本文选取相关的流统计特征,采用基于遗传算法的特征选择方法筛选出最优特征子集,最后应用贝叶斯网络学习方法实现P2P业务的识别.实验结果表明本文提出的方法优于文献[10]中所采用的朴素贝叶斯分类法,它不仅具有较高的分类精度,而且不受应用层净荷加密的限制,能够识别未知和新出现的P2P应用流量,并能适用于在线实时P2P流量识别.

1基于机器学习的P2P流量识别方案

基于机器学习(ML)的P2P流量识别方案由两部分组成:ML建模和ML分类,如图1所示.首先,系统抓包获取网络业务分组,按五元组(即源地址、目的地址、源端口、目的端口和传输层协议)分流,提取相应的分组头部信息,计算流统计特征值并置入流统计特性数据库.抽样选取一定的样本数,形成训练测试集.为了去除特征属性的冗余和相关,先执行特征选择,然后在得到的最优特征子集上选用合适的ML算法进行训练,最后输出ML分类模型.在ML测试/分类阶段,同样抓取网络流量,根据选定的最优特征属性子集统计流量特征值,由ML分类模型对测试集或该流量统计数据进行分类,其结果可用于各种网络应用,如QoS定制和计费等.由于网络新业务不断出现,网络流量复杂多样且动态变化,所以要定期地对ML分类模型进行离线更新.

图1基于机器学习的P2P流量识别方案Figure1Flow chart of P2P tra?c identi?cation

based on machine learning

1.1基于遗传算法的特征属性选择

业务流的统计特征反映了业务流的本质,用以区分不同的业务流.一般情况下,特征越多,描述的实例越充分,越能精确区分P2P流和非P2P流.但获得特征数据不仅需要大量的测量时间,而且样本存储占用的空间以及样本处理时的内存与CPU占有率也急剧增加,计算时间大大增加,无法适用于实时分类.本例中虽然已经根据协议分析和网络流量统计特性分析,从大量的属性特征(多达100多个[14])中筛选出20个左右最具代表性的特征,但仍然存在无用或冗余的属性,不仅增加了计算复杂度,还会影响学习质量,所以提取最能刻画样本数据的最小特征子集是非常重要的.本文采用遗传算法选择最优特征子集.

1.1.1遗传算法基本原理

遗传算法GA(genetic algorithm)是在生物进化论和遗传学的基础上产生和发展起来的一种全局启发式优化算法.GA以编码空间代替问题的参数空间,以适应度函数为评价依据,以编码为进化基础,以对群体中个体位串的遗传操作实现选择和遗传机制,建立起一个迭代过程.在这个过程中,通过选择、交叉和变异等操作重组编码位串中的重要基因(基因对应于本文所考虑的流统计特征),使新一代的位串集合优于老一代的位串集合,群体的个体不断进化,最终收敛于最优状态.

1.1.2特征子集选择的GA方法

本问题是关于两类分类问题(即P2P和非P2P)的特

126应用科学学报

第27卷

征子集选择.在原始特征集合U n 空间下的实例空间

X ={x 1,x 2,...,x m },x i =(x i 1,x i 2,...,x in ),实例总数为m ,特征数为n ,各类包含的实例数为m l (l =

1,2;

2

l =1

m l =m ),两类实例子集关于特征集合U n 一致,即X =X 1∪X 2,且X 1∩X 2=?.

采用GA 方法实现P2P 和非P2P 流量两类实例的特征子集选择,染色体采用二进制编码:s :a 1a 2...a n ,其中a j 对应的是流统计特征属性,如分组到达时间间隔,a j =1或0表示第j (j =1,2,...,n )个属性包含或不包含在新的特征子集中.

适应值函数设定为

f (s )= m ln 2+m k =12 l =1

P (X l |e k ,s )×ln(P (X l |e k ,s ))

+

α×(n ?n j =1

x j )

(1)

式中,α为熵函数值与特征子集简单性之间的平衡系统,在保证较小的错误率(反映P2P 流量的识别精度)的情

况下,一般为1 α m/n [15]

.1.2

分类算法

贝叶斯分类是基于随机事件概率分布的统计分类方

法,其中朴素贝叶斯分类是一种有监督的学习方法,它假定一个属性的值对给定类的影响独立于其他属性的值.而贝叶斯网络是一种图形模型,能够表示属性子集之间的依赖.

1.2.1朴素贝叶斯分类

朴素贝叶斯分类模型将事件的先验概率与后验概率巧妙地联系起来,利用先验信息和样本数据信息确定事件的后验概率,是目前公认的一种简单而有效的概率分类方法,已被应用到网络流量分类之中[10].

用X 表示样本,S 表示所有样本的集合.A ={A 1,A 2,...,A n }表示样本集合S 上定义的n 个特征值,样本可以写成X ={x 1,x 2,...,x n },其中x 1,x 2,...,x n 分别是对应特征A 1,A 2,...,A n 的值;类变量C 的取值范围为{c j |1 i m,是正整数},在本命题中是两类:P2P 与非P2P(即m =2).给定样本X 属于类别c j 的极大后验概率可表示为

c MAP =arg max j

(p (c j |X ),1 j m

(2)

即表示在观测到的n 维特征A 条件下,类别c j 的所

有条件概率中最大者为其归属的类.由贝叶斯公式,有c MAP =arg max j

(p (c j |X ))=arg max

j

p (X |c j )p (c j )

p (X )

=

arg max j

p (X |c j )p (c j )

(3)

式中,p (c j )可以从训练数据中由频率估算得到,此时

需要计算p (X |c j ).朴素贝叶斯分类是基于一个简单的假定:所有的属性变量之间条件相互独立.则联合概率p (x 1,x 2,...,x n |c j )为

p (x 1,x 2,...,x n |c j )=

i

p (x i |c j )(4)

则c MAP =arg max j

p (c j )

i

p (x i |c j )(5)

相对于其他的贝叶斯分类方法,朴素贝叶斯分类算

法的最大特点是不需要搜索,只需简单地计算训练实例中各个属性值发生的频数,就可以估计出每个属性的概率估计值.选择类c j 的所有条件概率中的最大者为其归属的类,该方法可获得很高的效率.但是,朴素贝叶斯分类要求A ={A 1,A 2,...,A n }的各个属性之间完全独立,这在网络流量分类中是不可能完全满足的,因此影响了分类精度.1.2.2贝叶斯网络

朴素贝叶斯分类要求所有属性变量条件独立假定过于严格,在很多情形下都无法成立.贝叶斯网络则提供了一种折中的方法,它是假定在一个子集上的条件独立,这比朴素贝叶斯分类全局条件独立假定的限制要少,又比在所有变量中计算条件依赖更可行,适用于P2P 流量识别.

贝叶斯网络是用一组条件概率函数以有向无循环图(DAG )形式表示不确定性的因果推理模型.贝叶斯网为表示联合概率分布,指定一组条件独立性假设(表示为DAG)以及一组局部条件概率集合.网络属性变量的元组{A 1,A 2,...,A n }分别取值为{x 1,x 2,...,x n }的联合概率为

P (x 1,x 2,...,x n )=P (x n |x n ?1,...,x 1)·P (x n ?1|x n ?2,...,x 1)...P (x 2|x 1)P (x 1)=

P (x 1)

n i =2

P (x i |x i ?1,...,x 1)(6)

在贝叶斯网中,每一节点在给定其父母节点后都条件独立于它的前辈节点.则P (x 1,x 2,...,x n )=P (x 1)

n i =2

P (x i |M parents (A i ))(7)

式中,M parents (A i )表示网络中A i 的父母节点的集

合,n

i =2

P (x i |M parents (A i ))的值为与节点A i 关联的条件

概率表中的值.

第2期李君等:基于贝叶斯网络的Peer-to-Peer识别方法127

1.2.3贝叶斯网络的学习

评估函数的定义和搜索空间中搜索方法的确定,为

贝叶斯网络建立了一种学习算法.这种学习可视为最优

化问题,采用启发搜索方法构造模型并用得分方法来评

价,目的就是发现评分最大的结构.

K2是一种简单而快速的学习算法,它起始于某个给

定的属性排序,然后对每个节点依次进行处理,贪心地

增加从先前处理过的节点指向当前节点的连线,其每一

步都增加能使网络评分达到最高值的连线.

另一种贝叶斯网络分类器是由Friedman和

Goldszmidt提出的树增强型朴素贝叶斯网络(tree aug-

mented Naive Bayes,TAN).TAN是一种树状结构的

贝叶斯模型,在TAN结构中,类变量是根,没有父结

点,即S C=?(S C表示C的父节点集),类变量是每个

属性变量的父节点,即C∈S A

i

(S Ai表示A i的父节点

集,i=1,2,...,n).属性变量A i除了以类变量C作为

其父节点外,最多有1个其他的属性变量作为其父节点.

则式(7)可简化为

P(x1,x2,...,x n)=P(x1)

n

i=2

P(x i|x p,c j),

x p∈{x1,x2,...,x i?1}(8)

TAN放松了朴素贝叶斯中的独立性假设条件,扩展了朴素贝叶斯的结构,允许每个属性结点最多可以依赖于1个非类节点.TAN具有较好的综合性能,体现了学习效率与分类精度之间的适当折中.

BAN(Bayesian network augmented Naive Bayes)进一步扩展了TAN的结构,它允许属性之间可以形成任意的有向图,使其表示依赖关系的能力增强.BAN模型原则上对每个结点的父结点个数没有限定,只需按照事先选定的评价准则,在与属性节点A i相关联的节点A1,A2,...,A i?1和C中寻找A i的父节点,分类变量C是所有属性变量的父节点,每个节点A i可以找出多个父节点.

TAN和BAN都是通过放松朴素贝叶斯的独立性假设来改进分类器性能.BAN比TAN的独立性假设更弱,往往都是在完全图中对整个弧空间进行搜索,选择最佳的弧集.由于任意弧反映了两个属性之间的依赖关系,因此也能反映流统计特征中所存在的依赖关系,如流的总字节数依赖于流的分组数与分组长度.现有的学习方法还采用标准的启发式技术,如贪婪爬山算法、遗传算法和模拟退火等.

2实验方法及结果分析

2.1实验数据集

许多研究流量分类的实验数据是通过净荷分析法或者端口识别法给每个分组打上类别标签而获得的,训练和测试集的业务类标签不精确,会影响分类模型的准确性和分类性能的评估.通过组建一个测试局域网,让各主机在同一时段分别运行不同的应用,包括HTTP, SMTP,POP3,FTP,BIOS,GAME,DNS,Streaming, QQ,KaZaa,Gnutella,eMule,BitTorrent,Skype等,按不同时段(如假期或非假期,以及每天不同的时段)模拟相应用户的行为,采集Internet分组存入数据库,获得原始数据.由于预先限定每台主机运行的应用,可以很容易地根据IP地址快速并精确地标上业务类型的标签,得到精确可靠的训练和测试集.因为完全按正常使用各类业务,所以抓取的各应用分组可以代表真实的Internet环境中的业务流.

为了克服上述网络流量不是全业务的缺点,采集实际的南京邮电大学校园网和浙江万里学院校园网出口流量作进一步的试验和验证.采用分类精度相对较高的净荷匹配法,为采集的训练与测试数据预先分类并打上标签,作为分类基准,用来评估各分类算法.由于存在分类错误,所以不可避免地存在评估偏差,但并不妨碍验证.

对上述获得的数据集作如下处理:

1)分流:根据五元组(源地址、目的地址,源端口、目的端口和传输层协议)来划分流.对于TCP流,由TCP的三次握手来识别流的开始,由TCP的FIN/RST分组作为流结束的标志.此外,若连接持续空闲了t s(如90s),则假定该流已经结束.同样,对于UDP流,若t s(取90s)时间内没有分组到达,则认为该UDP流结束.

2)统计流的相关特征如流持续时间、分组到达时间间隔、分组净荷长度等,详细参见2.2.1节.

3)从流统计数据库中随机选取一定数量的样本,形成训练和测试集.

2.2基于贝叶斯网络的P2P流量分类性能实验与分析

分类性能由分类精度和分类代价决定,分类代价由分类时间决定.分类精度的评估测度如下:

分类精度A precision=N TP

N TP+N FP

召回率A recall=N TP

N TP+N FN

分类精度和召回率是对每个类进行评估的,而分类器的总体精度可表示为

A overall=

n

i=1

N i

TP

n

i=1

(N i

TP

+N i

FP

)

其中,对某一给定类,N TP和N FP分别代表正确分类的样本数量和误分到该类的样本数量,一个类的样本被错误地分到另一类的样本数,称N FN.

2.2.1特征属性选择

由经验获得的特征属性集合S={流持续时间,源端口,目的端口,流的总分组数,流的总字节数,分组到达

128应用科学学报

第27卷

时间间隔中值,分组到达时间间隔平均值,分组到达时间间隔方差,分组到达时间间隔最大值,分组到达时间间隔最小值,分组净荷平均值,分组净荷中值,分组净荷方差,分组净荷最大值,分组净荷最小值,分组大小平均值,分组大小中值,分组大小方差,分组大小最大值,分组大小最小值},作为实验的属性全集.

采用遗传算法获取最优子集:选取19946个实例流,其中各种P2P 流为10166(包括Gnutella,KaZaa,Skype,BitTrent,eMule 等),而非P2P 流为9780(包括HTTP ,FTP ,BIOS ,POP3,QQ ,DNS 等).采用遗传算法的特征子集选择后得到的最优特征子集为S ={流持续时间,流的总字节数,分组到达时间间隔中值,分组到达时间间隔平均值,分组到达时间间隔最大值}.2.2.2不同机器学习算法的比较和分析

本节比较了贝叶斯网络各算法与文献中常用的朴素贝叶斯分类算法和反向传播神经网络方法的实验结果.

从2.1节制备的数据集中随机选取19946个实例流,特征属性集为2.2.1节中根据遗传算法求得的最优特征子集S ,有限分类集合C ={P2P ,NP2P}分别表示为P2P 业务流和非P2P 业务流,采用十折交叉验证方法进行实验.

从表1的实验结果可见,反向传播(BP)神经网络方法和朴素贝叶斯分类方法把许多非P2P 流错误地划分为P2P 流,导致非P2P 流的N TP 下降,而N FN 数值大大增加,造成分类精度下降,召回率极低.贝叶斯网络分类算法的分类精度都能达到95%以上,明显高于朴素贝叶斯分类.再比较各贝叶斯网络学习算法,用遗传算法进行搜索的贝叶斯网络算法分类复杂度大,所需的分类时间达到21min 之多,模拟退火搜索算法竟超过1h ,而分类精度并不比TAN 和BAN 高.其他各类贝叶斯网络分类算法的速度基本上能达到Gbps 的数量级.用高速处理器替代实验所用的个人计算机,有可能在边缘路由器上实现P2P 业务实时识别,其中K2的分类速度最快且具有较高的分类精度.综合考虑分类性能与代价,K2,TAN 和BAN 算法的分类精度相对较好且所需的分类时间较少,是比较理想的分类算法.

表1各种分类算法的比较Table 1Comparison of the classi?ers

分类算法A precision A recall A overall

分类时间/s

参数说明

NP2P P2P NP2P P2P 朴素贝叶斯0.2920.6940.0210.9780.6852核估计反向传播神经网络0.9860.6970.015 1.0000.6994961个隐层贝叶斯网络(K2)0.9300.9590.9070.9700.95171个父节点贝叶斯网络(爬山)0.9300.9590.9070.9700.951141个父节点贝叶斯网络(遗传算法)0.9480.9600.9080.9780.95712611个父节点贝叶斯网络(模拟退火)0.9520.9600.9080.9800.9583623

1个父节点

贝叶斯网络(TAN)0.9470.9630.9150.9780.959142个父节点

贝叶斯网络(BAN)

0.953

0.965

0.919

0.980

0.961

14,18,19

(respectively)

3,4,5个父节点

2.2.3采用优选子集与属性全集的贝叶斯网络分类性能

比较采用2.2.2节得到的分类性能较好的贝叶斯网络算法:K2,TAN,BAN ,分别比较在优选属性子集S 和属性全集S 上的分类精度和分类时间,如表2~4所示.

从以上实验可知,在属性全集上训练的分类方法增加了计算复杂度,分类时间成倍增长.同时由于属性全集中存在无用或冗余的特征属性,影响了学习质量,导致分类精度下降,在K2贝叶斯网络分类中尤为明显.基于属性全集的TAN 的总体精度也不如优选子集的总体精度,BAN 虽然在属性全集上的总体精度略高于优选子集,但分类时间超过优选子集所需分类时间的3倍.所

以特征选择在保证分类精度基本保持不变甚至有所提高的情况下,能够大大降低分类复杂度,同时也证明了基于遗传算法的特征选择在本例中的有效性.

表2TAN 分类法在不同属性集上的性能比较Table 2Performance comparison of TAN al-gorithm using di?erent feature sets 特征属性集A precision A recall A overall

分类时间/s NP2P P2P NP2P

P2P

全集S 0.9240.9690.9310.9660.95547优选属性子集S

0.947

0.963

0.9150.978

0.95914

第2期李君等:基于贝叶斯网络的Peer-to-Peer识别方法129

表3有3个父节点的BAN分类法在不同属性集上的性能比较

Table3Performance comparison of BAN algorithm(with

3father nodes)using di?erent feature sets

特征属性集

A precision A recall

A overall

分类时

间/s NP2P P2P NP2P P2P

全集S0.9640.9670.9250.9850.96648优选属

性子集S

0.9530.9650.9190.9800.96114表4K2贝叶斯网络分类算法在不同属性集上的性能比较Table4Performance comparison of K2al-

gorithm using di?erent feature sets

特征属性集

A precision A recall

A overall

分类时

间/s NP2P P2P NP2P P2P

全集S0.8980.9650.9220.9540.94429优选属

性子集S

0.9300.9590.9070.9700.9517

2.2.4未知P2P流量的识别

由于新的P2P业务层出不穷,现有P2P业务升级频繁,同时为规避被识别,P2P协议更新也很频繁,这就要求一个好的P2P业务分类器能够识别未知P2P业务,且具有较好的分类鲁棒性和可扩展性.本实验采集一种在原训练集中未曾出现过的P2P业务流,与非P2P业务流混合形成测试集,测试样本数分别为9450和2076.采用前述的分类模型——基于优选子集的TAN分类模型,在该测试集上测试,并评估分类器的精度,目的是验证分类器识别未知P2P业务的能力.从表5可知,建立的分类器可以精确地识别未知P2P业务.

表5未知P2P业务分类结果

Table5Classi?cation results for unknown P2P tra?c

样本数

A precision A recall

A overall

分类时

间/s NP2P P2P NP2P P2P

94500.9430.9850.9430.9850.9764

20760.8770.9990.9340.9430.9392

2.2.5P2P流量的早期检测与实时应用

当流结束时识别出该流所关联的业务对于很多网络应用意义都不大,尤其是对于网络监测、QoS保障等实时应用.P2P流量占据了大量的带宽,很多企业甚至ISP采用对P2P业务限流、整形和封阻的方法以保障关键业务的服务质量,这就要求能够早期检测P2P流量并能实时应用.Bernaille et al.[16]提出了仅依赖流的前5个分组,采用K-Means聚类算法来完成流量分类,达到了令人满意的结果,克服了基于机器学习的流量识别滞后的问题.同样,本文对流的前4~8个分组进行分析,采用贝叶斯网络学习法识别P2P流量,实验结果如图2所示.可见,各贝叶斯网络学习算法只采用流的少量分组的统计值,就足以达到较高的分类精度,大部分能达到90%以上.同时,这种早期检测的方法可以减少流状态的维护和计算复杂度,减轻存储压力,有利于实时的网络监测与管理.

packet number N

A

p

r

e

c

i

s

i

o

n

/

%

图2分类精度vs.用于分类的分组数

Figure2Classi?cation accuracy vs.applied

packet number per?ow

3结语

由于Internet网络业务的多样性和复杂性,以及不少新业务(尤其是P2P文件共享业务)为了防止被识别和流量限制,采用了随机动态端口和伪装端口,甚至改变一些可能被识别的流量特性,给网络业务的智能识别与分类带来了很大的困难.通过相关的网络流量测试和分析,发掘流量特征属性,利用遗传算法选取最优特征子集,并采用TAN和BAN等贝叶斯网络分类算法进行P2P流量识别.实验结果表明,相对于朴素贝叶斯方法和BP神经网络方法,本识别系统在识别精度和识别速度上都有较大的优势,其中总体识别精度能达到95%以上.本识别方法还具有可扩展性,可用来识别未知的P2P流量,并能实现P2P业务的早期检测和实时识别.

参考文献:

[1]S en S,J ia W.Analyzing peer-to-peer tra?c across large

networks[J].IEEE/ACM Transactions on Networking,

2004,12(2):219-232.

[2]S aroiu S,G ummadi P K,D unn R J,G ribble S D,

L evy H M.An analysis of internet content delivery sys-

tems[C]//5th Symposium on Operating Systems Design

and Implementation,2002.

[3]K aragiannis T,B roido A,B rownless N,C laffy K,

F aloutsos M.File-sharing in the internet:a character-

ization of P2P tra?c in the backbone[R].University of

California,Riverside Department of Computer Science,

Nov.2003.

[4]S en S,S patscheck O,W ang D.Accurate,scalable

in-network identi?cation of P2P tra?c using applica-

tion signatures[C]//Proceedings of the13th Interna-

130应用科学学报第27卷

tional Conference on World Wide Web,New York,2004: 512-521.

[5]K aragiannis T,B rodio A,F aloutsos M,C laffy K.

Transport layer identi?cation of P2P tra?c[C]//Pro-ceedings of the4th ACM SIGCOMM Conference on In-ternet Measurement,Taormina,2004:121-134.

[6]K aragiannis T,P apagiannaki K,F aloutsos M.

Blinc:multilevel tra?c classi?cation in the dark[C]// Philadelphia,Pennsylvania:SIGCOMM’05,2005. [7]C onstantinou F,M avrommantis P.Identifying

known and unknown peer-to-peer tra?c[C]//Proceed-ings of Fifth IEEE International Symposium on Net-work Computing and Applications(NCA2006),Cam-bridge,Massachusetts,July24-26,2006:93-102.

[8]Z ander S,N guyen T,A rmitage G.Automated traf-

?c classi?cation and application identi?cation using ma-chine learning[C]//Proceedings of the IEEE30th Con-ference on Local Computer Networks(LCN2005),Syd-ney,November2005:250-257.

[9]E rman J,A rlitt M,M ahanti A.Tra?c classi?ca-

tion using clustering algorithms[C]//Proceedings of SIGCOMM Workshop on Mining Network Data,Pisa, September11-15,2006:281-286.

[10]M oore A W,Z uev D.Internet tra?c classi?cation us-

ing Bayesian analysis techniques[C]//Proceedings of the2005ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, Ban?,Alberta,June6-10,2005:50-60.[11]J iang H,M oore A W,G e Z.Lightweight applica-

tion classi?cation for network management[C]//Pro-ceedings of the2007SIGCOMM Workshop on Internet Network Management,Kyoto,2007:299-304.

[12]W ang R,L iu Y,Y ang Y.Solving the app-level clas-

si?cation problem of P2P tra?c via optimized support vector machines[C]//Proceedings of Sixth International Conference on Intelligent Systems Design and Applica-tions,Jinan,2006:534-539.

[13]A uld T,M oore A W,G ull S F.Bayesian neural net-

works for internet tra?c classi?cation[J].IEEE Trans-actions on Neural Networks,2006,18(1):223-239. [14]M oore A W,Z uev D.Discriminators for use in

?ow-based classi?cation[R].Intel Research,Cambridge, 2005.

[15]李敏强,寇纪淞,林丹.遗传算法的基本理论与应用[M].

北京:科学出版社,2002:297-310.

L i Minqiang,K ou Jisong,L in Dan.Theory and applica-tion of genetic algorithm[M].[S.l.]:Science Press,2002: 297-310.(in Chinese)

[16]B ernaille L,T euxeira R,A kodkenous I,S oule A,

S lamatian K.Tra?c classi?cation on the?y[J].ACM SIGCOMM Computer Communication Review,2006, 36(6):23-26.

(编辑:欧阳丽霞)

相关主题
相关文档
最新文档