找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16354|回复: 5

[教程] 第三方固件:番茄TOMATO固件设置进一步QOS优化小数据优先

[复制链接]
发表于 2010-1-14 23:52:38 | 显示全部楼层 |阅读模式
网游的数据包尺寸在128byte以下的数据包占了多数,也就是说网络游戏和web网页的数据包& j+ e: _; e6 p" }6 ]
多数都是小包。
/ A" Y+ C- V4 C9 ]2 N其实,很多关键的数据包,比如dns,tcp的syn数据包等都是“小包”。
- }& }) `6 y4 f; x4 W由此想到,可以把在QOS中把小包单独分为一个子类,并且给予最高的优先级。
  W; k- I) K) H  ?( Y2 T" F
2 K% H4 e' K' ?/ z, K9 v9 A下面是一个脚本范例。8 Q* `& e) H: b$ H7 q  J
环境:dualwan,关闭web界面的所有QOS设置(不然有冲突),一条2MADSL,4PC。7 }; V2 G' |4 \
目标:192.168.1.2--192.168.1.5所有IP限制下载1200kbit/s,上传200kbit/s,且使得“小包优先”。
6 e% [+ T7 m# R0 Z我所选择的“小包”是小于512byte的包。 modprobe imq  L" r# m$ R" ~: |

5 ]- z# j  z5 _! Hmodprobe ipt_IMQ0 I1 o/ w) s' F; m1 l
& t9 t* F1 T7 S) ?" x
ifconfig imq1 up6 s# R6 Y' z- A4 {8 w+ e, d

1 e; w, q) P$ P/ Y9 f" n, Jifconfig imq0 up
4 G4 L% a! I: F3 n; S* f. K' W
" v; L! K. o4 a6 j6 niptables -t mangle -A POSTROUTING  -o br0 -j IMQ --todev 0& ^4 w) P/ x) J' f  j

% E' P  a* L7 c0 k& C% ^5 Z6 @iptables -t mangle -A PREROUTING  -i br0 -j IMQ --todev 1
# \0 z% Q3 z$ p" e3 n) `
& ]* b" u, u* m( @* r) [
0 R9 J: ]/ z1 A0 [& T2 }) n- `2 \0 B: h& F" _: v' Z. G# h
modprobe /lib/modules/2.4.37.6/kernel/net/ipv4/netfilter/ipt_length.o 0 f9 O% W* [! X

  R& ?1 Y; f2 Q# n! z: ~! r* Diptables -t mangle -A POSTROUTING  -p all -m length --length :512 -j MARK --set-mark 99/ I; m# z3 g8 ~/ d( z( K( K
$ R# v2 I2 `* L6 w7 ^# q" e
iptables -t mangle -A PREROUTING -p all -m length --length :512 -j MARK --set-mark 99- u" D0 B$ @' R& J

8 ]7 [' \2 {' m2 v
$ ]' a* l8 A4 I# o# R* F% w; S! `* U$ P8 }9 ?! l0 U# h
tc qdisc del dev imq0 root
; |9 \3 R% c8 a( z+ {1 b$ @
1 \) {- e" z- A5 l: ^; i$ ]/ _/ ytc qdisc add dev imq0 root handle 1: htb
4 Z6 O  H- f" `: l8 x7 `$ M9 ?. C+ F
- j- U! ]- N: i0 ?$ [! Y# Ltc class add dev imq0 parent 1: classid 1:1 htb rate 1600kbit
$ z' Z( M/ H; g4 ~$ [2 G2 h9 l9 S$ M/ D# A0 S- ?
tc class add dev imq0 parent 1:1 classid 1:10 htb rate 200kbit ceil 1200kbit prio 20 \- b. N- K; x* n1 c8 o5 m
7 p* A7 I) Q- k* f# k& z! z
tc class add dev imq0 parent 1:1 classid 1:11 htb rate 200kbit ceil 1200kbit prio 2
: C2 @" D' o  s6 I9 F) ^6 w4 q# b8 C, U! y4 ^
tc class add dev imq0 parent 1:1 classid 1:12 htb rate 200kbit ceil 1200kbit prio 2' U" ]% N7 B. J9 K' v/ H9 ^: L- v; s
) r& J5 u, A& z5 Z, S9 F
tc class add dev imq0 parent 1:1 classid 1:13 htb rate 200kbit ceil 1200kbit prio 2
* f# G8 H; d+ ]3 F/ F7 l. `
2 Z# ], }/ x4 O0 Otc class add dev imq0 parent 1:1 classid 1:99 htb rate 400kbit ceil 1000kbit prio 0/ i4 h4 u. f: {

4 m( t3 V% d9 Z- h9 otc qdisc add dev imq0 parent 1:10 handle 10: sfq perturb 108 W# O7 o( l) j# t/ a

8 h1 p  {# |8 I$ Mtc qdisc add dev imq0 parent 1:11 handle 11: sfq perturb 10
2 j0 q/ ]# C' E/ d7 A- e" a
+ J% [; n# q' J# F# i6 @tc qdisc add dev imq0 parent 1:12 handle 12: sfq perturb 100 K5 ?: H0 y1 T& ?& {, S# C: H5 _

( {! ?; M( P3 X2 l0 A- wtc qdisc add dev imq0 parent 1:13 handle 13: sfq perturb 105 S: a* t$ `" h6 y) Q: D# X

1 H4 j, w1 Z3 E' f9 g7 d; F9 ^tc filter add dev imq0 parent 1:0 protocol ip handle 10 fw flowid 1:10- w& c- O: c6 A

* e  y5 T! i+ atc filter add dev imq0 parent 1:0 protocol ip handle 11 fw flowid 1:113 B' B" E1 _5 ?# P7 Y
5 C7 K! o1 f! l; t4 b8 j
tc filter add dev imq0 parent 1:0 protocol ip handle 12 fw flowid 1:12* I  [; x: y+ f' Y5 y
( F& U3 K: {" s/ _5 B' y
tc filter add dev imq0 parent 1:0 protocol ip handle 13 fw flowid 1:13. Y8 i: ^) w, e

  y5 e) U: Z; q$ a7 r# t/ m. `tc filter add dev imq0 parent 1:0 protocol ip handle 99 fw flowid 1:999 r5 l* W. H: _9 b( R- ^5 ~

0 T' q! u+ Q( m& Jiptables -t mangle -A POSTROUTING -d 192.168.1.2 -j MARK --set-mark 104 V1 ^, p9 m, X* e6 v3 Y9 B6 b
* g4 B( M: w  \: O
iptables -t mangle -A POSTROUTING -d 192.168.1.3 -j MARK --set-mark 11
3 w" |8 F/ U& t, l: _* ?6 A, ?4 W  h
iptables -t mangle -A POSTROUTING -d 192.168.1.4 -j MARK --set-mark 129 L2 l, p* h  {8 H2 {& n) K, w
  f5 O4 K9 H' H
iptables -t mangle -A POSTROUTING -d 192.168.1.5 -j MARK --set-mark 13$ a3 d/ [0 J; X& W- X
; v# c* n5 R9 t' G, r% m! G

- X# {7 {! p8 ?: b# M& _+ @) j1 R* H7 I$ Z
tc qdisc del dev imq1 root
% j! ~  f5 }6 r1 W5 y
0 q1 x( s% m2 \; X1 S( Vtc qdisc add dev imq1 root handle 1: htb
: W; X$ P( E: k6 h* I1 T: |* B% m  t+ d; R9 T8 V. w( U: _
tc class add dev imq1 parent 1: classid 1:1 htb rate 320kbit
8 H& v8 S" v$ [& X' t5 A
. _0 f4 z# Y2 F) S# X; itc class add dev imq1 parent 1:1 classid 1:10 htb rate 20kbit ceil 200kbit prio 21 s  ]2 u$ U" v+ A# Q
& @9 d' q- ^- ^- c* Z
tc class add dev imq1 parent 1:1 classid 1:11 htb rate 20kbit ceil 200kbit prio 2* \7 i- l. r- y6 n1 @' {
7 e' E- e8 D- S5 \% {
tc class add dev imq1 parent 1:1 classid 1:12 htb rate 20kbit ceil 200kbit prio 2
& H) x4 _/ u# ]6 l5 @4 F' k4 n; F- L3 T& E
tc class add dev imq1 parent 1:1 classid 1:13 htb rate 20kbit ceil 200kbit prio 2
1 a. v# ^" k+ X0 {' o" E
" T0 k0 w3 T" ]) t: e! I( otc class add dev imq1 parent 1:1 classid 1:99 htb rate 100kbit ceil 200kbit prio 0
$ |; R2 Q/ O: ]7 h* H) H
2 ?# b; b. v1 }% otc qdisc add dev imq1 parent 1:10 handle 10: sfq perturb 109 C; C# z/ p1 b2 A

# R/ F: A0 n1 Y& J$ k5 qtc qdisc add dev imq1 parent 1:11 handle 11: sfq perturb 102 p$ M( H% M1 C- i4 Y
9 F; @+ O5 X# ~4 d: F+ \
tc qdisc add dev imq1 parent 1:12 handle 12: sfq perturb 10! I) [" h9 H7 p/ o- {3 c, x

5 S3 a; p2 o0 G$ b5 P) t% F1 ftc qdisc add dev imq1 parent 1:13 handle 13: sfq perturb 10
' X8 g4 u- s, P3 X1 \: @% N! L. t$ y* m9 w
tc filter add dev imq1 parent 1:0 protocol ip handle 10 fw flowid 1:10
* k0 W+ E! Q- b" y2 a
2 f' @# N  B0 ~( Utc filter add dev imq1 parent 1:0 protocol ip handle 11 fw flowid 1:116 v& s7 C: I# O
% d# S: `9 p" t
tc filter add dev imq1 parent 1:0 protocol ip handle 12 fw flowid 1:12
6 ?3 f6 d+ s" F  `- l  {5 `
" K" l# w$ x  X; A3 wtc filter add dev imq1 parent 1:0 protocol ip handle 13 fw flowid 1:13  d3 j1 N  v2 W! m* K

8 z! Z1 t4 A, k/ K% \/ U0 Ttc filter add dev imq1 parent 1:0 protocol ip handle 99 fw flowid 1:993 \8 q# v5 U/ v1 V( V9 P; J$ h7 l1 Q

8 Z% G1 I8 O- B: z% Riptables -t mangle -A PREROUTING -s 192.168.1.2 -j MARK --set-mark 106 M: Y9 N% D" P; @1 J! J
$ j! N# s% h: W& y5 r
iptables -t mangle -A PREROUTING -s 192.168.1.3 -j MARK --set-mark 11  @+ d0 C$ H. o' v, r9 @( S

3 y$ k( }- ~" d5 j/ `iptables -t mangle -A PREROUTING -s 192.168.1.4 -j MARK --set-mark 12
9 ~. Y( d+ t: ?2 D! A  y# K' [+ t: {" T, x" Y
iptables -t mangle -A PREROUTING -s 192.168.1.5 -j MARK --set-mark 13
( R8 c$ E" z" Z, @复制代码把脚本放在防火墙脚本里面,重起路由就OK。* Y+ V6 _$ t; O
效果:单机疯狂下载,但是打开网页还是很流畅。玩网络游戏也不卡了。
发表于 2010-1-26 20:48:08 | 显示全部楼层
大哥呀,要怎么样才能看懂你的这些设置呀。
发表于 2010-1-27 11:34:05 | 显示全部楼层
好牛哦{{gangzai17{{
发表于 2011-3-29 11:38:44 | 显示全部楼层
开PPS就不信管理
发表于 2011-3-29 12:11:44 | 显示全部楼层
回复 YES东 的帖子9 L3 N1 R  b0 c& R) n1 K9 \

0 H# c; E# X* w/ l* _楼主  你好 我在你的店里买了上海 235元的那个无线路由,我希望在看网络电视,下迅雷和BT的同时可以玩网游和看网页流畅,求教程   教程区里面的教程貌似不行的
发表于 2011-4-2 19:01:05 | 显示全部楼层
路过帮顶!!!!!!!!
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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