Load Balancing Broadband Connections

Have a slow internet connection? How about getting another and load balancing?

====
At home I have three Internet connections - two older ADSL lines, and a fibre connection. Why? Well, firstly I moved providers for ADSL and never really got around to cancelling the other one...and then got fibre, and, well, yeah.

Anyway, I use the ADSL lines constantly - they’re loaded most work days with backups, uploads etc. (I work from home a lot), and I use the Fibre connection for everything else in my place - Movie streaming, UC workloads (Voice/Video etc). So, I do push those lines.

One issue I use to have was trying to force certain services via specific connections. In fact I wrote about it ages ago, here:

Crash plan Routing (As a side note, why did I ever think this format looked OK?!)

I was using static routes to push services via certain connections - I eventually ended up putting in a small Cisco router to deal with the routing properly at the network layer, but it was never really ideal.

Anyway, I recently stumbled across a product that claimed to be able to load-balance broadband connections (ADSL, Cable, 4G, fibre...whatever) - this one:

TP-Link TL-R470T+ Load Balanced Broadband Router

Catchy name, hey?

This unit has
up to four WAN ports and can load balance those WAN ports in various ways (more on that in a minute), across multiple providers. I found this idea interesting - I thought I could use it to load-balance the two ADSL lines I have to get better general performance from them, and also I found the idea of richer features attractive - static routing, firewall, more advanced NAT etc.

So, with that in mind - I bought it. Forty quid is half a tank of fuel so it wasn’t a massive risk.

Guess what? It works brilliantly well - it was up and running in about 10 minutes flat. Let’s have a look at how I set it up - click on the diagram to see a larger version:

2014-09-14Network


The ADSL routers are at their default settings - DHCP enabled etc. all that good stuff - so it’s just a matter of plugging them in. I then wire in an Airport Extreme WiFi base-station for the WiFi provision. Bear in mind you can’t use the WiFi on the ADSL routers as that wouldn’t be going via the load-balancer.

So what was the result? Well, bear in mind I have two ADSL lines - one averaging about 7Mbps, and the other about 5.5Mbps - here’s the results:

2014-09-16Speedtest

I’ve also got my backup running at the minute - the upload is nearer 2Mbps without. Not too shabby? The general performance plays out as well, you can tell you’re getting far better performance than a single line can provide. I also tested media loads with Skype & Lync - usually notorious in these sort of setups, and it all worked just fine.

Did I see any problems at all? Well, yes - passive FTP doesn’t work well over this type of load balancing - it’s very, very slow. Fortunately, there’s a way around that in the unit’s configuration - I can specify that certain ports/protocols only go via
one connection:

2014-09-16PolicyRouting

So what I’ve done above is send anything for a destination port of TCP21 (FTP) over WAN link 1
only. Sorted that right out. You can also if you want add static routes via one particular WAN interface as well.

Any other down-sides? Well, the ports are only 100Mb not Gigabit - so if you want to communicate between machines at faster speeds (Say for example one machine on Wifi 802.ac and another machine on wired Ethernet) then you will need the 802ac WiFi unit
and the machine on Gb Ethernet plugged in to a Gigabit Switch, and that Gb switch plugged in to the load-balancer. (Or, if like me you’re using the AirPort Extreme from Apple, you’d ensure your Gigabit machines were plugged in to the switch on that).

If you do it that way, then traffic from the WiFi 802.ac connection will go from the WiFi base-station, to the Gb switch, and then to the machine over Gb - so you’ll not hit any contention.

If you just had the wired machine plugged in to the Load-balancer, along with the WiFi base-station, then you’ll be limited to 100Mb between the faster devices.

Very, very pleasantly surprised at how capable this unit is, and how easy it is to configure.

On the load-balancing piece, something to be aware of is the options in the load-balancing configuration. Have a look at this:

2014-09-16LBConfig


Out of the box, mine came configured for ‘Enable Application optimized routing’ - now, what this appears to do is allow a single application to connection over
one of the connections. So multiple sessions/apps from a single machine will get balanced between the connections. What this doesn’t do is give you a higher general throughput. Testing at SpeedTest.net for example showed the source as alternating between the two providers.

It’s not very intuitive but if you
turn off both options then the connection seems to be load-balanced at a lower level and you get the higher throughputs reported - from my testing you do get the faster general experience as well.

The unit itself has some other very cool stuff including:

  • Static routing - you can enter static routing information for specific targets/ranges.
  • Some very complex NAT options are possible.
  • Some quite advanced traffic management/control rules.
  • You can configure from 1 to 4 ports for load-balancing (Well, 2 as a minimum if you want to balance...).
  • Very functional firewall configuration options.

This is quite a powerful little unit - all for forty quid!

Anyway, I’ll be using this unit over the next few weeks - if i run into issues I’ll report back in here, but from my testing so far I’m really,
really impressed. You can also view a video run through below:





blog comments powered by Disqus