…I’m guessing that this is a common scenario for many people? The fact is that it doesn’t really matter how much bandwidth is available between your home network and the Internet when somebody on the network is dominating the bandwidth. If somebody on your network is downloading a file or watching a streaming video then, as long as the bandwidth between the machine that is serving content to the Internet exceeds the speed of your Internet connection for receiving it, all other users on the network will have rather unsatisfying performance as their download or video will consume all available bandwidth. Bummer!
This is frustrating, and can lead to some interesting “discussions” with the bandwidth hogs that you share a network with. In my house the question “ARE YOU DOWNLOADING???!!!” is painfully howled between rooms and users with alarming frequency… What is needed is prioritisation of traffic on the home network, and between the home network and the Internet.
Businesses have faced this challenge since they first connected their networks to the Internet, and they use different techniques to control user behaviour, including:
- Blocking bandwidth hungry applications from employee computers
- Blocking bandwidth hungry applications from the network
- Prioritising traffic by application on the network
Businesses often pay a small fortune for this kind of management of their systems, employing specialists to define their user policies and enforce these on the network, often using expensive equipment and software. For a home user it’s probably not going to be cost efficient to make this kind of provision… or is it?
If you’re a typical 2009 person with DSL based broadband and a home network then your home network probably consists of a few basic elements:
- A broadband Internet access connection from an ISP (Internet Service Provider)
- A device that negotiates a broadband connection between your home and the Internet, via your ISP
- A device that creates and manages the LAN (Local Area Network) or WLAN (Wireless Local Area Network) in your home, typically using Ethernet, WiFi or homeplug.
A means to connect each device (could be a laptop or desktop computer, a printer or a games console… these are generically referred to as “hosts” in networking terms) to the LAN or WLAN
Within this kit of parts let’s focus on number 2, the device that negotiates the broadband connection. This is a DSL modem or router, or a combination modem and router in one. If you live in an area where you can get cable service from a provider such as Virgin Media then you may alternatively have a set top box, also called a cable modem, supplied by the cable operator. It’s quite common now for one box to take care of both your connection to the Internet and your network, and the majority of home broadband customers will typically this kind of device. It is also this device, or a replacement for this device that can unlock the bandwidth management woes.
The basic device that your ISP shipped to you, or the device that you picked up yourself takes care of a couple of important jobs:
- Negotiating the connection with the ISP (the modem part)
- Negotiating and managing connections with hosts that want to connect to the home network to either access each other or the Internet (the router part)
To connect your home to the Internet through an ISP you need to ensure that you have a device capable of negotiating with the ISP in the correct way. If you’re a Karoo customer then you need to be especially vigilant when choosing a DSL modem router as Karoo makes its connections using a technology called PPoA, rather than the more common PPoE, and not all of the routers available on the market in the UK support this. Everything that we discuss in the next section needs to work slightly differently if you’re a Karoo customer (surprise!), but it’s not an insurmountable amount of hassle. 🙂
So, the device, this modem-y router-y thing… this can be configured allow you to take full control of your network traffic. A working group has taken specific DSL routers and re-engineered the firmware of the routers, replacing the standard stuff with open source firmware that includes new functionality that the hardware can easily handle but that the manufacturer chose not to include.
There are a few open source firmware / router hardware combinations that can be created, however the most popular router for modification is the Linksys WRT54G series, which is available from both online and offline stores in the UK. The open source firmware itself is available from a variety of developers, and one of the easiest to work with is Tomato.
Tomato is a good example as not only is it relatively easy to understand but it also supports a traffic management technique called QoS (Quality of Service) that allows network traffic to manage the allocation of bandwidth among users and their applications:
QoS allows the flexibility to make policy decisions to put your traffic into “classes of service“. These determine the relative priority of traffic on the network, and control the maximum percentage of the total available bandwidth that can be made available to that “class” of traffic, during times when demand for bandwidth from users on the network exceeds Internet bandwidth available from the broadband connection.
Tomato can be made to work on a number of different routers, but the Linksys WRT54G is probably the most popular of these and is available in the UK for many DSL and cable modem connections. Coming back to that Karoo issue though, Karoo users need to use PPoA for their connections, which the WRT54G does not support. The most simple way to take advantage of the open source firmware is going to be to continue to use a Karoo compatible DSL modem, such as the Netgear DG834G for establishing the connection to the Internet but to then hardwire a router such as the Linksys WRT54G into one of the Ethernet ports of the Netgear and use the Linksys to create and manage the local network in the home.
This article is not intended to provide a walkthrough or a comprehensive reference guide, just to illustrate that there are solutions out there for the things that frustrate us, if we’re willing to think outside of the user manual. QoS is considered quite an advanced traffic management technique and you’d need to spend quite a lot of money to buy a router that has it listed as a feature by the manufacturer. Thanks to the ingenuity of hackers and the open source community we can now invest a very small amount of money in hardware, and a little effort and time overwriting and configuring firmware to bring this feature to our home networks.
Could the writing be on the wall for spousal bandwidth wars? 🙂