论文部分内容阅读
随着网络技术的不断发展,P2P(peer-to-peer,对等网络)应用已经成为最重要的网络应用之一。它为用户提供了丰富的资源和较好的服务质量。然而在带来诸多好处的同时,也同时带来了网络拥塞、病毒干扰和网络安全、版权问题、垃圾信息等诸多问题,因此有效的识别P2P应用已变的至关重要。传统的识别P2P应用的方法有基于端口的识别方法与基于有效载荷特征串的识别方法。然而,随着P2P技术的不断发展,基于动态随机端口的P2P应用和采用加密技术的P2P应用逐渐增多,这些传统的识别方法遇到了发展瓶颈,分类准确率随之下降。在这样一种形势下,基于机器学习算法来处理P2P流量分类问题的方法应运而生,这种方法采用独立于端口、协议和有效载荷的P2P流特征作为算法的输入,通过不断的训练分类器以获得具有较高分类率的分类器。目前基于机器学习算法的研究较多,大致可以分为有监督和无监督学习两类。本文也对这些算法进行了深入的研究,基于前人的研究经验,也掌握了一定的规律。有监督的机器学习算法需要有标识的样本数据,不能识别新的应用类型,而现在新的网络应用层出不穷,所以本文选用无监督算法来进行P2P流量的分类。典型的无监督算法有K-means算法,它是一种硬聚类算法,即具有非此即彼的性质,在一定程度上并不符合客观实际,所以在对机器学习算法充分研究的基础上,本文提出了采用模糊分类的方法来处理P2P流量分类问题,并最终确定采用模糊C均值聚类算法来完成本课题。在研究过程中,同时对FCM算法、数据包的捕获技术、特征提取、以及分类器评测等方面进行了深入的研究,并提出了一种可以有效确定FCM算法中参数m的方法。选择基于matlab的模糊逻辑工具箱来训练分类器,同时为了进行对比实验,基于Weka数据挖掘软件进行了K-means聚类实验。实验结果表明采用FCM算法具有较好的分类效果。