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