文档库 最新最全的文档下载
当前位置:文档库 › ROS用流量监控动态控制限速点

ROS用流量监控动态控制限速点

ROS用流量监控动态控制限速点
ROS用流量监控动态控制限速点

ROS用流量监控动态控制限速点

1.gif

winbox-ip-firewall-mangle-+

2.gif

只标识大包

3.gif

packet576-1536手工要输入,不是选的.

4.gif

winbox-queues-queue types- +

5.gif

全部做好后,打开这窗口,可以看到rate值会自动改变.

6.gif

winbox-queues-queue tree-+

7.gif

winbox-system-scripts-+ source里填入本贴后面程序内容,里面数值要改,程序内有说明.

8.gif

winbox-system-scheduler-+

9.gif

winbox-queues-simple queues-+ 每台机做一个上行限速.

######程序开始######################################################################

# 程序名称:ROS用流量监控动态控制限速点

# 程序版本:测试

# 程序员:kuwin Email:kuwin@https://www.wendangku.net/doc/101313969.html,

# 程序版权:免费软件(本程序可自由传播及修改,不必理会原创作者kuwin)

# Ros版本:Ros2.8.27 Ros2.9.2 Ros2.9.7

# 编写日期:2007-04-29

# 修改日期:2007-05-05

# 测试人员:kuwin

# 测试结果:

# 1.控制效果良好;

# 2.程序消耗一定的cpu资源,K62-300的cpu资源要用4%-4%(暂停程序只占3%-6%),建议cpu

# 要P3-500以上;(2007-05-05改动后已经大幅降低)

# 3.Ros显示的流量要比下载软件(讯雷等)上显示的流量要大,原因未明.

# 程序评级:无

# 简要说明:

# 1."预留带宽"是给网络游戏,浏览网页等一些不会抢带宽的程序突发使用,有趣的是,当这

# 些程序用了"预留带宽",本程序又会从讯雷,BT等带宽大鳄那里抢回一部分带宽作"预留

# 带宽",在恶劣的使用环境下(比如大家都在下载),最后的限制带宽就是"预留带宽". # 建议"预留带宽"值取256000-512000,太小影响网络游戏,浏览网页的速度,太大又会影

# 响下载的速度;

# 2."最大带宽"取你的路由器出口带宽值;

# 3."步进带宽"是本程序自动设置限制带宽时的加减值,1兆路由器出口带宽设5000,2兆设

# 10000,10兆设50000,其它按此类推.

# 安装方法:

# 1.首先要做好简单的PCQ限速,起名"PCQ-Download".上行PCQ限速不明显,建议不要做.

# 上行要在queue simple里做单机限速.(很多网站介绍,上baidu搜pcq限速);

# 2.winbox,system-scripts,按+,起名SCRIPT_PCQ_SET,source里贴入这里全部内容;

# 3.winbox,system-scheduler,按+,起名"SCH_PCQ_SET",interval填00:00:01(这是秒杀,

# 可设1-3秒),on event填SCRIPT_PCQ_SET;

# 4.程序内字母大小写敏感,请注意;

# 5.请特别注意PCQ名"PCQ-Download".还有网卡的名"public"和"local".

# 更新说明:

# 1.针对PCQ上行限速不明显,已去掉PCQ上行限速,请另作queue simple限速,

# 如:limit-at=0/128000 max-limit=0/256000.(2007-05-05)

# 2.原来每秒写硬盘一次!现在只有PCQ限速值改变时才会写硬盘.(2007-05-05)

# 3.经过前两点修改,cpu使用率大幅下降.(2007-05-05)

############################################################################### #####

#定义变量(注意在Ros2.8中可以不要后面的0)

:local RxCurRate 0

:local RxCurSet 0

:local RxResRate 0

:local RxMaxRate 0

:local RxStepRate 0

#下行即时流量

#interface monitor public once do={:set RxCurRate $received-bits-per-second}

interface monitor local once do={:set RxCurRate $sent-bits-per-second}

#下行当前设置

:set RxCurSet [/queue type get [/queue type find name="PCQ-Download"] pcq-rate]

#下行预留带宽

:set RxResRate 256000

#下行最大带宽

:set RxMaxRate 1024000

#下行步进带宽

:set RxStepRate 10000

#设置下行带宽

:if($RxCurRate<($RxMaxRate+-$RxResRate)) do={:if($RxCurSet<$RxMaxRate) do={

:set RxCurSet ($RxCurSet+$RxStepRate)

/queue type set "PCQ-Download" kind=pcq pcq-rate=$RxCurSet pcq-classifier=dst-address

}} else={:if($RxCurSet>$RxResRate) do={

:set RxCurSet ($RxCurSet+-$RxStepRate)

/queue type set "PCQ-Download" kind=pcq pcq-rate=$RxCurSet pcq-classifier=dst-address

}}

######程序结束#############################

相关文档