netviz

802.11 · WiFi

Wi-Fi Roaming the call that never drops (802.11k/v/r)

A good roam is one you never feel. Walk a video call down a hallway from AP-A to AP-B and toggle the three assists one at a time: 802.11k and v change WHERE and WHEN your phone hands off (killing the sticky-client cling), while 802.11r changes HOW FAST — dropping the call-gap from a ~700 ms full re-auth freeze to a ~25 ms Fast Transition blink. Same roam; the three amendments do three different jobs.

Sequence diagram poster of the WPA2 4-way handshake

Requesting scene from the content service…

700 → 25 ms
full re-auth vs Fast Transition
−78 dBm
sticky client clings
802.11k Neighbor Reports802.11v steering802.11r Fast Transitionroaming hysteresis

What you'll learn

  • Why the roam decision belongs to the client — and what the network can (and can't) do about it.
  • How 802.11k Neighbor Reports and 802.11v BSS Transition Management change WHERE and WHEN the client hands off, without a blind scan.
  • How 802.11r Fast Transition pre-stages keys to cut the call-gap from hundreds of ms to ~25 ms.
  • Why the three amendments are orthogonal: k/v fix the decision, r fixes the latency — you need both halves for seamless voice.

Three assists, three separate jobs

802.11 leaves the roam decision entirely to the client: the infrastructure can inform and nudge, but it cannot force a healthy device to move. This lab pulls the three assists apart because they attack different costs. 802.11k hands the client a neighbour list so it stops clinging; 802.11v suggests when to jump so the handoff lands at the optimum; and 802.11r pre-stages the keys so the reassociation needs only the FT four-message exchange instead of a full 802.1X/EAP round-trip and a fresh 4-way handshake.

Drag yourself along the hallway and watch the honest log-distance signal curves cross, with real roaming hysteresis holding the serving AP until a candidate beats it by the margin. With nothing enabled, the sticky client clings well past the crossover and pays a ~700 ms full re-auth gap you can hear on the call; enable Fast Transition and the same jump takes ~25 ms — the call never blinks. The central instrument is the call-gap in milliseconds.

Atlas index