Multi-AP Roaming Network Background
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.
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.