Some resources on various systems for controlling bandwidth usage, especially on Linux routers.
A good starting point is the Advanced Routing & Traffic Control page at http://lartc.org/
This script can be run on firewalls that use a Cable or ADSL modem. With these modems, there is a common problem that when the upload connection is being utilized to its fullest extent, latency drastically increases and the downloading capabilities decrease. WonderShaper resolves this by setting up packet queues on the Linux system instead of letting the modem do it using hardware queues.
Something interesting I found at the LinuxFest 2003. --Wim
This morning I was wondering why in the world surfing was slow. Eventually (after I woke up a little bit more) I remembered that a couple nights ago I was doing some mucking around with CBQ. I had configured a rule for "shape everything to 128k" using CSM, saw that it worked, then from the command line deleted the queuing discpline from the eth0 and eth1 interfaces. Of course, after a reboot of the Firecard Plus, which happened last night, it went back to the slow rate :-(
Speaking of which, my bandwidth shaping foo seems rusty. I couldn't figure out how to shape bi-directionally on a single interfaced (eth0) system. No matter what I tried, I could only shape in one direction. So SCP on the LAN would be slow one way, but not the other.
One day I'd still like to build a nice GUI for tc. The one in Inferno/CSM was "simple". Because of it's simplicity it isn't really accurate and definetly doesn't tap into what CBQ and the other traffic control modules are capable of.
Here's a neat little graph and explanation of why it can be really beneficial to do some slight traffic shaping on a dialup/isdn/cable/ADSL connection's out going traffic: http://homepage.ntlworld.com/j.buchanan/limiting-eg.html