论文部分内容阅读
随着Internet的快速发展与普及,P2P应用正在逐渐占据互联网业务中举足轻重的地位。然而P2P的广泛应用着实让宽带运营商感到十分为难。因为这类应用对带宽的需求在理论上是无止境的,它们会使原来运行流畅的网络变得越来越拥塞,同时还极大改变了网络上的流量模型,并且明显的提高了运营成本。针对此种情况,广大运营商采用了封杀P2P应用,或是限制某些应用流量的策略。这些措施在一定程度上缓解了运营商的流量出口压力,但都是以降低用户体验为前提,并不能根本解决用户和运营商之间的矛盾。因此本文针对如何加强运营商对网络流量的监控和管理、优化运营商现有网络质量,使P2P流量本地化,降低出口流量成本为出发点,并结合P2P流量控制系统这个项目应用特点对此展开分析和论述。在论文中,首先讨论了BitTorrent工作原理、系统构成和协议原理。分析讨论了P2P代理缓存的机制和实现方法。研究了深度报文分析技术和高性能服务器的几种网络I/O机制。通过对几种服务器网络I/O方法的分析和比较,得出单进程事件驱动+ Kqueue的结构适合用于实现高性能的通信服务器,同时分析并给出了单进程并发服务器中关键的网络I/O实现技术。在本论文系统设计与实现部分中,先提出了系统的总体目标,并在此目标的基础上对该系统的设计思想、系统框架和处理流程进行了总体描述。然后分别对流量识别(PPS)、负载均衡引擎(LBE)和代理缓存(PPC)等三个核心模块的设计和实现做出详细的介绍。PPS部署在网络出口处,采用深度报文分析技术识别网络流量。对于符合特定特征的流量将重定向至LBE服务器。LBE设计并实现了基于单进程事件驱动的通信服务器。实现了BitTorrent系统中的tracker功能,并结合负载均衡算法完成对服务进程的加载。PPC作为代理缓存服务器将给客户端提供数据下载和代理的功能。通过对用户在一段时间内下载行为的分析,提出了基于LRU的P2P缓存替换算法。通过对本系统的功能和性能的测试,表明该系统达到了设计目标并具有较高的性能。