论文部分内容阅读
网络的发展,目前主要是应用的多样化。特别是近几年来,P2P作为一项全新的Internet技术飞速发展,不断涌现出新型的P2P协议及应用软件。这些应用的发展,必然导致网络中数据流量的增大,并且经常导致网络拥塞,网络带宽也就成为了一个亟待解决的瓶颈问题。路由器作为接入网络的关键设备,在路由器上实现流量控制,是一种比较有效的解决网络拥塞问题的方法。然而,商业路由器不能适应因网络应用不断丰富而对流量控制个性化实现的要求,所以在开源路由器上实现用户自己想要的功能,就成为了人们研究的热点。本文以小型的开源路由器作为研究对象,首先分析了流量控制和开源路由器的研究现状,并说明了在开源路由器上增加网络流量控制系统的必要性和意义。接着,分析了libpcap和pf_ring两种捕包机制,说明了采用pf_ring捕包机制的原因。然后,分析了对于流量控制主要是对于网络中存在的大部分P2P流量的控制的原因,研究了端口识别法,深度包检测识别法,(TCP/UDP)IP pair法和(ip, port) pair法等P2P流量识别方法,在此基础上提出了一种结合各种识别法的P2P识别模型,既精确识别了P2P流量,又提高了识别效率。对于流量控制,系统采用了基于netfilter框架和iptables工具的TC流量控制方法,根据数据流对于网络的影响程度,对于不同的数据流提出了不同的控制策略。根据以上理论基础和实际实验环境,设计并实现流量控制系统,并将其在开源路由器上定制实现。最后通过实验表明系统对网络流量控制起到了良好的作用,从而保障了网络传输的通畅,避免了网络拥塞。