Hi! We are using linux as our comany internet gateway (snat, kernel 2.4.5) and we would like to prioritize slower connections, i.e. the higher amount of data per time the connection receives (or transmits) the lower priority it should have. We would simply like to put all downloads and big webs to lowest priority, and telnet, ssh, small webs and so to highest priority, but dynamically, depending on connection data usage, not on destination port or anything staticaly defined. Is it possible? And if, how? I could not find anything like that in any document. Thanks, Pete.
> Hi! > > We are using linux as our comany internet gateway (snat, kernel > 2.4.5) and we would like to prioritize slower connections, i.e. the > higher amount of data per time the connection receives (or > transmits) the lower priority it should have. We would simply like to > put all downloads and big webs to lowest priority, and telnet, ssh, > small webs and so to highest priority, but dynamically, depending^^^^^^^^ If you mean share the bandwidth....tc can do that. If you want to set rule dynamically....maybe you will DIY. : )> on connection data usage, not on destination port or anything > staticaly defined. Is it possible? And if, how? I could not find > anything like that in any document.Maybe iproute2 can solve your total problem. You can find the doc in redhat(adv-Routing.HOWTO) or iproute2''s directory. (If you use iproute.x.rpm you will see many test script in ./example directory)
On Mon, 4 Jun 2001 pete@ana.sk wrote:> We are using linux as our comany internet gateway (snat, kernel > 2.4.5) and we would like to prioritize slower connections, i.e. the > higher amount of data per time the connection receives (or > transmits) the lower priority it should have. We would simply like to > put all downloads and big webs to lowest priority, and telnet, ssh, > small webs and so to highest priority, but dynamically, depending > on connection data usage, not on destination port or anything > staticaly defined. Is it possible? And if, how? I could not find > anything like that in any document.It sounds that a token bucket filter (TBF) with low rate and intermediate burst level per connection is the thing you need. But I''m afraid if cou attach a TBF qdisc to a class, it arranges the queueing for all the packets in that class, and it won''t differentiate between the connections. I''m not sure about this, someone who knows better is invited to correct me. Maybe you can achieve a comparable effect splitting the traffic depending on static TCP ports first, and fine tune the setup later ..
On Mon, Jun 04, 2001 at 12:45:59PM +0200, Wingtung.Leung wrote:> On Mon, 4 Jun 2001 pete@ana.sk wrote: > > > We are using linux as our comany internet gateway (snat, kernel > > 2.4.5) and we would like to prioritize slower connections, i.e. the > > higher amount of data per time the connection receives (or > > transmits) the lower priority it should have. We would simply like to > > put all downloads and big webs to lowest priority, and telnet, ssh, > > small webs and so to highest priority, but dynamically, depending > > on connection data usage, not on destination port or anything > > staticaly defined. Is it possible? And if, how? I could not find > > anything like that in any document. > > It sounds that a token bucket filter (TBF) with low rate and intermediate > burst level per connection is the thing you need. But I''m afraid if cou > attach a TBF qdisc to a class, it arranges the queueing for all the > packets in that class, and it won''t differentiate between the connections. > > I''m not sure about this, someone who knows better is invited to correct > me. > > Maybe you can achieve a comparable effect splitting the traffic depending > on static TCP ports first, and fine tune the setup later .. >Yes, from what he wants, he should split telnet/ssh into one section and then use a different scheduler for the web on port 80 443. I don''t remember if TBF keeps tokens for each tcp connection seperate, but if it does, that may prioritize the newer connections (which means all connections will burst, and the bigger ones would slow down after the initial burst). Don''t take my word for it, I''m working from docs that I read about 6 months ago... and I haven''t setup tc myself yet. :( Mike
On Wed, 6 Jun 2001, Mike Fedyk wrote:> I don''t remember if TBF keeps tokens for each tcp connection seperate, but > if it does, that may prioritize the newer connections (which means all > connections will burst, and the bigger ones would slow down after the > initial burst).I think TBF itself does *not* seperate connections in a class, so new connections in the same class will not be prioritized. I presume only the first connection will receive a short burst time, but all other have to live with the slow rate. A possibility to attach a seperate TBF to each connection sounds attractive, but on the other hand, it would request much more processing power.