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>