基于行为特征的P2P应用识别方法的研究
【摘要】:P2P是近年来互联网最热门的技术,在VoIP、下载、流媒体、协调计算等领域得到飞速发展,对互联网业务起到了巨大的推动作用。另一方面,P2P业务占用较大的网络带宽,容易引起网络拥塞和安全隐患等问题,妨碍了正常业务的开展。为了保证网络正常有序地进行,保证其它正规业务的高质量服务,就必须对P2P流量进行识别,并进行控制。但随着动态端口技术和数据加密技术的出现,P2P流量识别技术也面临着巨大的挑战。
论文首先分析了P2P网络拓扑结构与C/S网络拓扑结构的不同之处,介绍了三种非结构化网络的拓扑维护及资源查询机制;对目前存在的几种主要的流量识别技术进行了对比分析,指出了他们的利弊之处;简单介绍了几种常见的流量控制方法。其次,使用CommView工具,对主流P2P应用的行为进行了分析,并对机器学习算法以及该算法怎样用于流量识别进行了深入研究。针对传统的应用识别方法的一些缺点,提出了解决方案。
论文主要研究内容和完成的工作:
1.综合分析了国内外已有的研究成果,结合国内外相关技术,针对基于流量识别方法存在的以下问题——计算复杂和不能实时识别P2P应用,提出了一种基于行为特征的P2P应用识别方法。该方法只需分析每个流的前五个UDP数据包,并且只需解析数据包的头部信息,计算量大大减小。不需要等到每个流结束,即可对流量分类,因此,可以用于实时的P2P应用识别。同时,将行为特征与NaiveBayes算法相结合,使得该识别方法具有一定的可预测性,能够发现网络中新出现的P2P应用。在Weka环境中将该方法与基于流量统计特征的方法进行对比,分析其性能指标,分析结果表明该方法的识别性能有所提高。
2.对行为特征的描述方法进行了改进,提出了对网络数据包进行非线性转化的数据分析方法。该方法将数据包大小的实际值映射到相应的集合中,并根据映射到的集合的不同,对其赋予不同的值,文中用到的值为0,1,2,-1。在Weka环境中,使用原始的数据集合与改进后的数据集合分别进行分类实验,结果证明了该方法能使应用识别的准确度得到很大提高。
3.结合识别控制系统在局域网的特定环境中的部署情况,基于WinPcap技术在VC++6.0环境下完成了一个P2P应用识别程序,该应用程序能在线识别P2P应用。在真实的网络环境中,对以上应用识别方法进行了验证。结果表明,该方法能有效地识别P2P应用。