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.