导航

QUEUE TREE的错误用法

Posted on 2011-04-16 14:37  rosabc_com  阅读(322)  评论(0)    收藏  举报
文章最后是 xiasha11 发的涉及QUEUE TREE的脚本,讨论一下脚本中不当之处. 1.别用DSCP了. 没必要先修改DSCP再mark-packet,可以直接mark-connection再mark-packet.修改DSCP每个包都要重新计算IP头校验和,所以很耗资源. 提醒一下:别以为用的人少,会的人少的技术就是高技术.只所以用的人少,会的人少,那是因为那技术不成熟,不高效,有缺陷. 2.每条change dscp命令的本身都有问题. 例如根据第一条命令,一个包要同时满足dscp为0且是icmp包者会修改dscp为1,那假如收到一个dscp为8的icmp包则不会修改DSCP,最终根据后续脚本,这个包的处理优先级为最末. 3.queue tree的问题. 这里需要说明有关queue tree的一些知识,你就知道脚本中的问题了: 第一,在任何情况下,parent queque的优先级设置都是没意义的,只有最底层queue(如脚本中的queue3,queue5,queue6,queue8)的优先级才有意义. 不信吗? 例如下面的脚本,你把母queque的优先级任意设置,绝对和你以前的网络性能没有任何区别.这个你可问mikrotik. 第二,如果母queque没有速率限制,子queque也没有速率限制,则此时分级是没有意义的.不过为了维护方便可以分两级,但分三级没有意义维护也不方便. 4.最后一个小问题:备注不要全部用中文,导出脚本看得累,可以中英同时用,维护也方便. 以下脚本并不是高效的,并且有使用不当之处,只用来分析,请误使用.不过收集的各种应用程序的端口还是有借鉴价值的. /ip firewall mangle add action=change-dscp chain=prerouting comment=ICMP disabled=no dscp=0     new-dscp=1 protocol=icmp     add action=change-dscp chain=prerouting comment=     "Game C3CEBBC3D6EFCFC9" disabled=no dscp=0 dst-port=28993     new-dscp=1 protocol=tcp add action=change-dscp chain=prerouting comment="C3CEBBC3CEF7D3CE"     disabled=no dscp=0 dst-port=4088,4188,4588,10116,10156,21388,22788     new-dscp=1 protocol=tcp add action=change-dscp chain=prerouting comment="C4A7CADECAC0BDE7"     disabled=no dscp=0 dst-port=1119,3724,8085 new-dscp=1 protocol=tcp add action=change-dscp chain=prerouting comment="D6EFCFC9 CDEAC3C0CA     C0BDE7B9FABCCAB0E6  C8C8CEE8C5C9B6D4" disabled=no dscp=0     dst-port=29000 new-dscp=1 protocol=tcp add [...]