论文部分内容阅读
随着网络应用的日新月异,网络用户对网络带宽的需求日益增多。如果不对内网带宽做合理有效的规划则很容易导致网络拥塞,从而影响一些内网重要用户的通信质量。有鉴于此,本文设计了一套适用于内网的带宽管理系统,网络管理者首先通过流量统计的功能了解内网带宽的使用情况,然后根据内网用户的优先级以及使用带宽的时间区间做出带宽管理规划,这些规划包括限制最大带宽、保证最小带宽、在带宽资源有剩余时可以进行带宽共享从而提高带宽利用率。Netfilter是Linux内核中的数据包过滤系统,通过检测数据包包头中的信息来决定数据包的最终流向。Iptables是Netfilter对应于用户空间的数据包过滤管理工具,通过在Iptables中设定过滤规则可以改变数据包在Netfilter中的默认流向。同时,Iptables还带有数据包计数器的功能,可以统计出经过某条规则链的数据包的数量和流量大小。本文通过在Iptables中新建基于源/目的IP地址以及源/目的协议端口号的链和规则来改变数据包的流向,在数据包流经过的链中统计出流量的大小,然后根据这些统计数据绘制出每个用户IP的流量柱状图。Linux QoS提供了一套行之有效的带宽管理机制,该机制中主要包括队列规则、过滤器和分类三个元素,其中队列规则负责数据包的输出顺序,过滤器将数据包导向符合过滤规则的分类。本文首先创建基于不同IP地址的分类,并在分类中设定对应的队列规则,包括设定不同分类的优先级别来确定获得带宽资源的顺序以及获得带宽资源的多少,然后设定过滤器中的过滤规则将不同用户的数据包导入到不同的分类中去。本文还在传统的以IP地址和协议端口为过滤规则的基础上加入了以正则表达式匹配应用层协议的layer-7过滤模块,并引入带宽管理时间参数,可以定时开启和关闭带宽管理功能,增加了系统的灵活性。