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.

  1. 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
  1. Aggressive Load Balancing Uplink Threshold

WLC can load balance the clients by defining AP WAN interface utilization.

  1. 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.

  1. Global configuration
(Cisco Controller) >config load-balancing uplink-threshold 80
(Cisco Controller) >config load-balancing denial 8
(Cisco Controller) >config load-balancing window 15
  1. 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
  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

  1. April 13, 2024

    […] Understanding Aggressive Load Balancing […]

Leave a Reply

Your email address will not be published.