Re: help on ADSL shaping

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



jakob@xxxxxxxxxxxxxxx wrote:

jakob@xxxxxxxxxxxxxxx wrote:



Hi
I have read the howto on qdisc's a few times but I cant figure out how to
use the shaping capabilities to serve my needs. In the village whera I
live we have created a wireless local network consisting of 10 houses.
One
of these houses has an ADSL connection and services this connection to
the
other houses. To gain access to the network a member must have an
accesspoint in client mode, the idea is that if each house has to use a
certain accesspoint (with a specific known ip address) to access the
router then it must be possible to shape the traffic so no single house
can dominate the out (and thus the incomming) traffic.

The configuration:

House with ADSL:                    A client house:
                      ((o))       ((0))
                        |           |        (Known ip)
------------  eth0   ----|           |----     --------
|Linux router|-------| AP |           | AP |---| router |
| SuSE 8.2   |        ----             ----     --------
------------                                    |     |
    |                                     ------    ------
eth1 |                                    | PC 1 |  | PC 2 |
    |                                     ------    ------
__--__--__
| Internet |
----------

One house might need to connect 1 PC another house 3, but I need to be
sure that one house doesn't swallow the whole bandwidth. Is this
possible?

Best Regards
Jakob Simon-Gaarde


_______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/




Hi,

You can use the tc program, and htb qdiscs to ensure that people are
guaranteed some bandwidth, so that one host cannot dominate the
network.As it is the Internet link that is the weak point, you need to
shape at the gateway.

I am currently working on a script that deals out the bandwidth evenly
amongst hosts, so that when only one host uses the link, it gets full
speed, but if two are on it is 50/50, and so on. I hope to have it
finished in a month or so. Maybe you can use that

Also, if it is p2p traffic you are worried about, you could try the
p2pshaper. I posted a link in a earlier post.



That sounds very cool (and fair :) ) how do you plan to detect how many
hosts are using the gateway? idle traffic or ping-like check? Some clients
may have a hardware router on the other end so it is allways on-line
though maybe being idle for hours.
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/


At first I was thinking of making a patch to the linux kernel. That would be the "right" way of doing it. But it also requires people to patch kernels, and I'm not that much into kernel hacking at the moment.

So actually, I just create a huge HTB tree and make rules for each host (hosts should be in the 192.168.0.1 - 192.168.0.255 range) that puts them into priorities according to how fast they are downloading. Fastest downloaders gets least priority. If I am not mistaken, this will make the bandwidth split very fair, because each host will be ensured at least their fraction of the bandwidth, while the others can borrow if you dont use your share. It might seem a bit cruel to make about 8 rules for each of the 255 hosts, but if it just works, it might not be so big a problem. AFAIK, most routers are doing nothing anyway, and can spare the extra cpu-cycles. And maybe it can be made smarter by using massive filtering. I will include some more documentation when I have completed the script.

cheers,
 Nikolaj Fogh
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux