论文部分内容阅读
P2P网络应用在近几年得到了迅猛发展,以文件共享为主的P2P应用正在疯狂的吞噬带宽,已经严重影响到更为紧急的其他关键业务。因此,测量与控制P2P流量已经成为当前网络管理势在必行的措施。然而,P2P对带宽的影响至今还不能给出一个定量的评估,这一切源于P2P特有的协议特征给识别、测量它带来了巨大的挑战,传统基于端口的流量分类、测量方法已经失效。为彻底了解P2P流量特征及对带宽的影响,需要针对P2P流量测量展开研究。在研究的基础上探讨了一种通过应用层深层扫描来识别和测量P2P流量的方法,并设计和实现了一个基于Linux防火墙Netfilter的P2P流量测量系统P2P_M。Netfilter是Linux系统下的内核防火墙框架,具有良好的扩展性,可以通过Linux内核可加载模块技术对其增加一个内核模块进行扩展。Netfilter使用连接跟踪机制实现对数据包的高效过滤。在分析了通过应用层匹配来识别P2P流量技术的基础上,设计了一个基于Netfilter的P2P流量测量系统P2P_M。该系统利用已经提取的各种流行P2P协议的应用层特征,在Linux操作系统内核进行高速的应用层特征字符串匹配来识别P2P数据流,在识别的基础上运用连接跟踪技术进行流量统计。连接跟踪对peer之间的连接会话的源IP、目的IP、源端口、目的端口、协议构成的元组信息进行散列,以散列值作为索引建立hash表来对peer之间的连接会话进行标识,然后以连接为单位进行流量统计,实现对P2P流量的实时测量。P2P_M系统主要包含了四个模块:高效的P2P测量连接跟踪机制、内核P2P识别和统计模块、内核和用户空间通信模块、应用层流量分析模块。在局域网环境下,对系统进行了功能和性能测试。实验结果表明:系统能够实时的对流经局域网的以Bittorrent、PPLive为主的P2P流量进行识别和测量,根据测量数据,可进一步研究P2P流量特征。