本文转载自:http://www.360doc.com/content/17/1224/17/1394672_715909435.shtml
PCQ即perconnection queuing(每次连接排序)。踏实唯一一种能无等级排序的限流策略。
PCQ会根据pcq-classifier参数产生子队列。每个子队列都有一个pcq-rate的数据率限制和pcq-limit大小的数据包。PCQ总大小不能大于PCQ-total-limit。
为什么需要配置PCQ呢?
比如在局域网中总带宽为20M的带宽,如果不做流控一个用户可能把带宽资源全部霸占掉,从而影响掉其他用户的带宽。如果做每个带宽限制在1M,那么内网只有几个用户上网时,从而会浪费带宽。
所以我们做一个PCQ,限制下载为4M,上传为2M。这样当用户为2台时,他们的下载为4M,上传为2M。当用户为5台时下载为4M,上传为2M。当用户超过5个时,那门所以的用户就共享20M的带宽了。
PCQ实例 单线接入
首先做好一个网络连通的基本配置步骤:
外网连接:固定IP接入或者PPPOE-client拨号
NAT配置
DNS配置
内网配置,一般设置DHCP
其他设置就是路由器的时间设置
能正常连通外网后,就可以设置其他的策略了。
PCQ设置步骤:
抓取内外网的数据
对抓取到的数据做PCQ策略
网络的基本配置就不多说了,这里直接配置PCQ
1.抓取内外网数据:
Mangle配置
通过mangle的prerouting链表抓取tel口和lan口的数据
标记电信接口,即网络的下载,in-interface=ether2-tel,passthrough=no
(passthrough=no意思是标记的该条规则的数据不传递给下一条规则。也就可以这样说,把这条数据标记出来然后提取后就交给相应的规则处理,其他的规则就不能处理该条规则了)
标记电信接口,即网络的上传,in-interface=ether1-lan,passthrough=no
2. 对抓取到的数据做PCQ策略
总带宽12Mbps,主机120台
为每台主机下载分配总带宽的1/3,即down规则的pcq-rate=4M
通过计算total-limit=limit*120=6000
下载通过dst-address分类,上传通过src-addre分类
配置queue tree
在queue tree中添加规则,配置下行流量控制,取名为down
配置下行数据时注意总带宽为12M,需要保留部分缓冲带宽大概在1-2M,这里保留1.5M,在ROS中不支持小数,需要用整数表示,即max-limit-10500k