ROS软路由论坛 ROSABC.com 网络方案网络工程交流

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 11423|回复: 5

[交流] PCQ限速对

[复制链接]
发表于 2009-1-5 21:34:41 | 显示全部楼层 |阅读模式

马上注册成为ROSABC会员,随时发帖回复。

您需要 登录 才可以下载或查看,没有账号?会员注册

x
言:
  PCQ限速对于某些带宽不是很足的网吧来说,确实有点问题,必须你网吧只有15M的光纤,如果你做PCQ限速2M吧(我想2M对于100台机器来说的网吧已经是最大限度了),PCQ开启设置为14M吧,关闭设置为6M!如果有一个人用讯雷下载东西的话。网吧15马上占满,PCQ就会开启,但一旦开启后。你网速就会变到6M以下,那么PCQ就在那里不停的关闭和开启了,这样不单达不到智能限速的效果。还会增加ROS软路由的负担!CPU占用。。所以我就一直想把智能和普通限速做在一起,让讯雷或者其他下载不会乱触发PCQ的流量,但最终还是失败了!启发,我想出了一个既可以动态限速,也可以静态限速的方法!例如,还是15M的光纤,100台机器的网吧。我静态设置为3M,这样的话,正常来说。4个人下载东西的话,也只占12M,那么还剩3M,足够其他玩Q和打网游的机器了!
  但如果5个人下载的话?怎么办?带宽马上到了15M了。呵呵,那其他玩网游的肯定会卡死!
  不用怕,我智能设置为大于14M触发另一个脚本,脚本的内容大概就是关闭原来的3M静态限速,开启1.5M的静态限速,这样一算,1.5*5=7.5M了,再加上玩网游的人,基本上就稳定在10M左右了!
  然后再设置一个脚本,当总流量少于6M的话(也就算没那么多人下载了,流量下来了)那么1.5M的静态限速脚本就会自动关闭,又打开了本来3M的限速了!
  基本上原理就是这样。通过这个原理,网吧宽带利用就会越来越合理!
  :for aaa from 1 to 254 do={/queue simple add name=(PC . $aaa) dst-address=(192.168.0. . $aaa) limit-at=500000/500000 max-limit=3000000/3000000}
  / ip firewall mangle
  add chain=prerouting action=mark-packet new-packet-mark=all-mark
  passthrough=yes comment="" disabled=no
  / queue type
  add name="PCQ-up" kind=pcq pcq-rate=1500000 pcq-limit=50
  pcq-classifier=src-address pcq-total-limit=2000
  add name="PCQ-down" kind=pcq pcq-rate=1500000 pcq-limit=50
  pcq-classifier=dst-address pcq-total-limit=2000
  / queue simple
  add name="PCQ" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0
  interface=all parent=none packet-marks=all-mark direction=both priority=1
  queue=PCQ-up/PCQ-down limit-at=0/0 max-limit=15000000/15000000
  total-queue=default-small disabled=yes
  / system script
  add name="PCQON"source=":if ([ /queue sim get [/queue sim find
  name="PCQ"] disable ]=true ) do={/queue sim enable PCQ}"
  policy=ftp,reboot,read,write,policy,test,winbox,password
  add name="PCQOFF"source=":if ([ /queue sim get [/queue sim find
  name="PCQ"] disable ]=false ) do={/queue sim disable PCQ}"
  policy=ftp,reboot,read,write,policy,test,winbox,password
  / tool traffic-monitor
  add name="PCQON" interface=WAN traffic=received trigger=above
  threshold=14800000 on-event=PCQON comment="" disabled=no
  add name="PCQOFF" interface=WAN traffic=received trigger=below
  threshold=5000000 on-event=PCQOFF comment="" disabled=no








上面是完整脚本,直接把每一段复制进去就可以了。需要修改的看下面的说明!
  下面是注释:
  15M为例 静态是3M,达到14.8M后启用动态是1.5M!
  :for aaa from 1 to 254 do={/queue simple add name=(PC . $aaa) dst-address=(192.168.0. . $aaa) limit-at=500000/500000 max-limit=3000000/3000000}
  这个是建立静态限速,1to254 改为你内网的IP!比如 2 to 120! 192.168.0. 这里改为你的IP段! limit-at=500000/500000 是平均网速500K,max-limit=3000000/3000000 是普通限速3M!
  注意一下,这里,包括很多高手都把ROS软路由的算法搞错了,在这里我纠正一下,ROS软路由不是1KB=8Kbit!
