How Does Wireless Roaming Work?

Disclaimer: All product and company names are trademarks or registered trademarks of their respective holders. Their use does not imply any affiliation with CBT Nuggets nor any endorsement of CBT Nuggets by them.
Quick Definition: Roaming is the act of a Wi-Fi device transferring between two access points within the same network.
Roaming can get pretty confusing, especially in 802.11 (Wi-Fi), but it’s something that you’ll encounter in most of the tests at the start of your career, like CWNA or Network+. This article will help clear up some of the misunderstandings around what wireless roaming is—and how it works.
What is Roaming?
Roaming is the process by which a client device moves from one access point (AP) to another within the same network, ensuring a seamless connection as you move throughout a space. At home, you likely don’t roam much unless you happen to have multiple access points.
Essentially, roaming involves transitioning between APs within a single network infrastructure, often referred to as a Basic Service Set (BSS) or Extended Service Set (ESS). For most users, this process goes unnoticed—until there's a disruption in connectivity, like a dropped connection, highlighting the importance of a smooth transition.
It’s also important to clarify that roaming doesn’t involve moving from one network to a completely separate one, even if your device has both networks saved. Roaming applies only within a unified network, maintaining continuity without the need for manual reconnections.
How Does Roaming Work in WiFi?
I often ask interviewees this question. It’s one of the foundational aspects of 802.11, along with the association process. The simple answer is this: “The client controls what AP it’s attached to.”
There are many other concerns, some we’ll cover here, but that’s the base.
The client in 802.11 has nearly all of the power. If a client doesn’t want to roam, it simply won't. We refer to this as a “sticky” client; Apple has been notorious for this in recent years. The opposite is a “hopping client,” where the client roams too often. Both of these disrupt the flow of data and user experience.
The actual mechanism in which a client roams is essentially two parts:
Scan: The client scans for nearby access points (APs) within the same Basic Service Set (BSS) as its current connection, much like it does during initial association. This scanning process, which is typically passive, is imperceptible to the user and involves listening for AP beacons to assess available options. The client then evaluates these against criteria set within its driver software.
Decision to Roam: When ready to roam, the client notifies the current AP by disassociating or de-authenticating, severing the logical connection. It then immediately sends a reassociation request frame to the new AP it intends to join. This reassociation frame differs from an initial association request seen in packet captures. De-authentication codes, often "3" or "8" (indicating station departure), may vary by vendor, as some use custom codes to signal roaming.
How Do Clients Determine When to Roam?
This question vexes just about everyone, and the answer is: it depends. There are a number of cases, but the hard part is that each individual client’s behavior is dictated by its own drivers. Vendors will usually have significant similarities between behaviors, but it’s not easily deterministic to our outside eyes.
Some vendors (looking at you, Apple) make it a practice to hide these things, but in recent years, they’ve been more transparent.
It's also worth noting that different applications, especially real-time ones like VoIP or video calls, are sensitive to roaming transitions. For instance, "fast roaming" techniques like 802.11r help reduce latency during roaming, which is critical for maintaining signal quality and connection stability.
RSSI, or Signal Strength
The most straightforward and most accessible measure that a device will use is RSSI- or signal strength. When it drops below a certain threshold, the client starts looking for better candidates.
In a past project, I worked on a driver that did it very simply: It would roam any time that it saw a signal that was better than 20dB higher than the one that it was currently using. This caused some issues. Consider what would happen walking past a particularly thick pillar that blocked one AP, and you’d now get a better signal from an AP further on.
This is exactly what happened; it would roam and then immediately roam back when it could see the first, closer AP, which was better. This is why there’s generally a set of protections in the algorithm to prevent this.
Most of us just call it “roam back” protection, which tells the driver that if it has roamed from an AP, it cannot return without a very good reason. This mechanism is generally proximity-based or obstacle-based.
Drops and errors
Another primary reason devices begin the roaming process is with dropped packets or errors. Every frame has a counter that tells you how many times that station or AP has had to retransmit it. If a frame is retransmitted, it generally means that it did not receive the acknowledgement it was due in 802.11.
Every frame should have one, one way or the other. 802.11 is probabilistic, meaning that it’s a roll of some very good dice if you get your payload there. The only way to know is if the station receiving your data lets you know (in an ACK frame).
When drivers see many retransmissions, this means there are either a lot of errors or it isn’t getting there. If these pile up, the station reacts by first dropping the complexity of its transmissions, which is called the MCS rate. If that doesn’t work or it falls too far, the station may instead try to jump to another AP if all the other requirements are met.
AP Action
I said earlier that clients control everything. That’s not entirely true, and as an engineer, I am allergic to generalizations. The truth is, there are actually a couple of mechanisms for an AP or controller to force you to roam. The catch is that it may not technically be considered a roam. Certain controllers tell an underperforming AP or client that they’re simply not going to service you from that point any longer.
This is usually because another AP hears you or knows you’re around, and the controller thinks it can do better. Keep in mind that Wi-Fi is a shared medium, and you’re taking up resources.
The AP can then send you a de-auth, disconnect you, and make you probe again, or it can simply stop responding, which would force you to try to reassociate with another AP. Notably, technically, this is still the client choosing to move; they just happen to put a digital finger on the scales. Otherwise, the roam will be conducted normally.
Final Thoughts
Roaming gets more complex than this, but until you get to CWAP, this should be enough for your early needs. If you’re simply trying to fix your own, this should also point you in the right direction. Knowing who makes the decision makes your life much easier.
Not a CBT Nugget subscriber? Claim your free week of training.
delivered to your inbox.
By submitting this form you agree to receive marketing emails from CBT Nuggets and that you have read, understood and are able to consent to our privacy policy.