QoS - split bandwidth across all IPs during high load

We have a Linux-based router which is currently working fairly well, but our network only has a 1.5 mbps incoming connection. The network is small, but during high load periods some systems can end up dominating the bandwidth. For example, a client downloading a file can easily saturate the connection leaving everyone else with barely any access to the outside world.

Naturally, I'd like to fix this. I believe a combination of iptables rules and tc is in order, but I have no idea how to go about distributing the bandwidth evenly across the clients.

It would be nice if there was a way to divide the bandwidth only across clients that are actually utilising the connection as well, rather than hard limit each connection to (bandwidth / number of clients).


If it's web traffic, you're talking about, Squid can do this. It can restrict the max bandwidth for all users and the max bandwidth per user.

I implemented this solution to fix this exact problem.

If you ever want to use something else, do not use tc. It's a mess. Use OpenSolaris and flowadm which is muuuuch simpler.

Here is something that looks like the scripts I used once:


Category: linux Time: 2010-04-24 Views: 1

Related post

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development


Front-end development


development tools

Open Platform

Javascript development

.NET development

cloud computing


Copyright (C) avrocks.com, All Rights Reserved.

processed in 0.248 (s). 12 q(s)