Re: Shared ADSL SHAPER

Linux Advanced Routing and Traffic Control

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

 



Rasmus Melgaard wrote:
Hi,

I'm trying to make a shaper / firewall to improve sharing of bandwidth on a ADSL (3mbit down / ½ mbit up)

Since the ADSL is very asymmetric, down is unimportant, I make a ingress rate limit shaper to ensure, all shaping is at the Shaper, and not on the Router or the ISP.

The Idea is then to make one HTB hierarchy and have each client (IP) filtererd and put in a child-HTB queue. This is the main idea, I have added prio to each HTB-child to keep priorities for each client.

I currently use a reduced setup with total-uplink limited to 160kbit, and i run first the firewall script (first) and then the Shaper script, below.

The problem is know that if a take Azureus, bittorrent client, and let it go (no uplink limitation), it now kills its own downlink speed. If I limit the uplink speed in Azureus the downlink will grow again, it is quiet obvious. I've tried adding some trick from the net, to especially improve ACK performance, but it hasn't helped.

I haven't checked the script but assuming it's OK I think that this could be fixed - I use the python client and it seems OK.

When you back off you will get fairness from the client - so you should use sfq.

You will need to priorotise small packets - I use < 128.

You also need to limit the length of the sfq to say 20 - 30 so that you get plenty of drops and less acks for the download get piggybacked on the upload packets - bittorrent uses tcp full duplex which makes it a bit of a special case for shaping.

Always remember that unless you patch/use overhead parameters that you need to back off from the advertises link rate.

Andy.
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

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