From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oki DZ okidz@telkom.net Date: Wed, 17 Jan 2001 04:22:37 +0000 Subject: [LARTC] Limiting bandwidth according to certain protocols Message-Id: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lartc@vger.kernel.org
Hi,

I'd like to create some bandwidth limiters on a server with the 
following typical configuration.

Server
/------------------\
128Kbps  |                  | 10Mbps
[Internet]----------|-[eth1]----[eth0]-|----------[Internal LAN]
| [Squid]          |
\------------------/


I have Squid running on the server.
I'd like to provide a higher priority for users that use POP servers 
somewhere on the Internet than those who use the web proxy; I mean, 
anyone that connects to port 110 on some servers on the internet will 
have higher priority compared to those who use port 80 (my Squid 
connects to its parent on port 80). So that anyone could be retrieving 
their emails faster when the line is currently busy serving the web 
users' requests.

As I understand it, you can limit the bandwith for outgoing traffic; so 
on the example above, limits apply for eth1-->Internet and 
eth0-->Internal LAN. My question is: how do you limit the bandwidth for 
the return packets (i.e.: the responses of the packets that once were 
requested by the web users).

So, what I'd like to do is to let the (proxied) web users to use the 
available outgoing bandwidth for the requests, but when the response 
packets return, those packets should be delivered according to some 
limits and should have lower priority compared to the returning POP 
packets.

How can I accomplish this using ipchains, ip, and tc?
BTW, explanations would be sufficient; I will look up the man pages for 
implementing the explanations using those commands.

Thanks in advance,
Oki