HTB na pomalej linke

Milan KUNDRAT mkundrat na penguin.cz
Úterý Březen 2 17:45:33 CET 2004


Dobry den

Mam 128kbit linku pripojenu k internetu. Ta je rozdelena na dve 32kbit a jednu 
64kbit linku. V kazdej linke je 8 pocitacov, ktore su pripojene cez wireless 
karty. Na shapovanie pouzivam HTB v jadre 2.4.22, iproute 20010824-11

Tu je utrzok zo shapera
tc qdisc add dev $ETH root handle 1:0 htb
tc class add dev $ETH parent 1:0 classid 1:1 htb rate 128kbit
tc class add dev $ETH parent 1:1 classid 1:2 htb rate 32kbit
tc class add dev $ETH parent 1:1 classid 1:b htb rate 32kbit
tc class add dev $ETH parent 1:1 classid 1:14 htb rate 64kbit

tc class add dev $ETH parent 1:2 classid 1:3 htb rate 4kbit ceil 32kbit
tc qdisc add dev $ETH parent 1:3 handle 3:0 sfq perturb 10
...

Ked idu na net taki traja, tak je vsetko v poriadku. Problem je, ked idu 
vsetci naraz, tak im to nenatiahne stranky - vyprsia timeouty. Prevadzka nie 
je plynula.

Pocitac v 32kbit ma rate 500 bajtov. MTU na sietovke je (defaultne) nastavene 
na 1500 bajtov. Neviem presne ako funguje HTB. Je mozne, ze pri zatazeni 
linky vsetkymi pocitacmi shaper bude odmietat pakety vacsie ako tych 500 
bajtov nastavenych v rate? Ze vlastne dva pocitace odmiente, treti preto 
ziska + 1000 bajtov a moze poslat svoj paket zatial co prvym dvom bezi 
timeout na odpoved o prijati tcp paketu?

Ked som spravne pochopil, tak quantum sa vyuzije vtedy, ked je nevyuzita 
kapacita linky a je posielanych viac dat, nez je uvedene v rate, je to 
bajtoch a nema byt mensie nez mtu. Ze sa vlastne po quantach doplnuje neuzita 
kapacita.

Na tom staviam a mam taketo 2 otazky: 
1. Ako spravne nastavit HTB pre taketo pomale linky? Velmi do toho nevidim, 
ale rozmyslal som nejak takto:
- nastavit na sietovke MTU na velkost minimalneho rate (500 bajtov)
- quantum nastavit na velkost MTU
- nastavit r2q na1 (rate / quantum)
tc qdisc add dev $ETH root handle 1:0 htb r2q 1
tc class add dev $ETH parent 1:2 classid 1:3 htb rate 4kbit ceil 32kbit 
quantum 1

2. Nech 64kbit a jedna 32kbit linka nevyuzivaju svoju kapacitu uplne. Chcel by 
som, aby ta druha 32kbit linka mohla vyuzivat ich volnu kapacitu. Inymi 
slovami: mozem pouzit ceil na triedu, ktora ma dalsie podtriedy? napr.:
tc class add dev $ETH parent 1:1 classid 1:2 htb rate 32kbit ceil 128


Nemam moznost komunikovat s ludmi, ktori su na tie linky pripojeni, preto 
velmi neexperimentujem s nastavenim. Ohlasy na kvalitu spojenia sa ku mne 
tiez nedostavaju velmi rychlo ... Preto som sa najprv chcel poradit bez 
skusania.

Mozno je problem s plynulostou v niecom uplne inom. Neviete mi, prosim, s 
tymto niekto pomoct?

-- 
Milan KUNDRÁT

Email: mkundrat na penguin.cz
Icq: 172420788
Tel: +421/904/496 438



Další informace o konferenci Linux