Date: Thu, 26 Sep 2002 15:57:38 -0400 From: mgoward@eviloverlord.org To: freebsd-isp@freebsd.org Subject: Aggregate Bandwidth Control Message-ID: <20020926155737.A28587@staff.msen.com>
next in thread | raw e-mail | index | archive | help
Last night a friend and I where kicking around the idea for a way
to dynamically control the aggregate bandwidth of a customer. After
talking about this for some time, and playing with some code ideas
when i got home, i decided to see what i can put together. I was
hoping for some ideas from this group, as you would be the target
audience.
The basic idea was:
Use ipfw to let me watch the byte count for a given rule, allowing
us to monitor and compute how much bandwidth a user should have any
given moment. Using ipfw will allow us control over protocols,
IPs, ports, ETc. Using this information and user configured options
to be discussed later, adjust a dummynet pipe to control how much
bandwidth the customer can use.
For example, if you have a customer who your sales team have sold
the ability to move 50g of data a month, how do you enforce this?
Do you just set up a dummynet pipe that allow for X K/sec over the
month? I suspect that would annoy the customer. Do you keep track
of how much data they move and just turn them off when they hit
that limit? That does piss them off. A better answer would be to
take hourly, daily, monthly, etc averages of their traffic and
adjust their max throughput dynamically to try and let them have
their connection at the max possible speed at any given moment while
still keeping them under their limit for the month as a whole. As
best i can tell there is just no good way to do this out there right
now.
I was thinking that as the user of this you would want to be able
to control how the traffic is limited, via packet loss or delays.
You would obviously want control over what the monthly/daily/whatever
traffic maxes where. I suspect you would want to set an absolute
max and min bandwidth. It could be set to zero if you want the
customer off when they hit their limit, or you can allow them to
always get a little bit. I may try and create some time stamped
logs of some sort for billing uses.
So, do any of you know anything out there that already does this?
I dont want to duplicate work, as interested as i am in writing
this. As an ISP what other features would you want to have? What
problems can you see that this might cause? Would you use such a
program?
--
Matthew Goward
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020926155737.A28587>
