论文部分内容阅读
随着互联网技术的不断发展,P2P己经成为发展最迅猛的网络应用之一。据权威机构统计,P2P业务已悄然占据了互联网业务总量的60%-80%,成为消耗互联网宽带的杀手级应用。然而,还没有行之有效的能够对P2P流量进行检测和识别的方案。因此,提出一种准确、高效的识别算法对于有效管理网络和合理利用网络资源都具有重要意义。本课题正是基于以上前提,回顾了P2P技术的主要应用领域和国内外P2P流量检测和识别技术的发展现状,深入分析了当前主流的P2P流量识别方法和识别系统的原理和技术特点,提出了Linux环境下通过Netfilter/iptables、透明网桥、netlink通信等技术基于双重特征的P2P流量检测与控制技术,并设计实现了相应的流量检测和控制系统。通过深度数据包检测技术可以准确识别当前广泛应用的各种P2P应用,而流量特征检测技术又对加密和未知的P2P应用有很好的检测效果,综合运用两种技术,二者相互取长补短,提高了整个流量检测系统的性能和准确性。系统主要由网络流量采集模块、基于深度包检测技术的P2P流量识别模块、基于传输层特征的P2P流量识别模块和流量控制模块四个部分组成。其中流量采集和控制模块是系统的基础,负责对网络流量进行采集和控制,而两个检测模块则是系统最重要的部分。论文针对这个两个部分的设计和实现作了详细的讲解和描述。其中深度包检测模块涉及到的关键技术有特征端口识别、IP分片的重组、Linux环境下实现连接跟踪、KMP匹配算法的改进、深度包检测技术的实现。而流量特征检测模块则运用了对等点分析、上传下载对比分析两种方法,首先确定疑似的P2P节点,然后再从对等流量特征进行分析。本文对以上各个内容均作了较为详细的阐述,并配以流程图和部分核心代码。在局域网环境下,对本系统的性能和检测效果进行了模拟测试。测试结果表明:本系统能够在高速的网络环境下准确高效地对局域网的各种P2P流量进行准确的检测和控制。根据测量数据,对系统在实验过程中的部分参数进行了修改,进一步提高了系统的检测速度和精度。