[ previous ] [ next ] [ threads ]
 
 From:  "Peter Parnican" <peter at procad dot sk>
 To:  "Gerry Weaver" <gerryw at ctwa dot com>
 Cc:  <m0n0wall at lists dot m0n0 dot ch>
 Subject:  Re: [m0n0wall] Bandwidth Limiting
 Date:  Sun, 7 Nov 2004 11:18:44 +0100
Hi, hope this example will help you:

------
ISP = m0n0 <   PC2 - 100Kb (my notebook - for work and chess)
                         PC1 - max. bandwidth 56Kb (neighbour playing silly
net games:-) )

If Im not connected I DON'T  want him used whole bandwith , only 56Kb
(he is paying just 1/4 of cost).
----

> You need to create 4 distinct pipes (2 download + 2 upload) with (at 
> least) 8 queues and 8 rules with appropriate weight and bandwidth 
> settings (1/4 and 3/4 of total bandwidth if I understand well your 
> situation). See below:
> 
> User 1:
> 
> -> Pipe 1 = 3/4 of total upload bandwidth
> 
>    -> Queue 1 = High Priority Upload (weight = 90)
>       ->  rules for ACK Priorization
>           + traffic you want to priorize (DNS + ...)
> 
>    -> Queue 2 = Low priority Upload (weight = 10)
>       ->  default (catch-all) rule for all other traffic
> 
> -> Pipe 2 = 3/4 of total download bandwidth
> 
>    -> Queue 3 = High Priority Download (weight = 90)
>       ->  rules for ACK Priorization
>           + traffic you want to priorize (DNS + ...)
> 
>    -> Queue 4 = Low priority Download (weight = 10)
>       ->  default (catch-all) rule for all other traffic
> 
> User 2:
> 
> -> Pipe 3 = 1/4 of total upload bandwidth
> 
>    -> Queue 5 = High Priority Upload (weight = 90)
>       ->  rules for ACK Priorization
>           + traffic you want to priorize (DNS + ...)
> 
>    -> Queue 6 = Normal priority Upload (weight = 10)
>       ->  default (catch-all) rule for all other traffic
> 
> -> Pipe 4 = 1/4 of total download bandwidth
> 
>    -> Queue 7 = High Priority Download (weight = 90)
>       ->  rules for ACK Priorization
>           + traffic you want to priorize (DNS + ...)
> 
>    -> Queue 8 = Normal priority Download (weight = 10)
>       ->  default (catch-all) rule for all other traffic
> 
> 
> Of course, each rule must be linked to the corresponding queue and each 
> queue must be linked to the corresponding pipe.
> 
> Nota: the problem with this type of setup is that you can't "borrow" 
> bandwidth from another pipe (because of how dummynet works), whereas you 
> can "share" bandwidth between users belonging to the the same pipe (the 
> mask parameter makes possible to share bandwidth evenly). This means: 
> even if your neighbour "consumes" nothing in his pipe, you won't be able 
> to use his 1/4 of bandwidth...
> 
> As a starting point, I would suggest Adam Nelleman's Traffic shaper 
> "Manual" at:
> http://m0n0.ch/wall/list/?action=show_msg&actionargs[]=35&actionargs[]=88
> 
> If there's only one user in each pipes set, I think the only thing you 
> have to care of is the the TCP ACK priorization.
> 
> See: http://wiki.m0n0.ch/wikka.php?wakka=NineTwo
> 
> If you don't want to create all this stuff from zero, another approach 
> would be to use the Magic Shaper Wizard to generate rules and queues for 
> you and then duplicate them into a second "set" and finally assign each 
> set of rules and queues to a different upload/download pipe pair.
> 
> This can be easily done by editing the contents of the config.xml file. 
> If you do copy/paste, don't forget to re-number the rules and the queues 
> (<targetqueue> and <targetpipe> values) for the second user's set.
> 
> Hope this helps...
> 
> -- Vincent


----- Original Message ----- 
From: "Gerry Weaver" <gerryw at ctwa dot com>
To: <m0n0wall at lists dot m0n0 dot ch>
Sent: Sunday, November 07, 2004 11:02 AM
Subject: [m0n0wall] Bandwidth Limiting


> Hello All,
> 
> I have a network with 45 users sharing a 1.5mb connection. I need to 
> limit bandwidth on a per user basis depending on job function. If I 
> understand correctly, this would mean creating 45 pipes and rules. Could 
> anyone give me an idea about how well this would work? I'm concerned 
> that the overhead would be too high.
> 
> Thanks,
> -G
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: m0n0wall dash unsubscribe at lists dot m0n0 dot ch
> For additional commands, e-mail: m0n0wall dash help at lists dot m0n0 dot ch
>