Monitor And Manage Your Bandwidth Per Device
Gargoyle To The Rescue
With very few exceptions if you have access to the internet it has some kind of usage limits on it. Some have a regular cap that if exceeded will cut off your connection, slow your speeds, or in some cases start charging you extra fees for the overage. Even if you don't have any direct usage limits there may be a “soft cap” in place, that if consistently exceeded will cause your account to be at least reviewed, and in some cases even suspended. For most people monitoring your usage can be complicated and if the provider does offer any tools to view usage they can be slow in updating or even wildly inaccurate. All this can create quite a bit of stress and if charged for overages it can get expensive quite fast as well.
Fortunately you aren't limited to only using the tools that your provider offers to monitor your usage. There are quite a lot of programs out there that will work fine for a person using just a single computer on their connection. If however you have other devices which also share the connection then no program will be able to account for the usage from other devices and this method becomes all but useless. If you have multiple computers or other devices in your home you need to monitor the usage at the router for it to be accurate, and ideally you need a way to limit it from there as well. Sadly these features are not included in any consumer level router I could find.
While the routers available don't actually have this feature, a surprising number of them are capable of doing it, just the software they run doesn't have it. While scouring the net to find a way of at the very least reliably monitoring my household's bandwidth usage I found a way to update many different routers with totally new software that is absolutely free and will show surprisingly detailed usage information. It will also let you set your own caps for each device in your network, or even for the entire connection as a whole. As if that wasn't enough it also includes QOS features that let you for instance set any VOIP traffic to be higher priority so downloads won't affect your call quality.
The software I found is called Gargoyle and is a replacement firmware designed to replace the built in code that drives a number of different routers. They have versions for many different types of routers available, though the list is far from all inclusive. Your router has to have a certain level of hardware inside to be able to handle all that Gargoyle is capable of, and be one of those that the developers are writing code for. If the router you are already using is supported then you are halfway there, otherwise you will need to acquire one that can run Gargoyle in order to use it. Finding a router to use shouldn't be hard, and if the prospect of doing the update yourself seems daunting, they do offer a few different routers for sale on their page that include the update pre-installed, so that your router will be running Gargoyle the moment you take it out of the box.
General Usage Stats
Whether you choose to get a router and update it yourself or purchase one with it pre-installed when you login to Gargoyle's web interface you will see a summary of basic info about your current setup, and a menu to the left of sections where you will find much more information and the various settings that you can change. If your only goal was to be able to access an accurate and realtime display of the bandwidth you are using across the entire network the you can stop here. Once you are using a router with Gargoyle firmware installed on it all the information you could ask for about your usage is easily available.
Under the Status / Bandwidth Usage you will find graphs showing current usage as it happens. Also if you scroll farther down the screen there is a table that just shows the raw numbers. You can change the select what timeframe to display from minutes, quarter hours, hours, days, or months. However your connection is limited you should be easily able to see your usage for the time period important to you with just a few clicks. If you want to pull this data into a spreadsheet and work your own mojo with how it is displayed that is accommodated as well. There is a button at the bottom of this screen to download the bandwidth data in the form of a comma separated text file, which you can load into any spreadsheet program you want.
Usage By Device
Knowing your total usage is quite useful, but if you went to all the trouble to get a special router to manage your bandwidth you most likely have several devices on the network and would need to know where the biggest usage is coming from. This information is found under Status | B/W Distribution. Here you will find all usage for the timeframe you select broken down by device. This makes it very easy to detect any bandwidth hogs on your network so you can limit them if needed.
In the screen shot to the right you can clearly see the host "Collective" uses by far the most bandwidth. In this particular case since that's my computer and everyone else living here is afraid of me, we won't be imposing any limits, but it does illustrate how easy it is to pick out which devices are using the most of your available bandwidth.
Setting Up Quotas
If you want to be a bit more active in managing your bandwidth than simply checking the stats and reacting to them when there is a problem, you can also setup your own quotas with Gargoyle. In order to do this you will need to setup the devices on your network to have a static ip address. You don't need to change anything on the devices themselves, the router handles all of it making the process quite easy, and is even smart enough that once you set a device to have a certain ip address if the device requests a different one it will just block them entirely.
The quota system is extremely flexible and will let you do pretty much anything you could want as far as limiting specific devices goes. For my own network I have a certain block of addresses that are the ones that I have setup for the known devices on our network. Any devices that do not have a static ip assigned are given one from another range I setup, and that entire range of ip addresses has a 1 kilobyte per month quota. Unknown devices can connect but are cut off from the internet when they do unless I assign them an IP and reset the range for this quota to no longer include the one they are using.
For the known devices that are not my own computer I have setup quotas that are primarily based on how much I trust that person to not unknowingly use up huge amounts of data. Since these are all known devices, and all owned by serious internet addicts I have also not setup these quotas to block internet entirely if used up. Instead if they reach their daily quota then they are speed limited to only 15 kb/s download and 5kb/s upload. Still more than enough for light (albeit slow) web browsing, but not good for downloading or streaming anything. These are daily quotas that reset at midnight each evening, and each user can open their web browser to the router's ip address to see how much they have currently used.
What Else You Can Do
Just using the sections I have shown you can easily keep up with your usage and even set limits that will automatically keep you under any cap there may be on your connection. This is by far not all that Gargoyle is capable of. Just to hit the highlights, there are settings here for QOS which is a way of setting priorities for specific types of traffic on the network, so you can decide which items should always get priority to not be slowed down if other things are trying to use up all the available bandwidth. You can also use a Gargoyle router as a wireless bridge to connect to another router over a wifi and greatly extend the range of the original network. You can also set the router to automatically update a dynamic ip service if you use one. It can block urls from being accessed by anyone on the network (or even from just one specific device) based on hostname, or even partial hostname. You can even set the wireless to use higher antenna power than the default firmware it came with would usually allow which will increase your wifi's usable range considerably. With all these features Gargoyle includes I really can't recommend it enough. It will make managing your network an absolute breeze.