Does the client device or access point determine when to roam?
The client device determines when it should roam.
How does the client device determine when it should roam?
This decision is typically based on the received signal strength indication(RSSI) value of the client's current connection. While it varies by manufacturer, the client will start to look for alternative options around an RSSI of -70 dB. The client device needs to see an access point with signal quality that is significantly better than its current connection, often between a 10 - 30 dB improvement. Keep in mind, with RSSI, values closer to 0 are better.
For example, if a client device has a signal strength of -70, but sees another access point nearby with a slightly better signal strength of -65, it likely won't roam. If that signal strength is significantly better, say -55 dB, it would be more likely to initiate a roam.
The RSSI values used to make roaming decisions depend on the client manufacturer; different manufacturers are likely to use different settings. Sometimes these settings are adjustable on the client device, however often they are not. They also may not be publicly published.
A WiFi site survey tool should be used to verify there is always at least one access point in all areas that offers a strong signal (ideally no worse than -60 dB).
Do all access points need to be on the same channel?
No, but they all need to use the same SSID and password.
Does 802.11r help with roaming?
802.11r speeds up the initial handshake when the client is connecting to a new access point using the same SSID. It may make the transition quicker, but may not make the client device more aggressive at roaming.
Keep in mind that not all client devices support 802.11r. Some legacy devices may fail to connect to SSIDs with 802.11r enabled.
Is 802.11k and 802.11v supported?
802.11k provides a list of access point neighbors for the current network, giving the client a better understanding of roaming options in the area.
802.11v provides a method for the access point to initiate a roaming event instead of waiting for the client device to make that decision.
Currently these features are not available, but we are investigating adding them at some point in the future.
When are the roaming VLANs used?
Roaming VLANs 991 - 994 are used with unbridged SSIDs to help route traffic back to the originating access point the client roamed from. If an SSID is bridged, then the roaming VLAN is not used, client traffic is always bridged directly onto the local network.
Using the roaming VLANs is a more complicated roaming method. If you experience problems roaming on an unbridged SSID, try a bridged SSID to see if it makes a difference. Also ensure the roaming VLANs are enabled on any managed switch ports to which the access points are connected.
I see port flapping reports on my switch when clients roam. Is this normal?
Port flapping means the switch cannot determine which port a client's traffic is coming from. This is normal when a client roams between access points via a bridged SSID, as the port from which their traffic is originating will have changed. Typically, these port flapping reports should be short lived, and stop shortly after the client has completed roaming to the new AP.