|
我从2012年开始使用ddwrt开始研究qos,一直到2015年才有一个系统的掌握。曾经在这论坛发帖2次想共享我的qos知识,都因为该死的关键词问题无奈发不出去。现在QOS的知识成了我吹牛的成本,因为没人知道我在说什么。。。哈哈。。。
我掌握的qos还是需要精细化配置的,而sqm则希望自动化配置,只需要配置个网络接口,大概的80%的流量就万能了,这样更适合一些没有网络知识的人员使用吧。在openwrt cc 15.05时代,sqm还是个DSCP标记实现的过滤实现,实际openwrt环境可以实现DSCP标记过滤,但是如何根据优先级生成DSCP的优先级实现,再手动去配置吗,这又违备了它的自动化实现。所以根据我的经验,通过tc状态命令显示,sqm实际是无效果的,它基本只有2个过滤分级,所以玩游戏依然延迟反复波动中。当然我对这论坛99%的人说它没有效果懒得争论。SQM适合什么环境,曾经有个朋友终于给我一张通过pm大概叫流量魔术师还什么来着的商业软件来根据一定条件对流量进行打DSCP标记,当然还需要一个支持DSCP的网管交换机,这些条件要求对普通家庭用户太高了。
前几天又跟人争论,关于内核态的cake方式实现。从openwrt官方的描述来看,sqm的开发者也意识到有限的流量如何分配给无限的ip。从它们的文档描述来看它们希望把SQM变成一个根据ip的流量均分实现,而这不就是routesos 的pcq实现吗。实际均分流量也不是个好方法,因为网络中可能只有1%的用户在抢夺99%的流量。带宽越小能均分的可能越小。所以SQM的一些知识点跟QOS这种有优先级实现完全是不一样的。
如果看SQM的一些论坛回复,提到了CPU性能问题。我个人认为SQM是不如qos scripts的,openwrt的这个qos scripts唯一不好的地方改动成hfsc算法,让这个东西又变得不如htb实现好理解,网上只有零星的讨论。但是它相对石像鬼有一个connmark restore结构的实现,这个所谓的包标记到连接标记的实现节省了大量的CPU资源。而openwrt cc时代的SQM使用的是每包命中标记,实际测试过程性能低下。所以经常见论坛一讨论到SQM跑不起高带宽,结论就是路由CPU太烂,从来不说它们自己的实现太烂。。。
openwrt下面我认为基于WEB管理界面最好的QOS实现还是qos scripts吧,有能力就自己写脚本参考tomato的/etc/qos就可以了。
|
|