论文部分内容阅读
近几年来,P2P(peer-to-peer,对等网络)作为一项全新的网络技术飞速发展。有关调查表明,P2P业务已悄然占据了互联网业务总量的60%-80%,成为杀手级宽带互联网应用。P2P业务不断增加,造成了网络带宽的巨大消耗,甚至引起网络拥塞,降低其它业务的性能。另一方面对于企业用户来说,内部员工利用企业网上网听音乐或收看流式媒体造成了巨大的IT资源浪费;而通过并不安全的网络环境获得的应用程序和P2P协议,将可能为企业安全防护打开一扇后窗,使得病毒和恶意代码得以躲过安全审查潜入企业内部网络。因此,实现P2P流量的有效识别已经成为急需解决的问题。早期的时候使用端口扫描的方法来识别使用预先定义的端口号的P2P流量识别。近来,S.Sen和A.W.Moore将应用层签名匹配的方法用于P2P流识别,这种方法从包的载荷中提取应用层签名然后与已知的P2P应用签名数据库中的值进行匹配。而T.Karagiannis和A.W.More对P2P流量行为进行分析,得出一些规律,使用这些规律识别P2P流量。然而新一代的P2P应用可以使用任意的端口号来避开固定端口阻塞,而且越来越多的P2P应用开始加密它们的流量来穿越应用层签名匹配。所以P2P流量识别变得越来越难。我们需要找出一种健壮、准确率高的P2P流量发现的方法。本文从P2P流识别的工作原理与实现机制入手,研究分析了P2P流识别中存在的问题和实现有效的P2P流识别方案需要的技术,并在此基础上做了以下工作:1、研究分析了当前存在的几种P2P流识别方案的工作原理,以及其在P2P流识别过程中的特点和存在的问题。2、在分析了当前P2P流识别方案的实现原理和特点的基础上,对应用层签名匹配方法进行改进,给出使用新的流量特征的基于BP神经网络的流识别器,然后使用了一种结合改进的应用层签名匹配方法和基于BP神经网络的流识别器的P2P流识别方案,克服了当前的几种P2P流识别方案的缺点有效的提高了P2P流的识别率和识别的速度。3、为了对本文提出的P2P流识别方案进行验证,使用当前流行的建模工具MATLAB首先实现了一个用于P2P流识别的BP神经网络,继而在此基础上实现了本文提出的P2P流识别方案。4、针对该MATLAB环境下的实现,对结合DPI(深度数据包检测)方法与BP神经网络流量识别器P2P流识别方案的有效性进行了实验验证,并对该方案的性能进行了实验分析。