论文关键词:开源路由器 流量统计 流量控制 网络应用 网络拥塞
论文摘要:路由器是接人网络的关键设备,为了防止网络流量过大而造成网络拥塞的状况,设计了一种在路由器上的网络流量控制系统。DD- WRT是一种开源的路由器固件,对DD- WRT重新定制开发,可以实现用户自己想要的一些功能。介绍了一种基于DD- WRT实现的网络流量统计和控制系统,介绍了系统捕包、流量统计和流量控制的一般流程,同时着重介绍了针对网络应用的流量统计和控制方法。系统采用嵌人式Linux编程,实现了在开源路由器中对网络流量进行控制的功能,并有效地防止了网络拥塞。
0引言
网络的发展,目前主要是应用的多样化,对于网络流量控制和带宽管理提出了新的要求,从简单地针对IP或端口的带宽管理到针对不同应用,满足不同需求的流量控制。通过带宽管理来改善网络状况,可以采取扩大带宽容量和控制网络流量的方法。由于扩容的花费较大,因此,通过控制网络流量来改善网络状况,成为了人们研究的热点。
目前,在局域网接人互联网的方式中,接人路由器是其中的一种关键设备,所以在接人路由器中实现对局域网访问外网的流量进行控制是一种较为有效的方法。虽然商业路由器能够实现流量控制的基本功能,但固件的更新慢,可扩展性差,不能适应因网络应用不断丰富而对流量控制个性化实现的要求。而且,商业路由器源代码不公开,因此不能由第三方软件开发者开发特定软件。而目前出现了多种开源的路由器软件,可以运行在某些特定型号的路由器上。因此可以在开源路由器软件的基础上,根据需求实现流量控制功能的定制开发。
DD一WRT,就是其中一种开放性的路由器固件,它其实就是一个供无线路由器使用的嵌人版Linux,它可以采用Broadcom公司CPU的小型无线路由器实现数千元的商用无线路由器功能,而且人们甚至可以自行编译程序,自由扩展无线路由器功能。
本系统在DD一WRT原有功能的基础上扩展开发了流量统计和控制的功能,通过查看网络流量状态,并对带宽进行分配来控制网络流量,从而有效地解决了网络拥塞的问题。
1总体方案设计
现在一些小区、楼层、小的企事业单位,由于人们大量的下载上传以及P2P的普遍使用,并且缺乏一种规范的管理机制,所以经常导致网络流量激增,甚至拥塞。因此针对这种情况,设计一种能查看网络流量状态,并对其进行有效控制的基于开源路由器的流量控制系统。
系统主要分成三个部分设计:数据包捕包模块、流量统计模块和流量控制模块。为了有效捕获数据包,捕包模块采用pf _ ring的环形缓冲区捕包机制。流量统计功能可按IP地址、端口号和应用协议三种方案进行统计。当网络发生拥塞时,在流量控制模块中动态地调用TC(Traffic Control)来对网络流量进行控制。系统的基本流程如图1所示。
2关键技术
2.1 pf _ ring捕包机制