linux QOS流量管理实例二
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-17
假设目前有1Mbps的下载速度,想使每个设备都有合理的下载速度,需要决定如何分配带宽.网络结构如下:
laptop :192.168.1.2-192.168.1.10. desktop computer :192.168.1.11. children''s computer:192.168.1.55. network printer:192.168.1.100. gaming device :192.168.1.200. gaming device需要128kbps带宽当在线游戏时,因此我们分配128kbps带宽给它,但是我们想当使其在下载的时候可以使用最大带宽. children''s和desktop每台拥有256kbps的带宽,并希望给予更多的带宽,如果整个带宽有余的话. laptop和friedns将分配384kbps的带宽,尽可能使用1Mbps带宽. 在SOHO应用程序中,通常不需要为上传限制带宽分配,因此我们仅仅限制下载带宽. 需要创建1Mbps的HTB类和四个子类(child classes). ,我们需要在eth1接口上创建root qdisc创建root class,网卡接口速度为100Mbps. tc qdisc add dev eth1 root handle 1: htb tc class add dev eth1 parent 1:0 classid 1:10 htb rate 100Mbit 创建1Mbps带宽的类,并分配给所有的设备 tc class add dev eth1 parent 1:10 classid 1:20 htb rate 1Mbit 此行创建了ID为1:20的HTB class,其父类ID为1:10 创建一个ID为1:100的HTB class,作为1:20的子类 tc class add dev eth1 parent 1:20 classid 1:100 htb rate 128Kbit ceil 1Mbit 为该类设置排序规则,我们在这节中使用sfq. tc qdisc add dev eth1 parent 1:100 sfq quantum 1514b perturb 15 添加tc filter并指定哪些数据包属于这些类. tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 match ip dst 192.168.1.200 flowid 1:100 For the children''s computer: tc class add dev eth1 parent 1:20 classid 1:200 htb rate 256Kbit ceil 1Mbit tc qdisc add dev eth1 parent 1:200 sfq quantum 1514b perturb 15 tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 match ip dst 192.168.1.55 flowid 1:200 For the desktop: tc class add dev eth1 parent 1:20 classid 1:300 htb rate 256Kbit ceil 1Mbit tc qdisc add dev eth1 parent 1:300 sfq quantum 1514b perturb 15 tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 match ip dst 192.168.1.11 flowid 1:300 For the laptop and friends, we will create a class just like the others, but we want to filter all the IP addresses in the 192.168.1.0/24 network. Since we have already created the earlier classes, IP packets for 192.168.1.200, 192.168.1.55, and 192.168.1.11 will match those classes and not this .e, even if the filter contains the whole network: tc class add dev eth1 parent 1:20 classid 1:400 htb rate 256Kbit ceil 1Mbit tc qdisc add dev eth1 parent 1:400 sfq quantum 1514b perturb 15 tc filter add dev eth1 protocol ip parent 1:0 prio 5 u32 match ip dst 192.168.1.0/24 flowid 1:400 The QoS . #!/bin/bash #delete root qdisc (this will destroy all classes) tc qdisc del dev eth1 root #attach root qdisc and create the 100Mbps root class tc qdisc add dev eth1 root handle 1: htb tc class add dev eth1 parent 1:0 classid 1:10 htb rate 100Mbit #create the 1Mbps class for the whole bandwidth tc class add dev eth1 parent 1:10 classid 1:20 htb rate 1Mbit #Xbox - 128kbit tc class add dev eth1 parent 1:20 classid 1:100 htb rate 128Kbit ceil 1Mbit tc qdisc add dev eth1 parent 1:100 sfq quantum 1514b perturb 15 tc filter add dev eth1 protocol ip paren |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Redhat5中discuz 7论坛的搭建下一篇: 玩转top
关于linux QOS流量管理实例二的所有评论