论文摘要
P2P以其独特的技术优势在这几年内迅速发展,其应用范围不断扩大。P2P技术能够提供快速高效的文件共享、低成本高可用的计算资源和存储资源共享、强大的网络连通性和灵活的信息沟通能力。P2P技术已广泛的应用于各种业务,据统计,P2P应用已占ISP业务总量的60%~80%,跃然成为网络带宽最大的消费者。随着Internet重要性的日益提高和网络结构的日益复杂,网络的安全性、可管理性及传统应用的可用性受到了挑战。人们明显越来越意识到有必要对P2P流量和网络行为进行深入的了解、分析,为监控与管理P2P提供技术支持。当前对P2P流识别的主要方法是深层数据包检测(DPI)和基于传输层行为特征检测(流检),然而两种方法均有各自的不足:前者随着P2P的快速发展,模糊协议、加密协议等的出现使得DPI识别失效;P2P应用的种类越来越多也增加了DPI技术后期维护费用并导致payload特征库越来越大;以及DPI检测中的复杂度非常大。后者既对P2P应用的分类能力较弱;又在提高检测精度时受到许多限制;而且要占用高的缓存空间和难于实现实时性。目前不少研究试图把两种技术相结合,虽然可以优势互补,却也使两者的缺点互相叠加。本文从P2P传输层特征入手,分析其连接方式、协议和节点角色特征,根据端口和IP数量上的关系总结出P2P流和非P2P流的分布情况。由该分布特征结合基于传输层特征识别的思想提出了一种对拟P2P流启发式识别的思路,主要识别高概率的P2P流;通过该识别结合其它检测,可以减少对大量的非P2P流数据的检测。据此,本文设计并实现了一个基于启发式识别的深层数据包检测和流特征检测P2P流的系统,该系统具有DPI识别精确性和流检扩展性,通过启发式识别,减少DPI检测和流检缓存的数据量,从而降低两者结合带来的时间和空间复杂度。