June 23, 2013

Building a Better Home Network

So that took longer than expected.... The new puppy was followed quickly by some work and personal stuff (little things like spouse finishing medical school, deploying Titan at Oak Ridge National Lab, and buying a new house and moving to the north bay). All of that prevented posting for a while, so I'll start slow with some nerd notes on how I went about building out my home network at the new house.

The Old Way 
For years my home network was a set of the venerable Linksys WRT54g wireless routers running OpenWRT. The hardware was cheap and since OpenWRT is based on Linux I could go in and customize things. In my case "customization" entailed turning off the web interface and managing them like (very small) servers via ssh and the command line. One router was configured as the primary gateway and the second was used for WDS signal reinforcement. WDS has the disadvantage of consuming some of the wireless bandwidth and lowering overall wireless throughput, but Since my DSL line was only about 6Mbit and we were not running media servers, I still more bandwidth than I needed.

As wireless G became wireless N and my Internet uplink went from 6Gbit to 26Gb, I decided I needed to upgrade. After consulting benchmarks at Small Net Builder,  I retired the Linksys gear in favor of a Netgear WNDR3x00 router wall-mounted in a closet and some wireless N bridges. This configuration was certainly faster, but was also less reliable and configurable than what I had become used to with OpenWRT -- I had to rely on the web interface for routing tasks and couldn't twiddle firewall tables directly. And while it was faster for systems closer to the router, systems that were in my office often saw degraded performance on the 5GHz band.  Unfortunately, this included the wired Ethernet equipment, which was attached to a switch that was wirelessly bridged back to the router.  Enabling WDS for signal reinforcement exacerbated this since the WDS repeater traffic fought for the same spectrum as the other 5GHz wireless gear.

New House, Doing it Better
As we prepared to move to the new house last year, I resolved to do things better. During the design process I decided on a few rules for guidance:

  1. Wired Ethernet has better performance than wireless
  2. Don't combine routing and access coint functionality unless the HW is good at both
  3. Don't use WDS

Following these rules, setting up my home office and the media room was easy.  Both rooms got a pull of cat6 Ethernet cable.  In both cases I elected for a single pull from the router that terminated in a wall jack, and then used regular 8 port consumer GigE switches to attach the various NAS fileservers, desktops, TV and video game consoles.  Using Ethernet means my office isn't fighting for radio spectrum (or consuming all if it when doing heavy IO to the NAS).

Going with single pulls and edge switches was a trade off.  Eliminating the edge switches and adding additional pulls would provide better LAN bandwidth, but would have required a larger central switch.  For areas like the media room that's not really required: there's unlikely to be multiple devices doing heavy network transfers simultaneously.  For the office it is a similar story -- most of the heavy usage is between systems in the office, so the traffic is all on the edge switch.  Still, eliminating the edge switches for a larger central switch and more pulls is something I'd consider in the future if we were doing a remodel.

Having dealt with the wired rooms, I needed a way to provide wireless support for mobile devices.  Based on my previous experience with high end consumer wireless routers, I was still concerned about the liminted routing functionality.  Also, the new house was two stories and my initial testing with a single access point wasn't providing a satisfactory solution.

To solve the problem, I took a look at what businesses were doing.  Rather than using combined router and access point, enterprise sites add wireless service using bridged access points from companies like Aruba or Ruckus or Cisco.  These devices are centrally managed from a server and draw power from the Ethernet uplink using PoE.   As a result they can be installed unobtrusively on walls or ceilings and easily expanded to accommodate new areas or users.  Unfortunately those solutions were a little pricey, but there was another option.

Ubiquiti Networks produces a series of enterprise bridges under the UniFi brand name. Like the other enterprise solutions, they support PoE power and are centrally managed for easy expansion. Unlike the other solutions, UniFi has a couple of additional features that made them perfect for my home deployment: pricing and setup.  The entry level UniFi APs support wireless N and are less than $100.  More expensive models add 5GHz radios and faster Ethernet uplinks.  For my deployment one AP per floor was sufficient with each AP having a 100Mbit Ethernet connection to the rest of the network.

The Ubiquiti software was the other selling point.  The UniFi software is written in Java and can be run from Win/Mac/Lin.  The software is only required for setting up the network and provisioning new access points.  Once provisioned, the APs are independent and can operate without a server unless you need something special like RADIUS or a guest portal.  The software is also much more full-featured than what's present in consumer routers, with detailed logging and monitoring.

Finally, moving to bridged APs meant that my primary router only needed to fulfill the routing task. So rather than using consumer gear I elected to use a Cisco small business router with higher throughput and VPN support. If other features are required I could easily replace this with a dedicated software router or with used enterprise equipment.

Six months in, I've been very pleased with the setup and especially with the Ubiquiti gear.   Mobile devices have solid wireless performance in every room in the house, and everything has been very reliable.  If we need to support newer wireless standards in the future like 802.11ac I can simply wire in a new UniFi AP and provision it in a couple clicks. As someone that spends 80+ hours a week on-line, it's great to have this level of dependability and performance.