而是 1000=1K 1000000=1M

  / ip firewall mangle
  add chain=prerouting action=mark-packet new-packet-mark=all-mark
  passthrough=yes comment="" disabled=no
  这个是固定脚本!
  / queue type
  add name="PCQ-up" kind=pcq pcq-rate=1500000 pcq-limit=50
  pcq-classifier=src-address pcq-total-limit=2000
  add name="PCQ-down" kind=pcq pcq-rate=1500000 pcq-limit=50
  pcq-classifier=dst-address pcq-total-limit=2000
  这里把1500000改为你动态限速时的全网上传速度和下载速度!其他不要改!这里是1.5M!
  / queue simple
  add name="PCQ" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0
  interface=all parent=none packet-marks=all-mark direction=both priority=1
  queue=PCQ-up/PCQ-down limit-at=0/0 max-limit=15000000/15000000
  total-queue=default-small disabled=yes
  到这里就是建立动态限速的策略了!192.168.0.0/24 改为你IP段!max-limit=15000000/15000000 这里是你总宽带,电信给你多少就填多少!其他不用改,,因为需要转跳到上面的!
  / system script
  add name="PCQON"source=":if ([ /queue sim get [/queue sim find
  name="PCQ"] disable ]=true ) do={/queue sim enable PCQ}"
  policy=ftp,reboot,read,write,policy,test,winbox,password
  add name="PCQOFF"source=":if ([ /queue sim get [/queue sim find
  name="PCQ"] disable ]=false ) do={/queue sim disable PCQ}"
  policy=ftp,reboot,read,write,policy,test,winbox,password
  这个是启发脚本,就是启发动态和关闭动态的脚本!直接复制!
  / tool traffic-monitor
  add name="PCQON" interface=WAN traffic=received trigger=above
  threshold=14800000 on-event=PCQON comment="" disabled=no
  add name="PCQOFF" interface=WAN traffic=received trigger=below
  threshold=5000000 on-event=PCQOFF comment="" disabled=no
  这个是流量监控,我有15M设置是14.8M启发,足够了。不会延时或者怎么的,不建议改得太少。threshold=5000000是少于5M时关闭动态!这个自己掌握好!多试试!
  另外注意的是!interface=WAN 把WAN改成你外网的网卡!
  上面的每一段都需要,少一段这个脚本就不完整!不然没效果不要说我!
  时间段来启发脚本,只需要改最后一段就OK了!
  ======================================================
  /system scheduler add name=timeon interval=24h start-time=08:00:00 on-event={PCQON} disabled=no
  /system scheduler add name=timeoff interval=24h start-time=23:59:59 on-event={PCQOFF} disabled=no
  ==============================================================
  把最后一段替换成这段就是由时间段控制开关PCQ了!


1.
/ queue type


2.
add name="Down_5M" kind=pcq pcq-rate=5000000 pcq-limit=100 pcq-classifier=dst-address pcq-total-limit=10000


3.
add name="Down_4M" kind=pcq pcq-rate=4000000 pcq-limit=80 pcq-classifier=dst-address pcq-total-limit=9000


4.
add name="Down_3M" kind=pcq pcq-rate=3000000 pcq-limit=60 pcq-classifier=dst-address pcq-total-limit=7000


5.
add name="Down_2M" kind=pcq pcq-rate=2000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=5000


6.
add name="Down_1M" kind=pcq pcq-rate=1000000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=5000


7.
add name="Down_768k" kind=pcq pcq-rate=768000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=4000


8.
add name="Down_512k" kind=pcq pcq-rate=512000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=3000


9.
add name="Down_384k" kind=pcq pcq-rate=384000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000


10.
add name="Down_256k" kind=pcq pcq-rate=256000 pcq-limit=20 pcq-classifier=dst-address pcq-total-limit=2000


11.
add name="Down_128k" kind=pcq pcq-rate=128000 pcq-limit=10 pcq-classifier=dst-address pcq-total-limit=1000


12.
add name="Down_64k" kind=pcq pcq-rate=64000 pcq-limit=10 pcq-classifier=dst-address pcq-total-limit=1000


13.
add name="Up_5M" kind=pcq pcq-rate=5000000 pcq-limit=100 pcq-classifier=src-address pcq-total-limit=10000


14.
add name="Up_4M" kind=pcq pcq-rate=4000000 pcq-limit=80 pcq-classifier=src-address pcq-total-limit=9000


