Seamless roaming. The dream. Many articles and presentations have been given on this topic.
Brief aside: The three main roaming-related IEEE 802.11 task groups are: k, r, and v (my pneumatic device was “I krave seamless roaming” (forgive the spelling of “crave”). Officially once the 4-year rollup* is done, these task group’s letters are no longer relevant, except in the hearts and minds of nerds and writers of data sheets. If we’re talking about what was produced by the 802.11ac task group, for example, the standard is now officially called “VHT” (Very High Throughput). If we’re talking Wi-Fi Alliance certifications (aka, the branded route), we could say Wi-Fi 5†. As of this writing (mid-April, 2025), 802.11-2024 still isn’t out, which is why I picked 802.11ac instead of ax, which is not in 802.11-2020.
* Every four(ish) years, the IEEE 802.11 committee puts all completed task groups into a document with the title in the format 802.11-YYYY
† Technically its proper name is “Wi-Fi CERTIFIED ac” but “Wi-Fi 5” is acceptable
That was a major digression, but I’m famous for that in person, so I bring my conversational style into my posts.
Layer 1 and 2 Roaming
Rather than k/r/v, these standards are officially referred to as:
- k ➔ RRM (Radio Resource Management)
- r ➔ FT (Fast BSS Transition)
- v ➔ WNM (Wireless Network Management)
802.11-2020 is nice enough to tell us on page 10 that that’s what these task groups became:

Let’s assume that all APs and STAs in our ESS support these well, and we can roam between APs all with sub-50ms, our FaceTime calls with grandma are blip-free as we wander throughout the house that has 3 access points.
In a home environment, typically the “router” or “RG” (see my post on those) acts as the Wi-Fi controller that the mesh satellites talk to. When the user walks between APs, the new AP the user is connecting to starts outputting Ethernet frames from the STA’s MAC address onto the wired distribution network. Then all the relevant switches in the path (which may be many, just one, or be the switch built into the router’s LAN) now know the MAC address is on a new port/switch.
Layer 3 Roaming
But let’s picture an enterprise environment with 2,500 (two thousand five hundred) APs spread across the campus. We’ll have two controllers in two on-campus data centers: West and East. Let’s assume that they are using CAPWAP with tunneling of data traffic back to the controllers.
The 1,400 APs on the wlan-west controller drop users onto:
- VLAN 180 – 198.18.0.0/21
- VLAN 181 – 198.18.8.0/21
- VLAN 182 – 198.18.16.0/21
The 1,00 APs on the wlan-east controller drop users onto:
- VLAN 190 – 198.19.0.0/21
- VLAN 191 – 198.19.8/21
- VLAN 192 – 198.19.16.0/21
How can we have seamless roaming if the STA walks from an AP controlled by wlan-west to an AP controlled by wlan-east? Let’s say the user had IP address 198.18.4.5, which is associated with VLAN 180. Now his traffic is being CAPWAP tunneled from the new AP back to wlan-east, where VLAN 180 doesn’t exist and 198.18.4.5 is not a local subnet.
Does the new AP/controller give up and hope the user re-requests a DHCP address, then assigns it something in, say, the 198.19.16.0/21 range? Well, that’s certainly one way to go, but it will be extremely disruptive (on the order of seconds), as all sessions would have to drop and be re-established, etc.
Instead, intelligent controllers will solve this issue with more tunneling. The user’s original controller becomes the anchor (though different terminology may be used by different vendors), then the foreign (new) controller literally sends every Ethernet frame back to the original controller, which continues to drop the user’s traffic off on VLAN 180. The details of how this is done (i.e., which protocol(s) are used) varies between vendors. Even Cisco AireOS differs from IOS on its 9800 controllers. But the method is generally the same between vendors, and it’s table stakes for any large deployment.
If you’ve noticed from my posts, I’m most familiar with AireOS. I do realize that it’s long in the tooth, but from a conceptual level, it still preaches from the grave.