Understanding Aggressive Load Balancing
For wireless environments, there’s competition everywhere. If an AP serves many clients, there must be delays and packet loss. Aggressive Load Balancing was created to solve this problem, the number of clients connected to the AP will be more balanced.
How does it work?
There are two thresholds, number of clients and interface utilization. It is called Aggressive Load Balancing Window and Aggressive Load Balancing Uplink Threshold on WLC.
- Aggressive Load Balancing Window
Connections will be rejected if the following thresholds are exceeded. At this point, the AP will put code 17 in the association response packet and send it to the client, trying to make the client connect to another access point.
For example, in the following situations, if a client trying to connect to AP2, AP2 will send code 17.
AP1: 2 clients <br> AP2: 10 clients<br> Window: 8
Load-balancing window + client associations on AP with the lightest load = load-balancing threshold
Configuring Aggressive Load Balancing
- Aggressive Load Balancing Uplink Threshold
WLC can load balance the clients by defining AP WAN interface utilization.
- Aggressive Load Balancing Denial Count
Code 17 is defined in the 802.11 standard, but it is not clear how the client should respond. In fact, many clients will still try to connect again. This threshold defines the number of client connections. If the number of connections exceeds this threshold, the AP will allow the connection.
How to configure it?
We can configure the threshold globally and enable or disable it for each WLANs.
- Global configuration
(Cisco Controller) >config load-balancing uplink-threshold 80 (Cisco Controller) >config load-balancing denial 8 (Cisco Controller) >config load-balancing window 15
- WLAN configuration
(Cisco Controller) >config wlan load-balance allow enable 1 (Cisco Controller) >config wlan load-balance mode client-count 1 (Cisco Controller) >config wlan load-balance mode uplink-usage 1
- Verification
(Cisco Controller) >show load-balancing Aggressive Load Balancing........................ per WLAN enabling Aggressive Load Balancing Window................. 15 clients Aggressive Load Balancing Denial Count........... 8 Aggressive Load Balancing Uplink Threshold....... 80 Statistics (client-count based) Total Denied Count............................... 0 clients Total Denial Sent................................ 0 messages Exceeded Denial Max Limit Count.................. 0 times None 5G Candidate Count.......................... 0 times None 2.4G Candidate Count........................ 0 times Statistics (uplink-usage based) Total Denied Count............................... 0 clients Total Denial Sent................................ 0 messages Exceeded Denial Max Limit Count.................. 0 times None 5G Candidate Count.......................... 0 times None 2.4G Candidate Count........................ 0 times (Cisco Controller) >grep include "Load Balancing" "show wlan 1" Press any key to continue.. Load Balancing................................... Uplink-Usage Based There are 1 lines matching the pattern Load Balancing (Cisco Controller) >
How to confirm it in Log?
When Aggressive Load Balancing is working, we can see the following in the log. I deleted some information such as MAC address.
Recevied management frame REASSOCIATION REQUEST on BSSID destination addr Processing assoc-req station: AP: ssid : thread: Reassociation received from mobile on BSSID AP on ssid Sending assoc-resp with status 17 station: AP: on apVapId 1 Sending Assoc Response (status: 'maximum station reached') to station on AP on BSSID ApVapId 1 Slot 1, mobility role 1
Other
- Clients already connected to the AP will never be removed, Aggressive Load-Balancing occurs only during the association phase.
- Aggressive Load-Balancing calculation is per radio on ap.
Updated on December 15
For FlexConnect APs, the process is slightly different. The explanation on the official Cisco website is as follows.
FlexConnect APs do not send (re)association responses with status 17 for load-balancing as do Local mode APs; instead, they first send (re)association responses with status 0 (success) and then deauth with reason 5. This occurs as the AP handles the association locally and load-balancing decisions are taken at the WLC.
FlexConnect Feature Matrix
If we analyze the OTA capture, we will see the following from the Disassociate packet.
IEEE 802.11 wireless LAN Fixed parameters (2 bytes) Reason code: Disassociated because AP is unable to handle all currently associated STAs (0x0005)
1 Response
[…] Understanding Aggressive Load Balancing […]