防火墙带宽控制技术的研究与实现(1)

防火墙带宽控制技术的研究与实现(1)

ID:23870668

大小:50.50 KB

页数:6页

时间:2018-11-11

防火墙带宽控制技术的研究与实现(1)_第1页
防火墙带宽控制技术的研究与实现(1)_第2页
防火墙带宽控制技术的研究与实现(1)_第3页
防火墙带宽控制技术的研究与实现(1)_第4页
防火墙带宽控制技术的研究与实现(1)_第5页
资源描述:

《防火墙带宽控制技术的研究与实现(1)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、防火墙带宽控制技术的研究与实现(1)摘 要随着网络应用的不断丰富,人们对网络服务质量提出了更高的要求,带宽控制则日益受到人们的关注。本文深入研究了Linux系统下的带宽控制工具TC,以及HTB队列规定,针对防火墙中不同的应用和服务,实现了带宽控制。关键词QoS;TC;HTB;队列;分类;过滤规则1 引言随着网络多媒体技术的飞速发展,Inter上的多媒体应用层出不穷,如IP、视频会议、视频点播(VOD)、远程教育等多媒体实时业务;另外,电子商务作为一种新兴的网络经济模式日益受到人们的青睐。同时,在很多企业的局域网内部,网络应用也极为丰富,

2、如MIS系统、Web服务、邮件服务,甚至还有数据流量较大的视频点播等业务。面对网络服务与应用的不断增长,人们对其质量提出了更高的要求。近年来,网络带宽不断扩大,但是依然无法满足网络应用的要求。为此,带宽控制逐渐为人们所关注。一般说来,企业内部网络有足够的带宽可以使用。但是,企业接入Inter的带宽是有限的。为了提高网络带宽的利用率,保证用户关键性业务的正常运行,越来越多的企业和组织意识到了带宽控制的重要性。QoS,即质量服务,是网络中的一种安全机制,用来解决网络延迟和阻塞等问题。带宽控制是实现QoS的重要组成部分,它根据源/目的端口(服

3、务类型)、源/目的地址等数据包的关键字段,对网络带宽进行分类,限制每个分类中数据包发送的速率,从而达到控制网络流量,保障关键业务带宽的目的。防火墙是目前最有效、使用最广泛的网络安全产品,它处于网络的边界处,而这里也是实现带宽控制最合适的位置。本文深入分析了Linux下的带宽控制工具TC,并且结合最新的HTB队列规定和iptables工具,给出了在防火墙上实现带宽控制的具体实现。2 Linux下的带宽控制工具TCTC(TrafficControl),即带宽控制,是Linux中功能强大的带宽控制工具。通过TC,可以很方便地管理网络带宽,实现

4、QoS。TC拥有数据包分类、优先级设定、数据共享、输入和输出流量限制等多种功能。2.1TC的结构TC共分为三个模块:队列规定模块、分类模块和过滤模块。它们之间的关系如图1所示,队列规定模块是TC实现的基础,在这个模块中封装了其它两个模块。而分类和过滤规则是实现TC的主体。2.1.1队列每一个网络接口上都可以绑定一个队列规定,用于控制经过这个接口的数据流。它把一条物理链路模拟成几条更慢的链路或者把发出的不同类型的流量模拟成不同的连接。Linux内核中支持的队列规定有许多。有些是不可以分类的,如FIFO,pfifo-fast,red,sfq

5、,tbf,另一些是可以分类的,如CBQ、HTB、优先级队列规定。其中,CBQ和HTB的功能最为丰富,它们可以为每个模拟链路设置优先级,优先级高的先发送;还可以实现链路共享,当一个分类上的带宽空闲时可以借用给其它的分类;还有突发流量控制,速率限制等。如果一个接口上没有绑定任何队列,则使用默认的FIFO队列。2.1.2分类在一个队列上必须有一个主干分类,它拥有全部的带宽。在主干分类上可创建多个分类,每个分类可以再创建它们的子类,以此类推,但是每一个子类只能有一个父类。它们的主要作用是将数据流依据各种条件进行分类,便于对它们进行控制。针对各个

6、不同的网络接口可创建相同的分类,但是同一个接口上的分类不能相同。每个分类都分配了一定的带宽值,属于同一个父类的所有子类的带宽总和不能超过父类的带宽值。分类就好像是为数据包建立了几条通道,而数据包的流向则由过滤规则来决定。2.1.3过滤规则每一个分类可以设置一条或者多条过滤规则,每一条规则由两部分组成:匹配和判决。匹配部分根据数据报的某些特征来区分数据报,如数据报的源IP地址、目地IP地址,协议类型、TOS字节、网络接口、端口等。如果没有匹配到,就调用下一条过滤规则;如果匹配到了就通过判决部分来决定是将它丢弃、延迟还是传入下层分类。目前,

7、Linux可以使用的过滤器有:fark分类器,u32分类器,RSVP分类器等。其中,fark分类器允许使用Linuxfilter代码选择流量,而u32分类器允许选择基于ANY头的流量。图1 队列规定、分类和过滤模块三者的关系2.2TC的实现原理TC将流经网络接口的数据放入一个队列中,对它们进行分类,并根据过滤规则把数据包放入每个分类的分队列中,通过控制每个分队列数据包发送的速率来限制每个分类的带宽。首先,TC在网络接口处绑定一个队列规定,并为这个队列创建多个分类,如果需要,还可以为每个分类创建多个子分类,每个子分类都有一个数据包分队列,

8、它们形成了一个树型的结构(如图1)。同属一个父类的各个分类之间可以互相共享带宽,当然在创建分类时也可以设置为不共享自己的带宽。其次,针对每个分类,设置一条或多条过滤规则与它相对应。当数据包进入分类后,相应的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。