● 摘要
随着互联网的飞速发展,各种新的网络应用不断涌现出来,以P2P技术为基础的网络应用便是其中一种。目前,P2P技术已广泛应用于信息共享、实时通信、信息检索等领域。然而,P2P应用加剧了网络带宽的争用,往往导致网络中关键业务的网络带宽与服务质量无法得到有效的保障。 因此,现在人们急需的是实现网络应用的区别化管理,这就需要以应用为划分依据进行网络带宽的管理。而对P2P协议进行有效的识别则是以应用为流量管理依据的重要前提和基础。 本文在已有研究成果的基础上,以高效、准确地识别各类常用的P2P应用为目标,设计并实现了一个P2P协议识别系统,该系统具有如下一些特点: 1.分析了各类协议识别方法(如端口识别、特征字识别等)的优点和不足,在系统中,综合了各类协议识别方法,有效的提高了协议识别的准确率。 2.引入了行为分析法。在系统中,可以对P2P协议所表现出的行为特征如数据包大小、端口号等进行抽象,以达到对P2P协议,尤其是加密类P2P协议的准确识别。 3.采用了基于权重指标的协议判别方法。由于各项评判指标在协议的评判过程中往往表现出不同程度的作用,因此引入了权重指标的评判机制,对每项评判指标设定权重,并设定阈值,通过计算得出数据包的评判值,通过与给定阈值的比较给出数据包的评判结果。在权重值与阈值的选择上进行了大量的测试,以实验数据为基础合理确定权重值和阈值,有效的提高了协议识别的准确率。 4.在本系统中,采用了可重配置文件的形式达到系统的可扩展性。这样,当协议更新升级后,只需简单的修改配置文件即可适应新的协议特征。 本文对P2P协议识别系统进行了功能及性能两方面测试,测试结果表明系统能够在一定的性能要求下较好的实现P2P协议的识别。