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