期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

P2P流量识别

时间:2015-12-25 15:20 文章来源:http://www.lunwenbuluo.com 作者:鲁刚,张宏莉,叶麟 点击次数:

  摘要:P2P流量的迅猛增长加剧了网络拥塞状况,P2P流量识别为网络管理提供了基本的技术支持.首先介绍了P2P流量的类别及流量识别面临的主要困难,然后综述了P2P流量识别的主要技术及研究进展,最后给出下一步的主要研究方向.

  关键词:对等网络;端口识别;深层数据包检测;机器学习;网络行为

  近年来,随着P2P技术的不断发展,对等网络已被广泛应用于文件共享、即时通信、流媒体传输等领域.据报道,自2004年以来,P2P流量已成为互联网的主宰流量,占全部流量的60%以上.德国ipoque公司发现,2008~2009年间,东欧的P2P流量已达到70%.P2P流量的迅猛增长一方面给网络带宽造成严重的负担,而且还以其近乎对称的流量模式加剧了网络的拥塞状况;另一方面,基于P2P的恶意流量也频繁出现在互联网上,大量的非法连接加快了带宽的消耗,甚至导致拒绝服务攻击.由此,如何识别和控制P2P流量,已经成为网络运营和管理者面临的挑战.

  学术界对此类问题给予了广泛关注.自2000年起,SIGCOMM,INFOCOM,USENIX等会议上涌现出大量关于P2P测量、识别方面的研究成果.P2P流量识别根据识别粒度可分为粗粒度识别和细粒度识别两种.前者主要区分P2P流量与非P2P流量,后者主要识别具体的P2P应用或协议.由于同一种P2P应用可以支持多种协议,例如国内较流行的迅雷支持HTTP,eDonkey2000,Bittorrent以及其自身协议等多种下载方式,且很多P2P协议不公开,流量负载加密,这些都给P2P流量识别带来巨大挑战.

  根据所采用的识别方法不同,P2P流量识别又可分为端口识别技术、深层数据包检测(deeppacketinspection,简称DPI)技术、基于机器学习的流量识别技术、基于网络行为的识别技术等.各种P2P流量识别技术都有其优缺点,目前还没有一种技术可以识别网络中所有P2P流量.P2P流量识别面临的主要问题可归结为:(1)如何提取稳定且准确的P2P特征.特征的提取和选择是确保识别准确的关键,而P2P网络的动态性以及大量P2P软件常采用规避检测技术,使得P2P特征并不明显;(2)如何设计实时且准确的P2P流量识别算法.流量识别算法要能够实时快速地识别P2P流,但网速不断提高,吞吐量不断增大,这给流量识别算法提出了新的挑战.

  1、P2P流量识别技术的评价指标

  P2P流量识别技术一般可以从以下4方面评估:(1)实时性:反映识别技术能够在线地、快速地识别P2P流量的能力;(2)准确性:反映识别技术能够正确地识别P2P流量的能力;(3)可扩展性:反映识别技术能够处理大量网络数据流的能力;(4)健壮性:反映识别技术能够克服非对称路由、包丢失和包重传等因素的影响.

  目前,除了准确性以外,实时性、可扩展性和健壮性还没有一个量化的评价指标.为便于比较现有P2P流量识别方法的有效性,本文首先介绍误报率和漏报率、召回率和精度以及流的准确性和字节准确性评价指标.

  1.1误报率和漏报率

  误报(falsepositive)是指非类别C的流量被分类成为类别C.真阴性(truenegative)是指非类别C的流量而被分成非类别C.假定误报数为FP,真阴性数为TN,则误报率(falsepositiverate)为falsepositiverateFP.

  漏报(falsenegative)是指属于类别C的流量而被分类成非类别C.真阳性(truepositive)是指属于类别C的流量而被分类成类别C.假定漏报数为FN,真阳性数为TP,则漏报率(falsenegativerate)为falsenegativerateFN.

  1.2流的准确性和字节准确性

  流通常用五元组.源IP地址,目的IP地址,源端口号,目的端口号,协议.来描述.在超时约束下,采用相同五元组进行通信的一组数据包的集合称之为流.

  流的准确性指被正确识别的流数占网络所有流数的百分比.字节的准确性是指被正确识别的数据包承载的字节数占网络传输的总字节数的百分比.Erman等人[5]指出,在评价流量识别的准确性时,字节的准确性是非常关键的.他们给出的数据集表明,0.1%的流占整个流量字节总数的46%.如果流量识别算法能够识别出除了这0.1%的流以外所有的流,那么流的准确性可以达到99.9%,但却损失了46%的字节准确性.因此在实际的流量识别效果评估中,在给出流的准确性的同时,也要给出字节的准确性.

  P2P流量识别的准确性已经有较完善的量化评价指标.但目前评价准确性的指标并不统一,这为客观地比较各种P2P流量识别技术增加了困难.此外,P2P流量识别技术的实时性、可扩展性和健壮性常常被定性地评估,有待于进一步研究定量评估问题.

  2、P2P流量识别技术

  目前的P2P流量识别技术主要分为端口识别技术、深层数据包检测技术、基于机器学习的流量识别技术和基于网络行为的流量识别技术.

  2.1端口识别技术

  早期的P2P应用程序使用固定的端口号,所以网络服务提供商(Internetserviceprovider,简称ISP)常利用端口号识别P2P流量.端口识别技术容易实现,且计算开销小,然而目前的P2P应用程序使用端口跳变技术和端口伪装技术来躲避流量检测.Bleul等人分析DirectConnect网络得出,在已观察到的端口中,70%的端口仅仅被使用了一次.可见,基于端口的P2P流量识别技术已不能满足当前需求.

  2.2深层数据包检测(DPI)技术

  DPI技术常利用模式匹配算法搜索流量载荷中P2P协议的特征值,进而判断是否属于P2P流量.应用层负载特征的提取是确保DPI技术识别准确率的关键,而模式匹配算法是确保DPI技术性能的关键.本节从应用层负载特征和模式匹配算法两个方面阐述DPI技术.

  应用层负载特征的提取主要有手工和自动两种方式.手工提取特征的方法是:若协议公开,先对数据报文进行协议分析,通过查阅协议的相关文档,提取其数据报文负载特征,对不公开的协议可以采用黑盒和逆向工程两种方式进行分析.Sen等人查阅大量的P2P协议相关文档,提取出Gnutella,KazaA,DirectConnect,BitTorrent,eDonkey等5种P2P文件共享流量特征,识别准确率在90.1%~100%.手工方式提取特征比较耗时,对于协议文档不公开或者加密的流量,获取特征更加困难.

  自动提取特征方式弥补了手工方式的不足,它主要采用机器学习方法.Haffner等人采用Na.veBayes,AdaBoost和RegularizedMaximumEntropy等3种机器学习算法提取7种应用流量负载特征.利用这些特征进行分类,精度高达99%~100%,召回率为86.6%~99.9%.刘兴斌等人采用Apriori算法自动提取协议特征,分类9种应用流量,除了加密的emule流量识别率较低以外,其他应用流量的字节识别率高达97%以上.Park等人提出了LASER算法,LASER算法搜索应用层负载的最长公共子序列来作为应用层负载特征.他们利用LASER算法提取的特征识别LimeWire流量的误报率为0,漏报率为8.42%;识别Bittorrent流量的误报率为0,漏报率为10.4%.

  2.2.2模式匹配算法

  模式匹配算法很早就被应用到流量识别领域中.目前,模式匹配算法面临的主要挑战可归结为两点:(1)更高的吞吐量要求.中国互联网统计报告指出,截止到2009年6月,中国网络国际出口带宽达到747541Mbps,较2008年增长16.8%.这要求模式匹配算法有更高的吞吐量以适应网络流量的迅猛增长;(2)更高的健壮性要求.网络应用流量是多变的,每一种模式匹配算法不可能在任何一种情况下都是最优的,这要求模式匹配算法能够进行动态调整以适应网络数据的动态变化.

  模式匹配算法大致可分为单模式匹配和多模式匹配两种,常见的算法有KMP,KR,BM,AC及一些改进的算法等.文献综合分析了单模式匹配算法BM,BHM以及QS算法的优点,并设计了新的用于P2P网络流量识别的改进算法.文献比较了AC多模式匹配算法和Wu-Manber多模式匹配算法的时空复杂度,并提出了多模式匹配的硬件实现方法.鉴于文献的研究结果,表4列举了目前流量识别领域中常用模式匹配算法的时间复杂度.其中,n表示文本串长度,m表示模式串长度.

  模式匹配算法的时间复杂度与特征串长度相关,而DPI技术常常用规则表达式描述特征串.确定有限状态机(deterministicfinite-stateautomata,简称DFA)计算速度快,但存储开销大;不确定有限状态机(nondeterministicfinite-stateautomata,简称NFA)存储开销小,但计算速度慢.因此,它们都不适用于高速网络环境下描述特征.文献提出了一种基于可扩展有限状态机的DPI算法,解决了DFA存储开销大的问题.

  目前,基于DPI技术的P2P流量识别研究主要通过改进模式匹配算法以提高DPI技术的吞吐量.Sen等人设计了一个基于模式匹配算法的在线分类器识别P2P流量,并评估了SR(standardregex)算法、AR(ASTregex)算法和KR(Karp-Rabin)算法的流量识别性能,其吞吐量分别为0.21%~2.39%,8.7%~77.60%和0.07%~0.9%.可见,AR算法的性能相对最好.文献在入侵检测系统Snort平台上实现了对Bittorrent流量的识别.早期的Snort使用单模式串匹配Boyer-Moore算法,Fisk等人将SBMH多模式匹配算法应用于Snort时发现,Snort系统的平均性能提高了50%.此外,为提高检测性能,基于负载特征匹配的流量分类工具L7-filter在默认情况下仅检测一个流开始的前10个数据包.如果它能够在这10个包内识别出相应的P2P协议,那么这个流的所有数据包都属于该P2P协议.文献研究了L7-filter对于每个会话的搜索深度指出,72%的正则匹配是在每个会话的第1个数据包上进行的,且大多数的模式串出现在负载的前32字节中.Xu等人利用Rabin字符串匹配算法搜索主机上传流量和下载流量中是否存在相同的负载内容,如果存在相同的负载内容,则认为该主机为P2P主机.

  实际上,为了保证DPI健壮性,模式匹配算法常常要结合其他技术,例如流状态跟踪、协议状态检测机制等.

  然而Risso等人发现,在几千兆级网络环境下,TCP会话状态表会有几百万条,这已经超出了目前硬件平台的处理能力,极大地限制了DPI技术的检测性能.

  综上所述,在大多数情况下,DPI技术准确性高、可靠性好,且能够细粒度地识别流量,主要适合于非加密流量的识别,其识别的准确性依赖于特征库的更新.目前,AceNet,Qosmos等商业产品主要采用该技术识别流量,而学术界也常以该技术作为新流量识别方法的比较基准.L7-filter能够准确识别128种协议流量,但对负载加密的skype流量和迅雷流量识别能力有限.文献[9]识别负载加密的emule流量,其准确性仅在30%~70%之间.此外,在实际应用中,由于DPI技术侵犯个人隐私,其应用面受到限制.

  2.3基于机器学习的流量识别技术

  基于机器学习的流量识别技术一般不依赖于应用层负载信息,它利用流量统计特征建立机器学习分类模型识别P2P流量.

  2.3.1P2P流量的统计特征提取

  P2P流量的统计特征可以从数据包级和数据流级提取.

  (1)数据包特征


  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

相关内容

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli