Vyhrazování pásem - HTB
Martin Lebeda
mlebeda na centrum.cz
Úterý Říjen 12 10:17:41 CEST 2004
hoj lidi,
snažím se vyhradit kanály pro příchozí provoz, ale nedaří se mi. Četl
jsem článek na Root (a předtím jsem zkoušel i CBQ a démona shaperd) i
archív konference. Struktura je jednoduchá - uživatelé protokolu SSH
(a později i telnet a rdesktop) nemají poznat, zda je linka zatížená
a mají mít vždy absolutní přednost před zbývajícím provozem. Pokusil
jsem se to provést pomocí HTB na jádře 2.4.26 a tc utility z
iproute2-ss991023, jenže požadovaný efekt se nedostavil. Sice je
vidět mírné zlepšení, ale odezva na znak je stále asi 1/2sec - to
nestačí, mám 512kbit linku a pokud vyhradím pro výše uvedený provoz
část linky, bez půjčování kapacity, jedou terminály ok.
Moje nastavení síťě (zkráceno):
./tc -s -d qdisc ls
qdisc pfifo_fast 0: dev ipsec0 [Unknown qdisc, optlen=20]
qdisc sfq 20: dev eth0 quantum 1514b limit 128p flows 128/1024
perturb 3sec
qdisc sfq 10: dev eth0 quantum 1514b limit 128p flows 128/1024
perturb 3sec
qdisc htb 1: dev eth0 r2q 10 default 30 direct_packets_stat 160099
ver 3.16
qdisc pfifo_fast 0: dev eth1 [Unknown qdisc, optlen=20]
qdisc pfifo_fast 0: dev tap0 [Unknown qdisc, optlen=20]
qdisc pfifo_fast 0: dev tap1 [Unknown qdisc, optlen=20]
Nastavovací script:
./tc qdisc del dev eth0 root
./tc qdisc add dev eth0 root handle 1 htb default 30
./tc class add dev eth0 parent 1: classid 1:2 htb rate 510Kbit \
burst 15k
./tc class add dev eth0 parent 1:2 classid 1:10 htb rate 256Kbit \
ceil 510Kbit burst 15k prio 1
./tc qdisc add dev eth0 parent 1:10 handle 10 sfq perturb 3
./tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match \
ip sport 22 0xffff match ip dport 22 0xffff classid 1:10
./tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match \
ip dport 22 0xffff match ip sport 22 0xffff classid 1:10
./tc class add dev eth0 parent 1:2 classid 1:20 htb rate 256kbit \
ceil 500kbit burst 15k prio 9
./tc qdisc add dev eth0 parent 1:20 handle 20 sfq perturb 3
./tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match \
ip src 192.168.10.0/24 classid 1:20
./tc filter add dev eth0 protocol ip parent 1:0 prio 5 u32 match \
ip dst 192.168.10.0/24 classid 1:20
Co dělám špatně? Poslední rada kterou jsem dostal od přítele :-) bylo
použij ALTQ na FreeBSD, linux to neumí - je to pravda? Pomohu si
použitím FreeBSD?
--
Martin Lebeda
...nebruc, taky jsi se ucil...
Další informace o konferenci Linux