1、ROS 智能限速教程一般我们用 ros 限速只是使用了 max-limit,其实 ros 限速可以更好的运用。比如我们希望客户打开网页时速度可以快一些,下载时速度可以慢一些。ros2.9 就可以实现。max-limit-我们最常用的地方,最大速度burst-limit-突破最大速度(突破限速)burst-thershold-突破最大速度的阀值(门槛)burst-time-突破速度的时间值解释一下图片的限制意义当客户机在 30 秒(burst-time)内的平均值小于突破速度阀值(burst-thershold)300K 时,客户机的最大下载速率可以超过最大限速值(max-limit)400K,
2、达到突破最大速度(burst-limit)500K,如果 30 秒内平均值大于 300K,那客户机的最大速度只能达到最大速度(max-limit)400K。这样也就是当我们开网页时可以得到一个更大的速度 500K,长时间下载时速度只能得到 400K,使我们的带宽可以更有效的利用下面是 我叫阿当 的网友发出来的智能限速脚本,通过这个脚本,如果有心看我的文章的人应该可以写出我的智能脚本了!动态限速ROS 动态限速(检测外网总速度进行限速开关)废话不说先看脚本原理:以下操作全部在 WINBOX 界面里完成介绍:可以实现在总速度不超过 9M 的情况下自动关闭所有生成的限速规则在总速度超过 18M 的时
3、候自动启动所有生成的限速规则。说明:在输入脚本内容时不要把两边的()带上,那个是为了区分非脚本字符。总速度=你的外网网卡当前速度。打开 /system/s脚本:for aaa from 1 to 254 do=/queue simple add name=(ip_ . $aaa) dst-address=(192.168.0. . $aaa) interface=wan max-limit=256000/800000 burst-limit=1000000/3000000 burst-threshold=128000/512000 burst-time=30s/1m 上面是生成限速树,对网段内
4、所有 IP 的限速列表!下面进入正题:脚本名:node_on脚本内容:(:for aaa from 1 to 254 do=/queue sim en find name=(ip_ . $aaa))脚本名:node_off脚本内容:(:for aaa from 1 to 254 do=/queue sim dis find name=(ip_ . $aaa))s(脚本部分)以完成打开 /tools/traffic monitor新建:名:node_18M traffic=received trigger=above on event=node_on threshold:18000000新建:
5、名:node_9M traffic=received trigger=below on event=node_off threshold:9000000在输入脚本内容时不要把两边的()带上,那个是为了区分非脚本字符。=: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 mangleadd chain=prerouting action=ma
6、rk-packet new-packet-mark=all-mark passthrough=yes comment=“ disabled=no/ queue typeadd 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/ que
7、ue 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 add name=“PCQON“ source=“:if ( /queue
8、 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
9、,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