文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>基于HTB(Hierarchical Token Bucket)队列的流量控制

基于HTB(Hierarchical Token Bucket)队列的流量控制

时间:2005-12-22  来源:xwq_007

防止局域网中有人大量下载,用mrtg及时发现问题,然后用ntop查处时谁在干坏事,把他的ip地址的数据包放到限制的通道里。避免影响其他人正常访问网络。开两个通道一个正常通道,一个限制通道!

http://chinaunix.net/jh/4/509086.html

    原文出处

基于HTB(Hierarchical Token Bucket)队列的流量控制
http://www.chinaunix.net 作者:hrcxf  发表于:2005-03-11 14:14:45
【发表回复】【查看论坛原帖】【添加到收藏夹】【关闭】

防止局域网中有人大量下载,用mrtg及时发现问题,然后用ntop查处时谁在干坏事,把他的ip地址的数据包放到限制的通道里。避免影响其他人正常访问网络。开两个通道一个正常通道,一个限制通道!
内网:eth0 
外网:eth2 
NAT共享上网

[color=red:841a5dcdf1]关于参数的说明[/color:841a5dcdf1] 
(1)rate: 是一个类保证得到的带宽值.如果有不只一个类,请保证所有子类总和是小于或等于父类. 
(2)ceil: ceil是一个类最大能得到的带宽值. 
(3)prio: 是优先权的设置,数值越大,优先权越小.如果是分配剩余带宽,就是数值小的会最优先取得剩余的空闲的带宽权. 
具体每个类要分配多少rate,要根据实际使用测试得出结果.一般大数据的话,控制在50%-80%左右吧,而ceil最大建议不超过85%,以免某一个会话占用过多的带宽.rate可按各类所需分配
[color=red:841a5dcdf1]限制下载[/color:841a5dcdf1]
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:1 htb rate 10Mbit burst 15k 
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10Mbit burst 15k 
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 80Kbit ceil 80Kbit burst 15k 

/sbin/tc qdisc add dev eth0 parent 1:10 sfq quantum 1514b perturb 15
/sbin/tc qdisc add dev eth0 parent 1:20 sfq quantum 1514b perturb 15 

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.111.1.116 flowid 1:20

[color=red:841a5dcdf1]限制上传[/color:841a5dcdf1]
tc qdisc add dev eth2 root handle 2: htb default 30
tc class add dev eth2 parent 2: classid 2:1 htb rate 2Mbit burst 15k
tc class add dev eth2 parent 2:1 classid 2:10 htb rate 2Mbit burst 15k
tc class add dev eth2 parent 2:1 classid 2:20 htb rate 80Kbit ceil 80Kbit burst 15k

tc qdisc add dev eth2 parent 2:10  sfq quantum 1514b perturb 15 
tc qdisc add dev eth2 parent 2:20  sfq quantum 1514b perturb 15 

tc filter add dev eth2 protocol ip parent 2:0 prio 1 handle 6 fw flowid 2:20
iptables -t mangle -A PREROUTING -i eth0 -s 192.111.1.116 -j MARK --set-mark 6
iptables -t mangle -A PREROUTING -i eth0 -s 192.111.1.116 -j RETURN

注1:要想对不同队列(比如pfifo、SFQ、TBF、HTB、CBQ)的概念使用有所了解可以参考《Linux的高级路由和流量控制HOWTO》一本很不错的书
注2:我这里只是用HTB实现了单个主机限速的功能,非常简单。对于大型网络可以使用HTB对不同类型的数据包进行分流以达到合理利用有限的网络资源的目的,但是一定要注意实际带宽使用和分配的值,需要通过一定时间的总结。可以参考,cu里KindGeorge 的大作《用TC(Traffic Control)解决ADSL宽带速度技术(tc+iptables+HTB) 》

http://chinaunix.net/jh/4/509086.html

    原文出处

相关阅读 更多 +
排行榜 更多 +
斗虫公园手机版下载

斗虫公园手机版下载

休闲益智 下载
武林外传之同福奇缘手机版下载

武林外传之同福奇缘手机版下载

角色扮演 下载
无畏契约源能行动小米服手游下载

无畏契约源能行动小米服手游下载

飞行射击 下载