实战tomato(蕃茄)QoS设置真正实用教程

在Tomato中文网上看到许多新手询问设置QoS的问题,比如为什么作者不开设置个限IP网速等问题。其实QoS的真谛在于共享网速的同时又能快速响应,看起来冲突的两件事,却让QoS很好的平衡起来(网络负载平衡)。 首先让大家了解一下QoS必要知识:网络协议:TCP/UDP,一个完整的TCP协议需要经过三次握手才能完成,这是目前主流的应用,比如看网页、上 QQ、用迅雷……全都会用到这些协议。 TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议
TCP简单演示如下:PC1向PC2发出连接请求---> PC2回应请求(协商发送时间)--->PC1收到同意后发送数据
UDP(User Data Protocol,用户数据报协议)
是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!我们经常使用“ping”原理就是向对方主机发送 UDP数据包,对方主机如果返回确认收到数据包,那么网络就是通的。因为UDP协议没有连接的过程及基天点对点传送,所以它的通信效率高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
IPP2P协议:分析每个包的具体特征,过虑P2P特征码。但效率不高,所以在下面设置QoS教程中,我用多重方法准确控制BT。
Layer7协议,基于正则式分析内容。通过顶层分析技术判断出是哪个程序发出的数据而加以控制,这也是linux的优势。缺点是要分析较多的数据包,效率低下,影响效能,同时存在误杀其它程序的可能。
协议简单介绍到这里,说说QoS主要拦截目标:
1、基于MAC
2、基于端口
3、基于IP
4、基于协议

设置过程(图1):

QoS 基本设置
开启带宽管理QoS 启用
给予优先权标志    ACK   SYN   FIN   RST
在这里我全都不选,P2P软件会产生大量的ACK数据包,如果启用会对其它程序产生干扰。
ICMP 给予优先权 不选,作网络测试用,响应快些,没什么帮助。反而担心一些程序不断发送ICMP数据干扰网络。
Strict Rule Ordering 严格按照规QoS则顺序执行,这个在1.18版本里已经没有了,如果使其它版本请先上。
设置值改变时自动更新分级机制 启用,这样才能实时看到修改效果。
优先权默认为 (等级): 选最低级    缺省QoS级别,这个指的是所有未被定义的协议的优先级。这个要配合分类设置里面的设置来决定,默认是低级,我改为最低级
上传速率 / 限制 其实数据参考营运商给你的套餐,以我的为例1M下行,512k上传
最大速率   320 kbit/s
千万不能乱填,它直接决定了qos是否能够正常工作。填得太大的话QoS就会发送比你的网络能承受的更多的数据,从而使网络阻塞,QoS也失去作用了。
一般ADSL上传是理论值是512kbit实际使用中损耗约10%,取它的90%到70%即可。
你如果不清楚,就用迅雷和BT高速下载,然后看看“带宽监控-实时流量图表”就知道了。

下行速率限制 1200 kbit/s 这个正好相反,下行的速度总是愈快愈好,1M的下行对于100M内网来说真是小巫见大巫,也有网友建议设很大的值,但为更好的控制我在这里设1200kbit/s

最高级 100%
高级       90%
中级       80%
低级       70%
最低级    60%
A级       50%
B级       40%
C级       30%
D级       20%
E级       10%
这样的设置是为了让优先级高的应用尽快下行,并不限制低级别程序使用网速。

保存设置,进入分类设置
TCP/UDP
Dst Port: 53
Transferred: 0 - 2KB 最高级 DNS
DNS非常重要,一定要设置为最高,并且放在最前面。不这样的话在大量下载的时候,DNS数据包可能会因为网络阻塞发送不出去,导致网页无法访问。
TCP/UDP
Src Port: 5800 高级 VPN
我偶尔用用VPN,为保证顺利设为高级
TCP
Src Port: 2782,2752 高级 Tdxw
这是股票软件端口,设为高级。
TCP
Dst Port:443
L7:HTTP
Transferred: 0 - 512KB 中级 WWW
当WWW应用低于512KB时中级响应,高于512KB降为低级见下
TCP/UDP
L7: qq
Transferred: 0 - 512KB 低级 QQ
基于L7协议QQ低于512KB时低级响应。
UDP
Src Port: 6000-6020,8000 低级 QQ
这是QQ常用源端口,当L7不准确时再次保证QQ运行于低级
TCP
Dst Port: 80,443
Transferred: 512KB+ 低级 WWW (512K+)
现在伪装80端口下载的非常多,当流量在512K以上时降为低级
TCP/UDP
Dst Port: 53
Transferred: 2KB+ 最低级 DNS (2K+)
DNS的封包一般不大,所以把2KB以上的放入最低级
TCP/UDP
Port: 21 最低级 FTP
把FTP应用放最低级
TCP/UDP
L7: xunlei A级 xunlei
基于L7协议分析xunlei 设为A级响应。
UDP
Src Port: 3500,4863,4867,4881,4883,15000,26411 A级 xunlei
这是xunlei常用源端口,当L7不准确时再次保证xunlei运行于低级
记住这里和QQ都选源端口
TCP
Src Port: 8000,36897 A级 xunlei
刚才控的是UDP现在控TCP端口,如果刚才选TCP/UDP的话会误伤很多程序。
TCP/UDP
L7: bittorrent C级 BT
基于L7协议分析BT 设为C级响应。
TCP/UDP
Src Port: 25000,6881-6889 C级 BT
基于端口协议分析BT 设为C级响应。
TCP/UDP
Dst Port: 36898-65535 B级 Bulk Traffic


很多网友说Bulk Traffic这条规划设置后,自己的其它设置都是无效的。其实L7协议是优先执行,且原规则端是1024—65535,通用式控制。所以在这里我调到36898-65535,设为B级。
以上的设置完成后,上网与下载BT就两不误了。大家可以根据需要进行调整。
Zhuang完成于2008-4-17 部份资料来自网络。

上一篇: 从SysCP拿出来的cron 脚本头尾,带检查上次执行结果   下一篇: jquery插件简明制作教程

提交疑问

回顶部