[LARTC] HTB burstable for 2 interface , how ?

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 > INTERNET
 > |
 > |eth0 202=2E14=2E41=2E1
 > BW=2EManager
 > | |
 > | +----eth1----192=2E168=2E1=2E0/24
 > |
 > +------eth2----192=2E168=2E2=2E0/24
 > 
 > Total incoming bandwidth to eth0 is 1024kbps
 > should be shared to eth1 and eth2, which mean each get 512Kbps and
 > burstable to 1024Kbps if other host is idle=2E

This doesn't make sense to me.
The fact that an internal host is idle does not justify not sending
traffic TO it.

The suggestions to use IMQ+HTB seem to miss the problem that 
if someone sends 1024 to eth1 then nobody has a chance to even
begine to send anything to eth2.

I think you want to allow "borrowing" only as long as the total
incoming rate from eth0 is sufficiently less than 1024 to be sure
that those sending to the lesser used internal interface can speed up.
In effect I think you have to sacrifice some part of your 1024 to make
sure the shaping is done at your machine.  I'm not sure how much you
have to sacrifice.  But suppose it's 24K, so you then have two htb
classes that have rate 500, ceil 1000.  And the parent class also
has ceil 1000.  That's critical.  That means that if we send at full
rate to eth1 then we still have room for someone to start sending to
eth2.  Then when someone does start sending, he initially gets 24K to
eth2.  At that point HTB reduces the traffic to eth1 by 24K in order
to stay below total 1000.  Then the guy sending to eth2 can increase
by 24K which will cause eth1 to drop another 24, etc.
As you can see, the amount you "reserve" (you might say "waste") also
limits how fast the traffic equalizes.  

Does this make sense to everyone out there?


[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux