Re: Fair Queuing

Linux Advanced Routing and Traffic Control

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

 



On Saturday 23 November 2002 06:58, ajay@movingdelhi.org wrote:
> Thanx, I managed it to get the basic script working but the result IS NOT
> satisfactory. What is happening is this:-
>
> When any user (ex 192.168.0.4 in my script) starts to download a file
> (Download1) after a while it settles down to the alloted bandwidth 32kbps.
> If he puts another download (Download 2) after a while  it occupies
> approximately half of the total bandwidht alloted to 192.168.0.4.  So far
> so good.....
> NOW, when the user(192.168.0.4) cancels any one of the downloads (Say
> download 1) the other download (download 2) takes a very long time to grow
> up to the total alloted bandwidth i.e 32kbps.
>
> Why is that happening?
I'm not sure, but when the scond download is started, both ends of the 
connection are using as much bandwidth as possible untill packets are 
dropped.  If the connection has suddenly more bandwidth because the other 
download is stopped, it takes some time before both ends of the connection 
realize this.  And when they do so, they are trying to push again as much as 
possible untill they are throttled to 64kbps.  I think that's the way how tcp 
is handle the bandwidth limitaion.

> I can't figure it out. Could SFQ Help?
Not really.  SFQ give each data stream the same opportunity to send something.  
If one of the streams is gone, the other can send all of the time.  But you 
can try to add one to see what happens.

> ___________________________________________________________
> /sbin/tc qdisc add root dev eth1 handle 1:0 cbq bandwidth 10Mbit avpkt 1000
> /sbin/tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 10Mbit
> rate 256Kbit allot 1514 bounded
> /sbin/tc class add dev eth1 parent 1:1 classid 1:2 cbq bandwidth 256Kbit
> rate 32Kbit allot 1514 bounded
> /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src
> 192.168.0.4 flowid 1:2
> /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst
> 192.168.0.4 flowid 1:2
> ________________________________________________________________
bandwidth is always the nic bandwidth so 10Mbit.
And shaping on eth1 is shaping all the packets that are leaving eth2.  So the 
usung src and dst in 2 filters is useless.  The src filter will never match.

Stef

-- 

stef.coene@docum.org
 "Using Linux as bandwidth manager"
     http://www.docum.org/
     #lartc @ irc.oftc.net

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/


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