1、 在Tomato中文网上看到许多新手询问设置QoS的问题,比如为什么作者不开设置个限IP网速等问题。其实QoS的真谛在于共享网速的同时又能快速响应,看起来冲突的两件事,却让QoS很好的平衡起来(网络负载平衡)。 首先让大家了解一下QoS必要知识: 网络协议:TCP/UDP,一个完整的TCP协议需要经过三次握手才能完成,这是目前主流的应用,比如看网页、上QQ、用迅雷……全都会用到这些协议。 TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议 TCP简单演示如下: PC1向PC2发出连接请求---> PC2回应请求(协商发送时间)--->
2、PC1收到同意后发送数据 UDP(User Data Protocol,用户数据报协议) 是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!我们经常使用“ping”原理就是向对方主机发送UDP数据包,对方主机如果返回确认收到数据包,那么网络就是通的。因为UDP协议没有连接的过程及基天点对点传送,所以它的通信效率高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。 IPP2P协议:分析每个包的具体特征,过虑P2P特征码。但效率不高,所以在下面设置QoS教程中,我用多重方法准确控制BT。 Lay
3、er7协议,基于正则式分析内容。通过顶层分析技术判断出是哪个程序发出的数据而加以控制,这也是linux的优势。缺点是要分析较多的数据包,效率低下,影响效能,同时存在误杀其它程序的可能。 协议简单介绍到这里,说说QoS主要拦截目标: 1、基于MAC 2、基于端口 3、基于IP 4、基于协议 设置过程(图1): QoS 基本设置 开启带宽管理QoS 启用 给予优先权标志 ACK SYN FIN RST 在这里我全都不选,P2P软件会产生大量的ACK数据包,如果启用会对其它程序产生干扰。 ICMP 给予优先权 不选,作网络测试用,响应快些,没什
4、么帮助。反而担心一些程序不断发送ICMP数据干扰网络。 Strict Rule Ordering 严格按照规QoS则顺序执行,这个在1.18版本里已经没有了,如果使其它版本请先上。 设置值改变时自动更新分级机制 启用,这样才能实时看到修改效果。 优先权默认为 (等级): 选最低级 缺省QoS级别,这个指的是所有未被定义的协议的优先级。这个要配合分类设置里面的设置来决定,默认是低级,我改为最低级。 上传速率 / 限制其实数据参考营运商给你的套餐,以我的为例1M下行,512k上传 最大速率 320 kbit/s 千万不能乱填,它直接决定了qo
5、s是否能够正常工作。填得太大的话QoS就会发送比你的网络能承受的更多的数据,从而使网络阻塞,QoS也失去作用了。 一般ADSL上传是理论值是512kbit实际使用中损耗约10%,取它的90%到70%即可。 你如果不清楚,就用迅雷和BT高速下载,然后看看“带宽监控-实时流量图表”就知道了。 下行速率限制 1200 kbit/s 这个正好相反,下行的速度总是愈快愈好,1M的下行对于100M内网来说真是小巫见大巫,也有网友建议设很大的值,但为更好的控制我在这里设1200kbit/s 最高级 100% 高级 90% 中级 80% 低级
6、 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 高级
7、 VPN 我偶尔用用VPN,为保证顺利设为高级 TCP Src Port: 2782,2752 高级 Tdxw 这是股票软件端口,设为高级。 TCP Dst Port: 80 http Transferred: 0 - 512KB 中级 WWW TCP Dst Port: 443 https Transferred: 0 - 512KB 中级 WWW 当WWW应用低于512KB时中级响应,高于512KB降为低级见下 TCP/UDP L7: qq Transferred: 0 - 512KB 低级 QQ 基于L7协议QQ低于512KB时低级响应
8、 UDP Src Port: 6000-6020,8000 低级 QQ 这是QQ常用源端口,当L7不准确时再次保证QQ运行于低级 TCP Dst Port: 80 http Transferred: 512KB+ 低级 WWW (512K+) 现在伪装80端口下载的非常多,当流量在512K以上时降为低级 TCP/UDP Dst Port: 53 Transferred: 2KB+ 最低级 DNS (2K+) DNS的封包一般不大,所以把2KB以上的放入最低级 TCP/UDP Port: 21 最低级 FTP 把FTP应用放最低级
9、TCP/UDP ipp2p: xunlei A级 xunlei 基于IPP2P协议分析xunlei 设为A级响应。 UDP Src Port: 3500,4863,4867,4881,4883,15000,26411 A级 xunlei 这是xunlei常用源端口,当IPP2P不准确时再次保证xunlei运行于低级 记住这里和QQ都选源端口 TCP Src Port: 8000,36897 A级 xunlei 刚才控的是UDP现在控TCP端口,如果刚才选TCP/UDP的话会误伤很多程序。 TCP/UDP L7: bittorrent C级 BT 基于L7协
10、议分析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 部份资料来自网络。 发布完了,给大家发几张实测图上来: 实时流量图 24小时流量图 连接分布图 带宽分布图






