wwm 发表于 2014-6-21 20:39:34

ROS用简单限速做小包优先

ROS用简单限速做小包优先
       内网管理中,一般的简单限速,当客户机把带宽用完时,会造成整个客户机玩游戏、PING等也会丢包,我们知道PING、游戏一般数据包都是用小包,在此我们用简单限速做小包优先。
      1.首先,标记低于512为小包,名字为YX,,我们用forward,不区分上传下载:
/ip firewall mangle add chain=forward action=mark-packet new-packet-mark=YX passthrough=nopacket-size=0-512
      2.生成每个客户机的总带宽,限制最大带宽上传下载都是5M:
:for edcwifi from=2 to=254 do={queue simple add name=("PC" . $edcwifi) target=("192.168.9.". $edcwifi) max-limit=5M/5M}
      3.调用小包,生成每个客户机标记为YX的总带宽为上传下载为1M,优先级为1,并设置父为上面总限制:
:for edcwifi from=2 to=254 do={queue simple add name=("PCXB" . $edcwifi) target=("192.168.9.". $edcwifi) max-limit=1M/1M packet-mark=YX parent=("PC" . $edcwifi) priority=1/1}
       4.生成每个客户机没有数据包标记(512以上的大包)的最大带宽为上传下载4M,优先级为8,并设置父为上面总限制:
:for edcwifi from=2 to=254 do={queue simple add name=("PCDB" . $edcwifi) target=("192.168.9.". $edcwifi) max-limit=4M/4M packet-marks=no-mark parent=("PC" . $edcwifi)priority=8/8}
       欢迎测试,不足之处,敬请留言指出,上面脚本只适用于6.0后的版本,6.0以前的版本,需要修改脚本。当然,你也可以根据你的网络环境,调整上面判断小包大小的参考值,也可以调整为0-1024。
       复制脚本记得把脚本中的IP改成你的内网IP,就是把192.168.9改成你的内网网段。   
       效果:不管客户机,下载,看电影等,差不多都只能用到4M,始终会保留1M给此客户机做其它小包应用,解决了同时下载看电影,玩游戏的问题。不足之处是,比较费CPU。      效果如图:


mikechiu 发表于 2014-6-21 22:55:03


{:soso_e179:}{:soso_e183:}

请叫我小学生 发表于 2014-6-22 21:08:10

这样的话迅雷下载,网页视频看电视会不会跑到小包里面去呢

wwm 发表于 2014-6-22 22:10:33

这里只是区分大小包,如果,讯雷也全是小包,也会跑到小包里面

sogood168 发表于 2014-7-12 22:07:45

学习了,先看看效果怎样先

sogood168 发表于 2014-7-12 22:22:42

还可以,成功限速了,不过这样不是动态的
页: [1]
查看完整版本: ROS用简单限速做小包优先