HTB.init pro oko odborníka
Michal Novak
m.novak na prodiliste.cz
Pondělí Leden 9 14:47:49 CET 2006
Michal napsal(a):
>
>>Postni sem co vyhodi script - htb.init compile, pripadne co se skutecne
>>pouzije - tc class ls, tc filter ls ...
>>Takto to vypada OK, jen bych CEIL omezil na min(440 - 450) kvuli latenci.
>
>
> ... a RATE.root taky na 440 nebo dát 512?
>
> /sbin/tc qdisc del dev eth1 root
> /sbin/tc qdisc add dev eth1 root handle 1 htb default 999
>
> /sbin/tc class add dev eth1 parent 1: classid 1:2 htb rate 440Kbit burst 15k
>
> /sbin/tc class add dev eth1 parent 1:2 classid 1:10 htb rate 220Kbit ceil 440Kbit burst 15k
> /sbin/tc qdisc add dev eth1 parent 1:10 handle 10 sfq perturb 10
> /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.182 classid 1:10
> /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.197 classid 1:10
> /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.246 classid 1:10
> /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.221 classid 1:10
>
> /sbin/tc class add dev eth1 parent 1: classid 1:999 htb rate 220Kbit ceil 440Kbit burst 15k
> /sbin/tc qdisc add dev eth1 parent 1:999 handle 999 sfq perturb 10
>
> Díky moc
Vypada to OK, zkus to pridavat postupne ruco a sleduj co se deje s
rychlosti, mozna ti to na necem padne s nejakou chybou. Predevsim over,
ze ti ti 4 vyvoleni opravdu spadnou do class 1:10.
Jinak zauvazuj nad pouzitim esfq do obou vetvi, umi rozdelovat podle IP
a ne podle konexi, pripadne to muzes obejit tak, ze pro kazdou IP
napises pravidlo zvlast.
K rychlostem a latenci: Jde o to, ze nejakou dobu trva, nez shaper
zareaguje pri dalsim pozadavku. Tudiz je vhodne aby maximalni rychlost
pro pravidlo byla vzdy < a je pak kde vzit pasmo na ten moment dulezity
pro latenci.
Lepe asi priklad: rychlost linky 512 => ethX omezim na +-480(zalezi na
chovani, je treba otestovat). Linku rozdeluju treba pro 2 skupiny 1:1 =>
kazda skupina bude mit max 460. Skupina 1 ma X IP => kazda IP bude mit
max +-440(pravidlo pro kazdou IP zvlast). Dosahnu tak toho, ze kdyz
budou dve IP stahovat tak budou mit dohromady 460, ale kdyz se pripoji
treti, bude mit stale jeste dobrou latenci. Ale jak rikam, je to trocha
alchymie a zalezi na chovani stroju na te siti jak moc nechavat rezervy.
Pri cleneni do vice urovni je to slozitejsi. Obecne je vzdy dobre
nastavovat maximalni rychlost jednotlivych uzlu < nez je celkova
rychlost vetve.
MN
Další informace o konferenci Linux