论文部分内容阅读
自二十世纪九十年代末P2P技术出现以来,P2P应用迅速发展,目前已占领多个网络应用领域。P2P应用在为用户提供前所未有的便利的同时,也已经严重影响了其他网络应用的正常开展。P2P应用使用动态端口、加密应用层数据等策略逃避常规流量检测机制,对流量检测与管理造成困难。对P2P应用流量的检测是建立在对P2P技术充分理解基础上的,本文根据P2P技术的发展,分析了其体系架构的变化,并研究了各种体系架构下的相关搜索技术。同时,以经典的P2P应用——eDonkey为例,对其进行了协议分析。P2P流量检测技术是一研究热点,国内外的研究学者提出了多种检测方法,包括基于端口的,基于流统计特性的,基于传输层行为特征的和基于深层数据包扫描的。但这些方法存在着不同程度的缺陷。相对于传统的检测方法来说,支持向量机技术为P2P流量检测技术注入了新的活力。支持向量机(Support Vector Machine,简称SVM)建立在统计学习理论和结构风险最小化原理基础之上,避免了局部最优解,在解决小样本的分类问题中表现出许多特有的优势。基于对P2P相关技术及支持向量机技术的研究,本文提出了基于支持向量机的P2P流量检测技术。在研究支持向量机技术的基础上,提出了基于SVM的P2P流量检测系统模型,并对模型各个组件的功能、机制、实现进行了深入探讨。在P2P流量特征选取上,本文从数据包、数据流、网络连接三个层面进行了特征选取。对用于P2P流量检测的网络数据特征,本文利用异构数据集上的距离度量函数HVDM进行了特征数据的预处理,并在有保证的估计方法的基础上进行了训练数据规模的确定,既避免了因训练数据规模过小而导致的训练结构太差问题,又减少了训练时间,提高了训练效率。在训练数据的过程中,本文采用了两种优化方法对训练过程进行优化处理。一是运用模糊数学理论,考虑不同的网络数据特征对P2P流量检测结果的影响程度,提出了一种特征加权处理方法,并通过实验数据说明该方法在检测精度上有所提高;二是运用循环选择算法,对训练数据进行循环选择。这样,一方面可以不断增加训练样本覆盖的数据特征,另一方面避免了大量具有相同特征的流量重复出现在训练数据集中。实验从漏报率和虚报率两个方面进行衡量,基于SVM的P2P流量检测技术都表现出了良好的性能。