论文部分内容阅读
随着计算机技术尤其是网络技术的不断发展,越来越多的业务的处理都更加依赖于网络,对网络带宽的要求也越来越高,但是网络上许多于业务无关的网络流量却在吞噬着带宽,使正常的网络运行受到很大的影响。尤其是现在由于P2P技术的快速发展,占用了大量带宽,从而导致很多业务因为带宽资源被占而无法进行。传统的P2P流量检测和控制工具一般是通过源/目的IP地址、MAC地址、TCP/UDP端口等进行检测和控制,缺少对其应用层流量分析,但是现在很多的P2P软件都使用了动态端口,或者是伪装成了HTTP流量,利用传统的检测和控制就很难对P2P流量进行检测和控制。而在本文则中充分利用了Linux 2.4内核防火墙框架Netfilter/Iptables的可扩展性,并结合linux流量整行工具对P2P流量进行识别和控制,使网络资源能合理分配。本文中作者提出了一种基于Linux内核扩展模块的P2P数据识别和控制的方法,首先在网络上抓包,并且对常见的P2P协议进行分析,通过Linux系统防火墙框架Netfilter连接跟踪机制来跟踪网络上的数据包,并根据数据包的的特点来判断这个包所属的连接类型。作者详细分析Linux Netfilter/Iptables框架并通过P2P协议分析的结果对其进行扩展,然后根据各种P2P协议的应用层的特征来对P2P流量进行识别,然后在Linux内核中设置一些过滤规则来管理P2P的流量。利用这种方法可是使得网络中的P2P流量完全被丢弃,同时, Linux的服务质量的合理分配资源的P2P网络的手段来限制使用带宽,可以使用网络性能得到大幅度的提高。本文开发的基于Linux内核扩展模块的P2P流量控制系统,主要采用的是对Iptables中表规则的设置,同时还结合了带宽管理中的队列规则。基于应用层的特点来分析和识别各种P2P流量,可以将一些网络管理员不想要的P2P下载流量完全禁止,也可以利用Linux流量控制技术将P2P下载的流量控制在一个保证网络稳定运行的范围内。本文为网络管理者提供了一个很好的流量监控的解决方案。