home | list info | list archive | date index | thread index

Re: [OCLUG-Tech] how can I control network bandwidth usage?

  • Subject: Re: [OCLUG-Tech] how can I control network bandwidth usage?
  • From: Alex Pilon <alp [ at ] alexpilon [ dot ] ca>
  • Date: Wed, 3 May 2017 16:24:29 -0400
On Wed, May 03, 2017 at 01:02:15PM -0400, Peter Sjöberg wrote:
> I'm currently in cottage country and internet here is limited.
> the people and I'm now wondering how it could be fixed.
> Setup is basically
>   bell vdsl modem, wireless router -> unmanaged switch.
>   From the switch it is a copper to fibre adapter and then fibre to each
> cottage.
>   In each cottage it then goes to the phone (voip phone is connected to
> the switch) and on to a wireless router for each cottage.
> Issue is that out here the incoming speed is very low and any cottage
> doing any load kills everything.

So you have a fairness problem, and you probably also have to deep a
buffer, hence the delay even were it fair.

> I have limited network knowledge but I'm thinking of removing the first
> wireless router (which I suspect is from when the pppoe info was
> required outside the modem),

What do you mean? Was the modem in bridge or routing mode? Was the modem
itself configured with the PPPoE credentials or not?

> then put a managed switch in and then a rpi

Uuunh, even though your cottage bandwidth is probably less than any of
the generations of RPis, the Ethernet NIC over the USB bus on a slow ARM
piece of Broadcom junk might introduce *just a little bit* of latency.

> to collect the info so they at least can see what port (=cottage) that
> use most bandwidth.

So you just want to bridge traffic? Some managed switches should be able
to be configured to mirror all traffic to a particular port. Just use
that and plug your laptop in.

> My question is - what things should I look at? I'm guessing it exist
> apps/appliances for this purpose, does anyone know?

Not *necessarily* needed. If the router runs Linux, or all the endpoints
run Linux. Linux QoS traffic control stack is all there is to it really.
All the rest is just a poor Netfilter substitute, or layers of UI and
wrappers. Just use a combination of tbf and fq_codel, or whatever fancy
combination you like if you want to give particular traffic strict
priority, particular weights, etc.

If not running Linux, then whatever your OS is should similarly rate
limit the traffic to just a bit below what upstream *reliably* (not
nominally) provides.

It also helps if all your endpoints' network stacks do fair queueing, so
that applications on the same machine also fairly send traffic to
congestion-susceptible Wi-Fi.

A full analysis of all possible sources of congestion is beyond the
scope of a single email.

Regards,

Alex Pilon