15.
add name="Up_3M" kind=pcq pcq-rate=3000000 pcq-limit=60 pcq-classifier=src-address pcq-total-limit=7000


16.
add name="Up_2M" kind=pcq pcq-rate=2000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=5000


17.
add name="Up_1M" kind=pcq pcq-rate=1000000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=5000


18.
add name="Up_768k" kind=pcq pcq-rate=768000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=4000


19.
add name="Up_512k" kind=pcq pcq-rate=512000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=3000


20.
add name="Up_384k" kind=pcq pcq-rate=384000 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000


21.
add name="Up_256k" kind=pcq pcq-rate=256000 pcq-limit=20 pcq-classifier=src-address pcq-total-limit=2000


22.
add name="Up_128k" kind=pcq pcq-rate=128000 pcq-limit=10 pcq-classifier=src-address pcq-total-limit=1000


23.
add name="Up_64k" kind=pcq pcq-rate=64000 pcq-limit=10 pcq-classifier=src-address pcq-total-limit=1000


24.


25.
/ queue simple


26.
add name="256k" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


27.
interface=LAN parent=none direction=both priority=8


28.
queue=Up_128k/Down_256k limit-at=0/0 max-limit=0/0


29.
total-queue=default-small disabled=yes


30.
add name="512k" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


31.
interface=LAN parent=none direction=both priority=8


32.
queue=Up_384k/Down_512k limit-at=0/0 max-limit=0/0


33.
total-queue=default-small disabled=yes


34.
add name="768k" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


35.
interface=LAN parent=none direction=both priority=8


36.
queue=Up_512k/Down_768k limit-at=0/0 max-limit=0/0


37.
total-queue=default-small disabled=yes


38.
add name="1M" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


39.
interface=LAN parent=none direction=both priority=8 queue=Up_768k/Down_1M


40.
limit-at=0/0 max-limit=0/0 total-queue=default-small disabled=yes


41.
add name="2M" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


42.
interface=LAN parent=none direction=both priority=8 queue=Up_1M/Down_2M


43.
limit-at=0/0 max-limit=0/0 total-queue=default-small disabled=yes


44.
add name="3M" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


45.
interface=LAN parent=none direction=both priority=8 queue=Up_2M/Down_3M


46.
limit-at=0/0 max-limit=0/0 total-queue=default-small disabled=yes


47.
add name="4M" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


48.
interface=LAN parent=none direction=both priority=8 queue=Up_3M/Down_4M


49.
limit-at=0/0 max-limit=0/0 total-queue=default-small disabled=yes


50.
add name="5M" target-addresses=192.168.0.0/22 dst-address=0.0.0.0/0


51.
interface=LAN parent=none direction=both priority=8 queue=Up_4M/Down_5M


52.
limit-at=0/0 max-limit=0/0 total-queue=default-small disabled=no


53.


54.
/ system script


55.
add name="d256"source="/queue sim disable 256k"


56.
policy=ftp,reboot,read,write,policy,test,winbox,password


57.
add name="e256"source="/queue sim enable 256kn/queue sim enable 512kn/queue sim enable 768kn/queue sim enable 1Mn/queue sim enable 2Mn/queue sim enable 3Mn/queue sim enable 4M"


58.
policy=ftp,reboot,read,write,policy,test,winbox,password


59.
add name="d512"source="/queue sim disable 512kn/queue sim disable 256k"


60.
policy=ftp,reboot,read,write,policy,test,winbox,password


61.
add name="e512"source="/queue sim enable 512kn/queue sim enable 768kn/queue sim enable 1Mn/queue sim enable 2Mn/queue sim enable 3Mn/queue sim enable 4M"


62.
policy=ftp,reboot,read,write,policy,test,winbox,password


63.
add name="d768"source="/queue sim disable 768kn/queue sim disable 512kn/queue sim disable 256k"


64.
policy=ftp,reboot,read,write,policy,test,winbox,password


65.
add name="e768"source="/queue sim enable 768kn/queue sim enable 1Mn/queue sim enable 2Mn/queue sim enable 3Mn/queue sim enable 4M"


66.
policy=ftp,reboot,read,write,policy,test,winbox,password


67.
add name="d1M"source="/queue sim disable 1Mn/queue sim disable 768kn/queue sim disable 512kn/queue sim disable 256k"


68.
policy=ftp,reboot,read,write,policy,test,winbox,password


69.
add name="e1M"source="/queue sim enable 1Mn/queue sim enable 2Mn/queue sim enable 3Mn/queue sim enable 4M"


70.
policy=ftp,reboot,read,write,policy,test,winbox,password


71.
add name="d2M"source="/queue sim disable 2Mn/queue sim disable 1Mn/queue sim disable 768kn/queue sim disable 512kn/queue sim disable 256k"


72.
policy=ftp,reboot,read,write,policy,test,winbox,password


73.
add name="e2M"source="/queue sim enable 2Mn/queue sim enable 3Mn/queue sim enable 4M"


74.
policy=ftp,reboot,read,write,policy,test,winbox,password


75.
add name="d3M"source="/queue sim disable 3Mn/queue sim disable 2Mn/queue sim disable 1Mn/queue sim disable 768kn/queue sim disable 512kn/queue sim disable 256k"


76.
policy=ftp,reboot,read,write,policy,test,winbox,password


77.
add name="e3M"source="/queue sim enable 3Mn/queue sim enable 4M"


78.
policy=ftp,reboot,read,write,policy,test,winbox,password


79.
add name="d4M"source="/queue sim disable 4Mn/queue sim disable 3Mn/queue sim disable 2Mn/queue sim disable 1Mn/queue sim disable 768kn/queue sim disable 512kn/queue sim disable 256k"


80.
policy=ftp,reboot,read,write,policy,test,winbox,password


81.
add name="e4M"source="/queue sim enable 4M"


82.
policy=ftp,reboot,read,write,policy,test,winbox,password


83.


84.
/ tool traffic-monitor


85.
add name="256kon" interface=WAN18M traffic=received trigger=above


86.
threshold=18000000 on-event=e256 comment="" disabled=no


87.
add name="256koff" interface=WAN18M traffic=received trigger=below


88.
threshold=17000000 on-event=d256 comment="" disabled=no


89.
add name="512kon" interface=WAN18M traffic=received trigger=above


90.
threshold=16000000 on-event=e512 comment="" disabled=no


91.
add name="512koff" interface=WAN18M traffic=received trigger=below


92.
threshold=15000000 on-event=d512 comment="" disabled=no


93.
add name="768kon" interface=WAN18M traffic=received trigger=above


94.
threshold=14000000 on-event=e768 comment="" disabled=no


95.
add name="768koff" interface=WAN18M traffic=received trigger=below


96.
threshold=13000000 on-event=d768 comment="" disabled=no


97.
add name="1Mon" interface=WAN18M traffic=received trigger=above


98.
threshold=12000000 on-event=e1M comment="" disabled=no


99.
add name="1Moff" interface=WAN18M traffic=received trigger=below


100.
threshold=11000000 on-event=d1M comment="" disabled=no


101.
add name="2Mon" interface=WAN18M traffic=received trigger=above


102.
threshold=10000000 on-event=e2M comment="" disabled=no


103.
add name="2Moff" interface=WAN18M traffic=received trigger=below


104.
threshold=9000000 on-event=d2M comment="" disabled=no


105.
add name="3Mon" interface=WAN18M traffic=received trigger=above


106.
threshold=8000000 on-event=e3M comment="" disabled=no


107.
add name="3Moff" interface=WAN18M traffic=received trigger=below


108.
threshold=7000000 on-event=d3M comment="" disabled=no


109.
add name="4Mon" interface=WAN18M traffic=received trigger=above


110.
threshold=6000000 on-event=e4M comment="" disabled=no


111.
add name="4Moff" interface=WAN18M traffic=received trigger=below


112.
threshold=5000000 on-event=d4M comment="" disabled=no


复制代码
发表于 2009-1-7 17:39:48 | 显示全部楼层
太长,慢慢学!
发表于 2009-1-9 12:55:05 | 显示全部楼层
学习了,很好的方法,新手才接触ROS,一步步来咯哈哈
现在ROS一句语法都不会
发表于 2009-1-10 05:19:15 | 显示全部楼层
为何看网友的PCQ都有限速开关,但网大的限速却没有?!
发表于 2009-1-12 02:23:18 | 显示全部楼层
看看 谢谢分享
发表于 2009-1-12 21:08:54 | 显示全部楼层
没有看懂,仅支持
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

不良信息举报Q:2000617

软路由

不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流

GMT+8, 2024-5-20 08:39 , Processed in 0.220825 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表