使用机器学习算法分类P2P流量的方法

减小字体 增大字体 作者:刘永定 阳爱民 周序生 邹豪杰  来源:www.zhonghualunwen.com  发布时间:2009-10-13 00:43:09

  快速增长的P2P应用带来网络拥塞、带宽资源滥用、版权保护等诸多问题,已经受到各个网络运营商和网络管理者的高度重视。P2P流量的识别已成为网络研究者的热点问题,对P2P流量和P2P行为进行深入的了解和分析,为监控与管理P2P提供技术支持。
  传统的基于静态端口、协议和有效载荷的P2P流量的分类方法取得了较好的分类效果[1~3],但这些方法对于采用动态端口和经过加密的P2P协议流无法正确分类。如Kazza、Gnutella等协议一方面使用Web的80端口号传输其流量;另一方面,其报文格式也模仿HTTP流量的格式[3]。而基于有效载荷的P2P流分类方法中,协议解码需要协议知识和较完整的报文数据,且很难处理协议加密的网络流量分类问题。
  本文研究基于P2P流的应用类型的流量分类方法,以抽取独立于端口、协议和有效载荷的P2P流的信息作为特征,用两种特征选择算法相结合来优选特征子集,研究使用机器学习算法对P2P流量进行分类的方法。这种分类方式可以避免使用端口、协议和有效载荷信息。
  
  1 P2P流的定义及特征产生
  
  1.1 流的定义及表示
  本文把互联网络上P2P通信节点之间产生的流量,依据TCP/IP协议通信的五元组,即源IP、源Prot、目的IP、目的Prot及IP协议,定义成流,以超时120 s或双向TCP报文标志位(FIN)为1作为流的结束,可以将P2P报文产生的流分成TCP(或UDP)流。用F={F1,F2,…,Fi,…,FM }表示流的集合,Fi={fi1,fi2,…,fij,…,fiN}表示第i条P2P流。其中M表示流的个数,N表示特征的个数,fij表示第i条流的第j个特征。设C={C1,C2,…, Ck,…,CK}表示流所属的类别标签集合。其中K表示类别的数量,Ck表示第k类流,如BT、Thunder等。
  1.2 流特征的产生
  本文研究的重要目标之一就是要产生独立于端口、协议和有效载荷的流特征,以便于基于机器学习算法的流量分类器的构建、学习及其应用。依据1.1节流的五元组的定义,对P2P流的报文长度、到达时间等基本信息进行统计计算,产生流的特征。在本文的研究中,流的特征分为前向和后向双向特征,把一条流的第一个报文中的源IP和源Port看做源节点,把报文中的目的IP和目的Port看做目的节点,前后向流的定义如下:
  前向流:源节点→目的节点;后向流:目的节点→源节点
  研究中,分别对双向流的报文长度、到达时间进行统计分析,通过计算其均方差等方法,产生独立于端口、协议和有效载荷的流特征。其中,均方差的计算如式(1)。
  Fij=∑Pnuml=1a2l-∑Pnuml=1al2/Pnum/Pnum(1)
  其中:al表示流中一个报文的长度或到达时间;Pnum表示一条流所包含的报文个数。
  统计计算双向报文的个数、长度等形成36个候选特征,如表1所示。流候选特征的详细含义可参考文献[4]。
  表1 流的候选特征
  P2P流的候选特征含义个数序号
  packets(forward,backward)双向报文个数21~2
  Bytes(forward,backward)双向报文的总字节数23~4
  pakcetsLen(min,max,mean,avg)(forward,backward)双向报文长度的统计特征量85~89~12
  arriveTime(mean)(forward,backward)双向报文到达时间213~14
  less(〈100,500,1000,〉1000) (forward,backward)双向报文长度的范围区间815~1819~22
  duration持续时间123
  avgPktSecond平均包/s124
  framFlag(forward,backward)双向分片标志225~26

  TCPFla(Urg、Ack、Psh、Rst、Syn)(forward,backward)双向报文的TCP标志位1027~3132~36
  
  2 基于ReliefF-CFS方法的特征选择
  
  在基于机器学习算法的P2P流量分类研究中,特征选择也是本文研究的一个重要内容。特征选择是指在不降低或能够保证分类准确率的情况下,从候选特征集中去掉不相关或冗余特征,选择出一个最优特征子集。根据评估函数与分类器的关系,特征选择方法分成过滤器(filter)模式[5,6]和封装器(wrapper)模式[7,8]两种。其中,filter的评估函数与分类器无关;而wrapper采用分类器的分类错误率或正确率作为评价函数,选择速度慢,需要交叉认证和大量的计算资源,选择结果依赖于采用的分类算法。本文的研究采用filter模式,用基于ReliefF[9]和基于相关性的两种相结合的方法来选择特征子集。 其基本思想是:先用ReliefF方法对P2P流的候选特征进行初步选择,然后对初步选择的P2P流用基于相关的特征选择(correlation-based feature selection,CFS)方法[10]进一步选择,称这种方法为ReliefF-CFS方法。

[1] [2] [3] [4]  下一页

Tags:

作者:刘永定 阳爱民 周序生 邹豪杰
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论