找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9555|回复: 5

番茄QoS设置超详细教程, DD用户也可参考。(让BT满负荷,上网照样快如飞)

[复制链接]
发表于 2008-3-22 09:52:56 | 显示全部楼层 |阅读模式
先来说说我的情况。我所住的小区因为线路老化,只能装上下行512k/512k的ADSL(该死的中国电信为什么不改造线路)。带宽小了,下BT的时候上网就比拨号还慢,大一点的图片显示不出来。我又不想限制BT带宽,因为本来就慢了,还限制的话一部电影要下几天啊。终于五一的时候忍不住卖了老的Linksys Befsr41,冲着番茄强大的QoS去买了WRT54GS 1.1回来。拿回来就刷了番茄。经过一段时间的研究,终于把番茄的QoS全部研究了一遍。现在BT满负荷下载,上网还是快如飞(当然没有不下BT的时候那么快,不过比不用qos快太多了),一个字,爽。好东西当然要分享给大家。下面给大家一一介绍吧* O/ s* Q0 Z, k; I
/ t5 p+ e9 Q" Z! q- g
Basic (基本设置)
- o: ~# L: R+ P+ _. |# D/ j+ c( @4 W
Enable QoS        激活QoS,选定。2 c( Y6 J1 Q/ f, n
$ Y% p# Y8 y1 P: y5 g# M
Prioritize ACK        提升ACK优先级。大家知道TCP协议是基于发送-〉应答机制的。服务器只有收到客户端的应答之后才会发送下一个数据包。ACK就是这个应答。默认这个选项是选定的。不过值得注意的是P2P软件会产生大量的ACK数据包。比如说在下载BT的时候,如果这个选项被选定的话,你就会看到许多不明的Highest流量。这些Highest的流量就是BT产生的ACK数据。所以如果你经常下载P2P软件的话我推荐把这个选项关闭,以免产生不必要的Highest流量。干扰其他正常的网络应用。
, q7 t4 Z. o; o) G. Z- k2 P6 `) j6 I
Prioritize ICMP        提升ICMP的优先级。ICMP就是Ping之类的数据包。选定这个选项的话,ping值会好看一些。% i+ U. i# i$ |; y1 ?

, }' T; q2 ^2 v* o4 {1 MStrict Rule Ordering        严格按照规QoS则顺序执行。选定这个选项的话,QoS的规则就会按照Classification里面的顺序从头到尾执行,直到碰到一个符合的规则。否则L7,IPP2P规则会先被执行,然后才执行基于端口,IP地址的规则。建议选定,以便于精确控制。. ]& ^4 ~0 d- I

: D/ A/ i* C+ [) k" L4 ^) A" rReset Classification When Making Changes         在设置被改变的时候重置Classification。选定的话每次改变qos设置,所有的连接都会被重新评估。否则你必须从启动正在下载的程序,重新连接才能使设置生效。推荐选上。7 d5 O3 x( d6 b3 s' ?9 n: y9 l% x

( N4 M/ X  O; x+ HDefault Class        缺省QoS级别。这个指的是所有未被定义的协议的优先级。这个要配合classification里面的设置来决定。默认是Low。9 z& H$ T0 A3 h3 }- t1 j

6 c6 I+ M7 @1 {Outbound Rate / Limit 1 d( g' }: r5 ^
Max Bandwidth        kbit/s上行速度。注意,这个值千万不能乱填。它直接决定了qos是否能够正常工作。不适当的值不但qos不工作,严重的话在下载的时候连网都上不去了。这个值应该是你网络上行的最大带宽x90%。填得太大的话QoS就会发送比你的网络能承受的更多的数据,从而使网络阻塞,QoS也失去效果了。% k8 F+ u% H  P4 j
& X' s+ s8 m2 \& E' x8 ^+ N
而且必须是实际的最大带宽而不理论最大带宽。比如说ADSL最大理论上行是512K,但是我实测下来只有400多K。因为ADSL传输的时候要给每个包加载包头还有校验位,占用了一定的带宽。大家一定想我怎么才能知道我最大上行呢?其实用番茄就可以测到。随便找一个BT的种子下载,要下得人多的。然后不限制上行速度。观察番茄的流量监视表,当上行速度稳定为一条直线的时候就是你的最大上行带宽。
- ^2 O8 o/ W7 a+ D7 @) }7 S* L( L+ k! ?3 I+ R5 @! \) E
番茄把从高到低级别分为了Highest – 〉Class E几个级别。Highest是最高的级别。Class A -> E是番茄作者自己定义的几个级别,他的优先级比Lowest还低
* z% t& X6 ~  p下面是我的设置,大家要根据自己的实际带宽相应设置。0 d4 C& _4 d1 Q  ~' h

6 j. \: H3 a4 ?& e! [1 k9 Q5 BHighest          320 - 400 kbit/s
( S6 Q2 l+ M1 S) ?High          40 - 396 kbit/s, K4 B' a( N, K. c% z  R* `4 r4 p# J; G
Medium          20 - 392 kbit/s- h$ }; D; `. D* t2 @  _
Low          12 - 388 kbit/s/ _9 q  q2 z  G/ Q! y" K
Lowest          8 - 380 kbit/s
& S1 k7 ^/ W% X( O( R1 qClass A          4 - 200 kbit/s# V! D. P" m$ D* n0 K$ O3 g- f6 O, c
Class B          4 - 160 kbit/s
, ~/ d& B0 f  n' r+ yClass C          4 - 120 kbit/s; y- c( _+ {! |7 N
Class D          4 - 80 kbit/s$ w3 u5 ]& m8 e2 v# H# l+ Z4 b) D
Class E          4 - 40 kbit/s8 a3 w' U3 Z! i( s/ u5 i
1 G6 l5 r+ c" B5 j

$ ^) v5 F' u) ~4 p, y1 F' u( X4 W
( w+ }0 P' ]! R" m3 P' ]Inbound Limit
  D% i, k( E) q6 F0 FMax Bandwidth        kbit/s 下行速度。其实这一项实际意义不大。下行的qos是没有意义的,因为数据包已经通过网络瓶颈(你的宽带线路)到达你的路由器了,再限制速度的话路由器只能丢弃多余的数据包。直接结果就是这些数据包不得不重新传一遍,白白浪费了网络带宽。下行的qos只有ISP支持才可能实现。大家可能会想,我只用上行的QoS有什么作用呢?我要的就是能够控制下行的速率啊。其实控制了上行,间接的也就控制了下行。你想想如果某个协议的网络请求能够优先发送出去,返回的数据是不是也相应的会先到达呢?: I9 f' X$ ~7 R0 o6 N
3 M4 X5 r& ?& c" Z, k
这里我填入了一个很大的值10000K,其他全部选None,不限制下行速度。
$ Y0 I- O, b7 w' Z8 f9 \* f
7 @3 |' D2 @. b5 d: f7 ^9 }当然在特定的情况下,这个选项还是有用的。具体我就没有研究了。毕竟我只有512k的带宽,当然要榨干它。
) X9 |- |1 @- J! E
( M# s3 g3 e: m) M. _* ^1 e  n- @Classification (分类设定)
4 c7 g, f6 M+ S+ k1 u+ m4 t/ t# U1 m# @" r8 F5 N( o
这里就是设定哪个网络协议拥有什么样的优先级的地方拉。一共有3行。
0 U. P+ ]* G7 ~+ A; j4 E8 c9 D! t/ a: U  J% v
第一行:
! Q$ z: N- p; Y) n( ^8 M地址:可以是源或目标IP地址或MAC地址。如果你想控制来自某个客户端的,就要在这里填上相应的值。7 W% M5 `8 G+ }/ J$ O9 k. S9 a
优先级:Highest -> Class E。定义符合这条规则的网络协议的优先级。4 [8 a5 v( e$ w1 f; ]: _9 U
描述:对这条规则的简单描述。% k" t# s; p7 V. ]
, a8 C: V* i  {% @
第二行:7 I+ f- w0 s" h! Y" a  j; ^
网络协议:一般选TCP/UDP。除非是一些特殊的网络应用。4 O) D6 l% W; u$ h9 T( k4 n5 m& O
端口:应用于所有经过这个端口的数据
7 ~0 J5 O' w4 \  Q) I/ f6 c$ O7 T4 D6 A. N+ H  y
第三行:0 F5 P; U5 f0 ~; @; ~
IPP2P: 这是一种P2P协议的过滤器。能够识别常见的P2P协议,比如BT,电驴。不过我实际使用下来发现基本没用。; a3 ?& r( D6 H6 Q' b
Layer 7:第七层过滤器。这是一种非常高级的过滤器,工作于网络的最高层:应用层。它能够识别数据包里面的字符串,从而识别数据包是那个应用程序发出来的。番茄里面包含了许多常见的网络应用程序,如BT,电驴,迅雷,CS,魔兽等。
* G) \& W* {$ h+ q: x. J' E
0 y- c- W  s5 C8 i% @( x值得注意的是L7过滤器因为非常复杂,所以要小心使用。有些过滤器会overmatch,也就是说会把许多其他程序发出的数据包误认,比如说SkypeOut过滤器。有些过滤器会undermatch,也就是说不捕捉到全部的流量,比如说BT过滤器。实际使用中我发现Skype out过滤器会把大约5%的BT数据认为是skype的数据,而BT过滤器则有20%左右的BT数据没认出来。在这里我们要尽量把overmatch的过滤器放在后面,undermatch的放在前面,以减少误报的可能性。有些过滤器是另一些得子集,如果你把这些子集放在他们的父集后面,他们是不会生效的,因为父集过滤器已经把数据包截获了。例如,http-video是http得子集。另外,并不是所有的L7过滤器都能保证工作,有些实际上效果不佳。要了解更多的信息比如那些是overmatch/undermatch的,那些确定是有效的,请参看L7过滤器的主页http://l7-filter.sourceforge.net/protocols $ E. ?  g2 E7 W
* x+ i1 N: C+ [7 d
另外值得注意的是L7过滤器很占用系统资源,它会明显占用CPU和内存的使用。加载了不少L7的过滤器后,我的WRT54GS(32M内存)的内存使用稳定在21M左右。用WRT54G的兄弟可得悠着点,因为只有16M。内存溢出的话说不定就死机了。
- C2 S: J! q. H' }1 X& @, T  C  w$ d0 K. q6 x( _( e, v0 S
在这些设置里面,端口/IP地址的过滤器是最有效的,能够100%的有效,而且资源占用率最低。IPP2P和L7过滤器并不是100%有效。+ S. v, l  ?9 e/ C9 ^& K. Y

! E7 h% U# t) e+ I下面是我的一些设置,大家还要根据自己的实际情况量身定做。。
# M3 d' G. t' B% j4 l1 v  h% T, \+ h' U: W& W
TCP/UDP
& Z' s4 }. U% a4 N7 XDst Port: 53        Highest        DNS
2 l1 h$ z/ H  i$ U% ~DNS非常重要,一定要设置为最高,并且放在最前面。不这样的话在大量下载的时候,DNS数据包可能会因为网络阻塞发送不出去,导致网页无法访问。# V; w2 ]* t6 o; D

. o! j* |( }% f
6 r, c: `- e5 Z# KTCP/UDP  C, P/ b8 o) j2 s9 o0 `
Port: 500,1701,1723,4500,3389,33089        High        VPN,RDP
4 i! U4 Y% y+ s, T% j, o/ r0 g我经常使用公司的VPN,把VPN设为高,保证VPN连接可靠。
( [3 H: u) \) u# O/ t8 \: e  V6 X2 D1 ]- M8 ~( [  Y8 \
TCP* D7 _) n7 z3 R1 t& d4 c
Dst Port: 80,443$ E2 L3 _2 l$ `9 H) T( w3 N  q! y
Transferred: 0 - 1024KB        Medium        HTTP 0-1024k
% Z4 |9 U6 M/ o  r5 g) w+ T( R/ qTCP8 M; r- H% a. X( I; Y! z
Dst Port: 80,443
" w9 L1 J% J  M; ^; d/ v1 p: R0 V1 ?/ sTransferred: 1024KB+        Low        HTTP 1024k++ ^; j; S. T; K% p5 B' {
HTTP优先级设为中。也就是浏览网页的优先级。每个http连接流量超过1024k后优先级为低,保证了HTTP下载文件不会影响网络的浏览。) i; g& ?6 x! }  y% i& {% p
9 ^2 [7 @. \! T! W
TCP; w- I  q% A5 f. N* o# `
Dst Port: 21        Low         FTP
7 k' U1 l- _% v4 v$ ~$ cftp优先级为低,保证ftp下载不会影响网络浏览。- l8 M9 N  X0 ^+ T# O  \% h
: l% O& p! Z$ z- @; |# E. `6 \
L7: bittorrent        Lowest        BT& X1 e6 Y" s/ w; T# s: v
TCP/UDP4 x  K6 Q/ q; n/ Q
Port: 25000        Lowest        BT1 O' c2 J; h, \( e
BT 优先级设为最低,BT下载不会影响其他任何应用。在这里我使用了L7和端口两种过滤器,完全保证了所有BT流量都被过滤了。另外需要注意的是BT客户端的连接数不要设的太高了,否则效果打折扣。我512k的带宽,BitComet设置全局100个下行连接50个上行连接正好。
发表于 2008-3-22 10:34:33 | 显示全部楼层
很经典的技术贴子,现在QoS的教程就是少。
  e+ e% W$ k5 j9 x2 }, p, E9 A要是有图就更棒了。
发表于 2008-3-22 17:39:28 | 显示全部楼层
光有文字冇图不好操作的
发表于 2008-3-22 18:30:55 | 显示全部楼层
此教程适合自己家内的机子:lol
1 m8 w2 B: t2 Q. F6 g/ G% ]5 g/ V, G* p. r+ a0 F/ p
跟邻居共享就不现实了,因为现在的软件都能改端口..
发表于 2008-3-22 23:25:22 | 显示全部楼层
原帖由 黑橘子 于 2008-3-22 10:30 发表 1 Q; b6 i' f3 l) A& a( t. I8 e
此教程适合自己家内的机子:lol ; B, ]% K  K2 W
% j) a' w. t; S5 O% l, u- Q
跟邻居共享就不现实了,因为现在的软件都能改端口..
; r% d, `9 U$ g

# y8 c& P4 z+ l6 G& H一句中矢!!
发表于 2012-8-23 16:28:13 | 显示全部楼层
本帖最后由 akdlemail 于 2012-8-28 11:18 编辑 4 }# l3 o0 Z- a& e& Q- {  a

. }! V) D3 L- n( ^( I看看。路过
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-6 02:31 , Processed in 0.027711 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表