Feb 1, 2014

Multi-AP Roaming Network Background

There is no magic to making multiple-AP (roaming) 802.11 networks work. Wireless clients just assume that all APs with the same SSID are configured similarly and are all just different points of access to the same underlying wired network. A client will scan all channels looking for APs publishing the SSID it wants, and will pick whichever one suits its needs best (usually that means whichever one shows the highest signal strength).

Once on the network, clients stay with the same AP as long as it is meeting the client’s needs (i.e. as long as its signal strength is above a “good enough” threshold). If the client later thinks it could be better off with another AP on that network, it will do periodic scans of all channels looking for other APs publishing that SSID. If a scan turns up a candidate AP that is enough better than the AP it is currently on, it will automatically roam to the other AP, usually without so much as a missed frame.

One roaming caveat: As another commenter pointed out, there are definitely poorly engineered clients out there with poor roaming algorithms or thresholds, which don’t actually roam when they should, and thus end up being too “sticky”, staying on the first AP they joined well after they could have been getting better performance and reliability with another AP that they are now closer to. Sometimes it helps to force the client’s Wi-Fi interface to rejoin the network when you notice that a client has stuck to the wrong AP. If you have a lot of these buggy clients, then using the same SSID for multiple APs might not work well for you; you might want to use different SSIDs so you can more easily monitor and control which AP your client is associated to.*

Assuming both APs are configured similarly and are connected to the same underlying network, roaming is seamless and invisible to the user (except nerds like me who run tools to watch for these things). Roaming events are invisible to applications using the network, although some low-level parts of the network stack might be notified of the event, so that, for example, your DHCP client can double-check that this new AP really is connected to the same network, so it can be sure your DHCP lease is still valid on this network.

Some other users’ Answers and Comments on this question erroneously suggested that wireless protocols or features like wireless relay or WDS might be needed for roaming, but that is absolutely incorrect. Those features are just ways to replace a wired Ethernet backhaul with a wireless one.

For the sake of completeness, I should mention that there is a set of technologies, some proprietary, some standardized in IEEE 802.11F, known generally as Inter-Access Point Protocol. IAPP is a method by which generally enterprise-class APs can communicate with each other over the backhaul to optimize client roaming. But that’s just an optimization, not a prerequisite for roaming. Roaming works “well enough” on networks both small and large without any IAPP going on.

Configuration Suggestions

Give both APs the same network name (SSID), the same security type (WPA2-PSK recommended), and the same wireless security passphrase. Many clients assume that these kinds of settings will be the same across all APs with the same SSID.

Since you already have the cabling in place, use wired Ethernet as your backhaul. This saves your wireless bandwidth for your portable/mobile devices that actually need it, instead of wasting in on stationary devices like APs that could reasonably be cabled up.

If you have another device on the network, such as a broadband home gateway, providing NAT and DHCP service, then put both APs in bridge mode (turn off NAT and DHCP service). You generally only want one box on your network acting as a NAT gateway or serving DHCP. If you don’t already have another device on your network doing NAT and DHCP, and you need those services, then you can have one of your APs do it. Have the more “upstream” AP (the one that’s closer, topologically, to your broadband modem) do NAT and DHCP, and make sure that the wired Ethernet connection to the other AP comes from the first AP’s LAN port. Also make sure that the “downstream” AP is in bridge mode. I call this out because I have seen people make the mistake of leaving NAT and DHCP enabled on both of their APs, and I have seen clients that are not smart enough to realize that, say, the 192.168.1.x/24 network they are on now is not the same 192.168.1.x/24 network they were on a moment ago in the other room. I have also seen users get confused in this situation where two laptops in the same house had 192.168.1.x addresses, but could not ping each other because they were really on two separate IP networks behind two separate NATs.

Channel is one key setting you do want to vary from AP to AP in a roaming (multiple AP) 802.11 network. To maximize bandwidth, leave your APs to automatically select the channel to use, or you can manually pick different, non-overlapping, and hopefully unoccupied channels to use. You don’t want transmissions to/from one AP to compete for bandwidth with transmissions to/from the other AP.

Additional Considerations

The rest of this answer is just a bunch of general “how to maximize your home 802.11 network bandwidth” tips, not specific to your question of two APs with the same SSID.

Consider taking this opportunity to fully modernize

If you are already buying a new AP and taking the time to reconfigure things, I recommend using this opportunity to replace your existing AP as well, by buying two of the latest APs that support simultaneous dual-band 802.11ac technology. That way you can support both the 2.4GHz band for older clients that are 2.4GHz only, as well as the less busy 5GHz band for more bandwidth. It is becoming a “best practice” to set your 2.4GHz 802.11n radio to 20MHz (HT20) channels so that it leaves some of the band free for things like Bluetooth to use. This limits your 802.11n transmission rates in the 2.4GHz band to ~130mbps instead of 300mbps, but allows other non-802.11 2.4GHz devices to still work okay. In 5GHz, where there are many more channels available and they are all generally much less busy, you are encouraged to use 80MHz (VHT80) channels to get maximum throughput.

Apple’s latest 2013 AirPort Extreme and Time Capsule are simultaneous dual-band 802.11ac, and they also support 3 spatial stream (a.k.a. “3×3”, “3SS”) 802.11ac, for transmission rates up to 1300 megabits/sec if you have 3-stream 802.11ac clients that can do it. All of Apple’s Mac products introduced in 2013 or later have 802.11ac. The MacBook Airs are only 2SS (867 megabits/sec max signaling rate), the iMacs are 2SS on transmit and 3SS on receive, but I believe the Retina MacBook Pros and Mac Pro are 3SS on both transmit and receive.

Note that the industry has been slow to roll out good 802.11ac APs and clients. A lot of the stuff that came out in 2012 or even early 2013 was often buggy bleeding-edge first-generation junk. Starting in June 2013 the much more reliable second-generation 802.11ac stuff started coming out. Besides the Apple products, the ASUS RT-AC66U is a decent simultaneous dual-band, 3SS 802.11ac AP.

If you’re stuck with older single-band-at-a-time APs

If you don’t need to support any older 2.4GHz-only devices, use the 5GHz band since it is generally less busy, and you can use HT40 without starving Bluetooth and other uses.

If you’re stuck supporting 2.4GHz-only devices with single-band-at-a-time APs, be careful of your channel selection. In the 2.4GHz band, the channels overlap to a great degree. However, channels 1, 6, and 11 don’t overlap at all, so those are good choices to pick manually. You could use a Wi-Fi network scanner like inSSIDer, NetStumbler, iStumbler, many “war driving” tools, etc. to see which channels are in use by other APs visible from where you are. If you suspect you have non-802.11 2.4GHz interferers in your area, such as Bluetooth, microwave ovens, and many (but not all) cordless phones, baby monitors, wireless webcams, and wireless room-to-room A/V senders, you could go all-out and get a spectrum analyzer like a Metageek Wi-Spy to find which channels are the least noisy where you are.

Extracted from here