|
在Tomato中文网上看到许多新手询问设置[url=]QoS[/url]的问题,比如为什么作者不开设置个限IP网速等问题。其实QoS的真谛在于共享网速的同时又能快速响应,看起来冲突的两件事,却让QoS很好的平衡起来(网络负载平衡)。& c& Q1 ^; ^" [* r* G
首先让大家了解一下QoS必要知识:0 _. K% ]1 a; u
网络协议:TCP/UDP,一个完整的TCP协议需要经过三次握手才能完成,这是目前主流的应用,比如看网页、上QQ、用迅雷……全都会用到这些协议。/ i! q* \/ K U$ w
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议+ g. z$ t$ r" @) d! v1 d
TCP简单演示如下:) c' s) a% C4 W# L1 \2 b/ S
PC1向PC2发出连接请求---> PC2回应请求(协商发送时间)--->PC1收到同意后发送数据) y+ U; g" T+ j
UDP(User Data Protocol,用户数据报协议)& M! [) U% h a% B
是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!我们经常使用“ping”原理就是向对方主机发送UDP数据包,对方主机如果返回确认收到数据包,那么网络就是通的。因为UDP协议没有连接的过程及基天点对点传送,所以它的通信效率高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。; e& f& u) E; K' Y# J
IPP2P协议:分析每个包的具体特征,过虑P2P特征码。但效率不高,所以在下面设置QoS教程中,我用多重方法准确控制BT。6 P: K+ ^, ~1 u: Q8 B q
Layer7协议,基于正则式分析内容。通过顶层分析技术判断出是哪个[url=]程序[/url]发出的数据而加以控制,这也是[url=]linux[/url]的优势。缺点是要分析较多的数据包,效率低下,影响效能,同时存在误杀其它程序的可能。
1 W0 U k3 r7 k协议简单介绍到这里,说说QoS主要拦截目标:" r4 D+ t% P7 F* G: q
1、基于MAC F! m! d; O. g; K a' V
2、基于端口
: [( w8 ~/ q6 ~' u! W! c3、基于IP, a4 S b k5 I3 c* B" d' k
4、基于协议' `8 d3 p+ s( F# v
设置过程(图1):
6 Q6 q ~# ?1 a
1 |& f& F) Z! b# N5 T9 [ IQoS 基本设置: a7 X& i% T/ k* l, @
开启带宽管理QoS 启用3 b4 O: I& x5 ?4 Z/ w' V# h* ~" T
给予优先权标志 ACK SYN FIN RST
1 S0 V! x' a$ g, X/ ?8 u5 B8 l在这里我全都不选,P2P软件会产生大量的ACK数据包,如果启用会对其它程序产生干扰。
k$ Y6 {. n6 I) ?. W 3 D5 ]! K4 G# N. }5 P' u
ICMP 给予优先权 不选,作网络测试用,响应快些,没什么帮助。反而担心一些程序不断发送ICMP数据干扰网络。
- `! D* L# I9 ]
5 W' b* c5 I3 |& I3 mStrict Rule Ordering 严格按照规QoS则顺序执行,这个在1.18版本里已经没有了,如果使其它版本请先上。
# G5 w: P. h8 r8 H5 N8 ?. p
) p/ k5 D3 p# K# U5 C+ p设置值改变时自动更新分级机制 启用,这样才能实时看到修改效果。
3 b5 M L$ i3 z: y! d
/ {% K+ Z ^# o+ L( y优先权默认为 (等级): 选最低级 缺省QoS级别,这个指的是所有未被定义的协议的优先级。这个要配合分类设置里面的设置来决定,默认是低级,我改为最低级。0 B; h4 y. R# z" ]4 x
( M9 R, x. Y/ k
上传速率 / 限制其实数据参考营运商给你的套餐,以我的为例1M下行,512k上传
) T% `5 M7 @6 @! M5 I6 v5 t最大速率 320 kbit/s+ Q! N; f3 s, n- E0 o+ E5 p( A) i
% F: m& w# F% | n7 M
千万不能乱填,它直接决定了qos是否能够正常工作。填得太大的话QoS就会发送比你的网络能承受的更多的数据,从而使网络阻塞,QoS也失去作用了。/ X2 n7 ^# ?( F* Y/ f# g) Q& r. o
一般[url=]ADSL[/url]上传是理论值是512kbit实际使用中损耗约10%,取它的90%到70%即可。/ \6 S4 X3 ?# [& x* M
你如果不清楚,就用迅雷和BT高速下载,然后看看“带宽监控-实时流量图表”就知道了。" d2 w( U* @7 m: _9 W5 ]8 ~ F

