TC服务器流量控制功能

发布:860700672 2013-04-24 16:55 阅读:1506
TC主要用于企业的,当然自己家也是可以用,不过我觉得没有必要了,企业用网络通常都会超过流量,或者流量不受控制,因此可以用TC来控制下服务器流量,下面就教教大家怎么做。 GJ4R f%  
  TC介绍 ayoqitXD?  
  在linux中,TC有二种控制方法CBQ和HTB.HTB是设计用来替换CBQ的。它是一个层次式的过滤框架。 X\'+);Z  
  TC包括三个基本的构成块: 队列规定qdisc(queueing discipline )、类(class)和分类器(Classifiers) \v[?4 [  
  队列(queueing discipline):用来实现控制网络的收发速度。通过队列,linux可以将网络数据包缓存起来,然后根据用户的设置,在尽量不中断连接(如 TCP)的前提下来平滑网络流量。需要注意的是,linux对接收队列的控制不够好,所以我们一般只用发送队列,即“控发不控收”。它封装了其他两个主要 TC组件(类和分类器)。内核如果需要通过某个网络接口发送数据包,它都需要按照为这个接口配置的qdisc(排队规则)把数据包加入队列。然后,内核会尽可能多地从qdisc里面取出数据包,把它们交给网络适配器驱动模块 A>W8^|l6+-  
  最简单的QDisc是pfifo它不对进入的数据包做任何的处理,数据包采用先入先出的方式通过队列。不过,它会保存网络接口一时无法处理的数据包。 sc &S0K  
  队列规则包括FIFO(先进先出),RED(随机早期探测),SFQ(随机公平队列)和令牌桶(Token Bucket),类基队列(CBQ),CBQ 是一种超级队列,即它能够包含其它队列(甚至其它CBQ)。 ^K n{L  
  class用来表示控制策略。很显然,很多时候,我们很可能要对不同的IP实行不同的流量控制策略,这时候我们就得用不同的class来表示不同的控制策略了。 %oqC5O6  
  filter用来将用户划入到具体的控制策略中(即不同的class中)。比如,现在,我们想对xxa,xxb两个IP实行不同的控制策略(A,B),这时,我们可用filter将xxa划入到控制策略A,将xxb划入到控制策略B,filter划分的标志位可用u32打标功能或IPtables的 set-mark(大多使用iptables来做标记)功能来实现。 ;]xJC j  
  目前,TC可以使用的过滤器有:fwmark分类器,u32分类器,基于路由的分类器和RSVP分类器(分别用于IPV6、IPV4)等;其中,fwmark分类器允许我们使用 Linux netfilter 代码选择流量,而u32分类器允许我们选择基于 ANY 头的流量 .需要注意的是,filter(过滤器)是在QDisc内部,它们不能作为主体。 khtYn.eaL  
  数据包->iptables(在通过iptables时,iptables根据不同的ip来设置不同的mark)->TC(class)->TC(queue) 2';f8JLY  
  应用 [DO UIR9  
  假设eth0位是服务器的外网网络接口。 H8'_.2vwX  
  1)首先在eth0的qdiscA,qdiscA控制通过本机到外网的速度,因此是用来控制服务器流出速度的 8\@&~&(y:  
  #tc qdisc add dev eth1 root handle 1:htb default 1 D "9Hv3  
  添加 设置接口 最上层 句柄(做标记用) 标记 默认使用1的class tgB\;nbB  
  解释如下:无论是队列,还是class和filter都有ID之类的标志符,一般都有parent(父,上层的),注意ID具有接口本地性,不同的网络接口可以有相同的ID.对于这里因为qdisc在顶部,所以parent无,用‘root’字样来标识,ID用1:来标志 ;33LuD<h.  
  ‘default 91′表示当某个ip流不满足任何已设定的filter规则时,将自动归入class 1中。更详细的指令规则说明请参考手册 ;UG]ckV-  
  2)然后在qdisc下建立两个class,来指定eth0控制通过本机到外网的速度 86N"EuH$  
  #tc class add dev eth0 parent 1:0 classid1:30 htb rate 2mbit ceil 4mbit prio 2 COk;z.Kn  
  注:以上就是我们控制输出服务器的速度,为2M,最大可以到4M |] 8Hh>  
  rate: 是一个类保证得到的带宽值。如果有不只一个类,请保证所有子类总和是小于或等于父类。 RkuPMs Hw;  
  prio:用来指示借用带宽时的竞争力,prio越小,优先级越高,竞争力越强。 DKxzk~sOM  
^&6'FE  
分享到:

最新评论

我要发表 我要评论
限 50000 字节
关于我们
网站介绍
免责声明
加入我们
赞助我们
服务项目
稿件投递
广告投放
人才招聘
团购天下
帮助中心
新手入门
发帖回帖
充值VIP
其它功能
站内工具
清除Cookies
无图版
手机浏览
网站统计
交流方式
联系邮箱:商务合作 站务处理
微信公众号:opticsky 微信号:cyqdesign
新浪微博:光行天下OPTICSKY
QQ号:9652202
主办方:成都光行天下科技有限公司
Copyright © 2005-2024 光行天下 蜀ICP备06003254号-1