linux QOS流量管理实例一
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-17
一个10的接入带宽将被分配给home,office各另一个ISP,如下图所示:
家庭用户得到的带宽为1Mbps,office的带宽为4Mbps,另一个ISP的带宽为5Mbps.
,我们决定使用CBQ,需要在与客户端连接的eth1口添加root qdisc. tc qdisc add dev eth1 root handle 10: cbq bandwidth 100Mbit avpkt 1000 接下来,需要在父类的基础上创建子类,其参数与父类相同. tc class add dev eth1 parent 10:0 classid 10:10 cbq bandwidth 100Mbit rate 100Mbit allot 1514 weight 10Mbit prio 5 maxburst 20 avpkt 1000 bounded 接下来,需要为每个客户端创建classes,qdiscs,filters,现在将先从home开始. tc class add dev eth1 parent 10:10 classid 10:100 cbq bandwidth 100Mbit rate 1Mbit allot 1514 weight 128Kbit prio 5 maxburst 20 avpkt 1000 bounded tc qdisc add dev eth1 parent 10:100 sfq quantum 1514b perturb 15 tc filter add dev eth1 parent 10:0 protocol ip prio 5 u32 match ip dst 1.1.1.1 flowid 10:100 So we created the 10:100 class with a rate of 1Mbit and 128Kbit weight. Next, we attached an sfq qdisc and a u32 filter to match all traffic with the destination IP address 1.1.1.1. The bounded argument of the tc class add cbq command means #the office tc class add dev eth1 parent 10:10 classid 10:200 cbq bandwidth 100Mbit rate 4Mbit allot 1514 weight 512Kbit prio 5 maxburst 20 avpkt 1000 bounded tc qdisc add dev eth1 parent 10:200 sfq quantum 1514b perturb 15 tc filter add dev eth1 parent 10:0 protocol ip prio 5 u32 match ip dst 1.1.2.0/24 flowid 10:200
#the ISP tc class add dev eth1 parent 10:10 classid 10:300 cbq bandwidth 100Mbit rate 5Mbit allot 1514 weight 640Kbit prio 5 maxburst 20 avpkt 1000 bounded tc qdisc add dev eth1 parent 10:300 sfq quantum 1514b perturb 15 tc filter add dev eth1 parent 10:0 protocol ip prio 5 u32 match ip dst 1.1.1.2 flowid 10:300 tc filter add dev eth1 parent 10:0 protocol ip prio 5 u32 match ip dst 1.1.3.0/24 flowid 10:300 root@router:~# tc class show dev eth1 class cbq 10: root rate 100000Kbit (bounded,isolated) prio no-transmit class cbq 10:100 parent 10:10 leaf 806e: rate 1000Kbit (bounded) prio 5 class cbq 10:10 parent 10: rate 100000Kbit (bounded) prio 5 class cbq 10:200 parent 10:10 leaf 806f: rate 4000Kbit (bounded) prio 5 class cbq 10:300 parent 10:10 leaf 8070: rate 5000Kbit (bounded) prio 5 Now, to see that a class is actually shaping packets, we send three ping packets to 1.1.1.1, and check to see if the CBQ class matched those packets using tc –s class show dev eth1: root@router:~# tc -s class show dev eth1 | fgrep -A 2 10:100 class cbq 10:100 parent 10:10 leaf 806e: rate 1000Kbit (bounded) prio 5 Sent 294 bytes 3 pkts (dropped 0, overlimits 0) borrowed 0 overactions 0 avgidle 184151 undertime 0 现在看起来所有的任务都已配置成功,现在将配置从CBQ转移到HTB上,在转移之前,我人需要删除CBQ的配置. root@router:~# tc qdisc del root dev eth1------删除eth1上队列. 使用HTB将比CBQ更加简单,操作如下: root@router:~# tc qdisc add dev eth1 root handle 10: htb
root@router:~# tc class add dev eth1 parent 10:0 classid 10:10 htb rate |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于linux QOS流量管理实例一的所有评论