; S/ h, H6 s/ V& x3 h3 L# q下行速率限制 1200 kbit/s 这个正好相反,下行的速度总是愈快愈好,1M的下行对于100M内网来说真是小巫见大巫,也有网友建议设很大的值,但为更好的控制我在这里设1200kbit/s) X' x3 D* b( T2 J: S$ W$ ^6 c
c; I' F! Y+ q3 p# C8 p# Y$ z' j# T) o/ \/ I
1 ~' a% v1 O+ I, S8 `1 N最高级 100%
# R: V3 A; T: y高级 90%
. _+ r7 b# D! j5 w中级 80%( ?6 u/ d8 E5 | j
低级 70%8 Y$ s& y$ V J/ S
最低级 60%
* ?# `8 ` y! _4 Y$ g& D( E+ c4 ?A级 50%
5 c( E! ^+ Y# v3 b( k* ZB级 40%' A, ?( r+ Q$ e% n1 l' a
C级 30%
) y. W8 P* ?* Y# S& K" PD级 20%9 f0 o- C) o) `+ ^. C2 \
E级 10%
" K' h+ j1 A6 J# s 6 O8 `! P' p _3 ~
这样的设置是为了让优先级高的应用尽快下行,并不限制低级别程序使用网速。 e5 V1 n( g4 r% `) g" K% Z' f
- f* z' ]' [3 b, M4 \2 v保存设置,进入分类设置- _- Y4 N8 e: U4 Y3 |, E/ }
TCP/UDP3 P0 R( \; s: O3 Z0 Y% e' c
Dst Port: 53
8 B- u) E0 P E$ `2 f& z) j8 ITransferred: 0 - 2KB 最高级 DNS; w) v9 {. ^+ X2 J B
DNS非常重要,一定要设置为最高,并且放在最前面。不这样的话在大量下载的时候,DNS数据包可能会因为网络阻塞发送不出去,导致网页无法访问。3 y& A$ g7 z( O
: W" t* o# Y! H; @ ?
# _7 i: O0 P( V
TCP/UDP' H) N+ X9 i+ e6 ?, E u
Src Port: 5800 高级 [url=]VPN[/url]
; Q0 [( }5 w) X我偶尔用用VPN,为保证顺利设为高级: p8 \: i" u) s2 U* X
; r! |- o8 N& y' H. g& D5 e) [TCP
, W- \9 r1 K h* V, E0 xSrc Port: 2782,2752 高级 Tdxw' B# B; s L* t- t' R$ n
这是股票软件端口,设为高级。
, f, h0 y# T1 M4 W4 {; q1 e5 q 4 \) t+ O& O1 P
TCP( B; G" w! R; I) \
Dst Port: 800 v2 h: j- E! W( h) G! ]% L: ~
http
, l9 Z- Z, Y6 L3 k+ n8 ^5 x2 KTransferred: 0 - 512KB 中级 WWW
+ v% P+ Z2 W7 m# u4 jTCP) v+ v; ^. s" l3 t& V# s
Dst Port: 443
* O- ]. B) p( i* H8 n! t0 j z( |https
8 ~# k% w% w* Y! v& aTransferred: 0 - 512KB 中级 WWW4 [7 Y( C- R) W( z& T
当WWW应用低于512KB时中级响应,高于512KB降为低级见下3 c8 Z, ~! Z- M2 z" r5 A6 f
; o( f5 y% c9 p* t( a* `TCP/UDP/ ~% x7 f+ r! t4 G
L7: qq
/ p4 y7 w/ f, B& V FTransferred: 0 - 512KB 低级 QQ. ^0 R: D6 Z' E1 _) T& [! Z( ~( L, v9 E
基于L7协议QQ低于512KB时低级响应。
6 a3 P% g+ |$ p3 H ( |8 z% v% L) H" l5 M
UDP
) Q |- U) K+ y. tSrc Port: 6000-6020,8000 低级 QQ
5 {3 p: s* g6 Y4 n* z: e2 j这是QQ常用源端口,当L7不准确时再次保证QQ运行于低级1 S0 t/ Q5 \# j7 ]
5 {; f! L3 @" s( V7 n! ^TCP
0 K" R- Y4 h; M; K P( I, Y' C7 @Dst Port: 80
' H. ?! F. J' R# B0 Y) O# M' thttp, O# H0 i! w) y6 |
Transferred: 512KB+ 低级 WWW (512K+)1 Y/ y& \6 [& L/ D3 F4 P
现在伪装80端口下载的非常多,当流量在512K以上时降为低级! P& v6 F( ]) z1 K: A
. t- O) S/ M" T/ h- r
TCP/UDP
* P" q# l& f( b8 ~% ]Dst Port: 53) U7 B9 W. a* S$ k; ?" }. G
Transferred: 2KB+ 最低级 DNS (2K+)9 i2 u7 [9 z" v% \! i6 P& M
DNS的封包一般不大,所以把2KB以上的放入最低级 t( n- Z: m8 X! {4 u4 [
! @9 v# T9 T+ G3 zTCP/UDP: A3 \5 q: J% k
Port: 21 最低级 [url=]FTP[/url]6 a, [- f/ ]. R2 j( Q% d, W$ ~. d
把FTP应用放最低级
. s2 {3 x$ }& z4 C! d
4 {8 C. e) j0 ZTCP/UDP
+ f+ H) e3 q7 [* Eipp2p: xunlei A级 xunlei
* q" i& I' ~5 t/ _2 S' l* K3 c基于IPP2P协议分析xunlei 设为A级响应。
7 n) ]& r# u# K0 A* `4 v& ]; f 1 i1 ~& S2 u' I% M
UDP1 E- E7 O$ V* a2 n9 A
Src Port: 3500,4863,4867,4881,4883,15000,26411 A级 xunlei& r& g& O/ i J- m
这是xunlei常用源端口,当IPP2P不准确时再次保证xunlei运行于低级, p' X# I) i) u) o8 M% K' m
记住这里和QQ都选源端口
8 _7 X1 r3 c* _+ p- g) A/ _% ~TCP
) p! g* ~/ x0 a& {Src Port: 8000,36897 A级 xunlei3 j5 J' Y" T( C: Q& s
刚才控的是UDP现在控TCP端口,如果刚才选TCP/UDP的话会误伤很多程序。# |; |( d4 `9 @# l0 R# s6 z# e
/ P7 L: U6 H$ ]& e- T
TCP/UDP
2 ]% u2 e2 _ }L7: bittorrent C级 BT
5 O4 ?5 g0 O- A6 @6 S7 m基于L7协议分析BT 设为C级响应。0 `' `0 r: {, h! v* w4 g: x
4 H6 B7 n* U& @( c" BTCP/UDP) H' X( w( A% D2 x$ f
Src Port: 25000,6881-6889 C级 BT
3 p- N; \& I7 E基于端口协议分析BT 设为C级响应。+ Z8 o ~0 n! P6 |
7 |" E: v8 U2 p7 V( O! I# e% b
TCP/UDP
3 U+ L5 O0 \2 p8 \9 T- HDst Port: 36898-65535 B级 Bulk Traffic; x9 C( B% y) K2 S

/ P: x" ^! F& T% t% u " K; A9 ~$ M1 E: \& S
很多网友说Bulk Traffic这条规划设置后,自己的其它设置都是无效的。其实L7协议是优先执行,且原规则端是1024—65535,通用式控制。所以在这里我调到36898-65535,设为B级。) V0 L4 {5 S- l( u' f% ^
以上的设置完成后,上网与下载BT就两不误了。大家可以根据需要进行调整。: W; s& `$ L4 y, j* H" z/ }# ^, H
Zhuang完成于2008-4-17 部份资料来自网络。! K% i6 n- h) ~3 ]0 v( U _
发布完了,给大家发几张实测图上来:' j0 A9 {- \* a* M1 ?
- s% L$ ]5 K B实时流量图
; r& R% |: n. d$ L: m 8 b: e; k: L# K- \4 B
. b" s8 d+ l Q w! H
24小时流量图
5 ~) d- z. E4 F6 g; G( u4 D 
* ?) D$ {% M- I% [4 g 7 Y; R: O# J" b; z7 ~
连接分布图
7 f" s) ?" j0 h/ y1 A 2 E( a2 V# g3 h+ S
, m3 o6 w1 ]$ {8 N2 V6 o带宽分布图
4 v @5 F4 u$ c" h5 `0 B " Z C& p/ v% c$ L9 J7 {9 w% t0 z
|
|