QBSS Load element

Let’s begin this first post with a specific part of Wi-Fi Quality of Service (QoS), the QBSS Load element.

I wanted to learn which roles QBSS takes in Voice over IP deployment, and how different the Cisco implementations are.

The actual name of this Information Element (IE) is BSS Load as referred in the IEEE 802.11-2012 standard. The original name QBSS Load (QoS Basic Service Set) comes from the 802.11e amendment which has introduced QoS for wireless application in 2005.

The element is advertised in every beacon and every probe response frame of a QBSS. Which means an access point must have WMM enabled to advertise QBSS Load IE.

The IE defines some QoS information about the load of the access point:

  • Station Count: total number of STAs currently associated with the access point radio.

  • Channel Utilization: percentage of time that the access point sensed the channel was busy, by either the physical or virtual carrier sense mechanisms. The value is linearly contained into 1 octet, from 0 to 255, the highest value meaning 100% busy.

  • Available Admission Capacity: remaining amount of medium time used for admission control (2 octets long, in unit of 32 μs/s).

BSS Load element format. Source: IEEE Std 802.11™-2012

There are 3 different versions of the QBSS Load element which Cisco has implemented on wireless access points. Let’s get into the details for lightweight and autonomous access points.

Cisco proprietary QBSS Load – version 1 – non-CCA

The legacy version of QBSS is a Cisco proprietary feature based on the draft 6 of 802.11e. This feature was created before the ratification of 802.11e in 2005, so before WMM exists.

One difference with 802.11e is that the Channel Utilization value is expressed between 0 and 100, and not normalized to 255 as per-standard.

The QBSS Load V1 element is compatible with the earliest firmware releases of the Cisco 7920 phone. The 7920 is an old 802.11b wireless IP phone which does not support WMM. The 7920 determines the access point to associate, based on the RSSI and the Channel Utilization advertised by the access points.

For 7920 using QBSS Load V1, Cisco recommends to ensure that the Channel Utilization is less than 45. If the Channel Utilization is Channel Utilization is above 45% on all the potential access points, a "Network Busy" message will appear and the phone will not be able to make a call.

On a WLC, the feature is called 7920 Client CAC because the legacy 7920 handles the admission control. The QBSS Threshold can be changed temporarily on the phone via a hidden menu.

Configure QBSS Load V1 on a WLAN of a WLC with the following CLI commands:

At first, ensure that WMM is disabled on the WLAN as it is not supported with QBSS Load V1 (see the explanation later).

(WLC) >config wlan wmm disable <WLAN_ID>

Enable 7920 Client CAC support on the WLAN.

(WLC) >config wlan 7920-support client-cac-limit enable <WLAN_ID>

Using the GUI:

In WLANs | WLANs | <WLAN ID> | QoS tab, set WMM Policy to Disabled and enable 7920 Client CAC.

Notice that WMM and 7920 Client CAC are mutually exclusive. If you try to enable both at the same time, you will get the following error message. You will see the reason in the next section.

After enabling QBSS Load V1, it appears on the beacon and probe response frames in the Information Element 11. On the picture below from the packet capture of a beacon, there are 2 wireless stations associated to the access point, and the Channel Utilization is 1%.

A bigger difference with 802.11e is that the value for the Channel Utilization in QBSS Load V1 ONLY depends on the 802.11 traffic load on the access point. During some tests, when there was no data traffic (Tx Load, Rx Load) on the access point, the QBSS load element showed 1% of Channel Utilization. When an IPerf throughput test was running between the 2 stations to increase the network throughtput, the Channel Utilization went up to 66% (hexadecimal 0x42).

In another test, an IPerf test was done on the same channel via another access point with different stations to consume airtime near the original access point. On the access point with QBSS Load V1 and with no associated stations, the Channel Utilization stays low at 1% while the radio resource on the frequency is severely used. QBSS Load V1 Load does not vary with the physical carrier sense energy detection.

On an autonomous Cisco access point, you can enable the Draft 6 QBSS-Load IE with the following CLI command:

AAP(config)#dot11 phone

Regarding WMM, you can leave it enabled (by default) or disable it. The first option advertises beacons with both the QBSS Load V1 IE-11 and the WME IE-221 element, without QBSS element. Not properly WMM compliant.

AAP(config)#interface dot11Radio 0

AAP(config-if)#no dot11 qos mode wmm

Or via the GUI:

In SERVICES | QOS | ADVANCED tab, set QoS Element for Wireless Phones to Enable.

802.11e standard-based QBSS Load – version 2 - CCA

This second version of QBSS is based on the IEEE 802.11e-2005 amendment, with the format described in the introduction.

The value of Channel Utilization is between 0 and 255 as per-standard: 255 equal 100%. To obtain the Channel Utilization percentage, convert the Channel Utilization value from hexadecimal to decimal and divide by 255.

The percentage is defined in the standard by the formula:

Where:

  • channel busy time is defined to be the number of microseconds during which the CS mechanism has indicated a channel BUSY indication.

  • dot11BeaconPeriod is the interval in number of TUs (Time Unit 1024 µs) between Beacon frames that shall be scheduled by the AP. It is configurable by the AP but usually set to 102 TUs.

  • dot11ChannelUtilizationBeaconInterval represents the number of consecutive beacon intervals during which the channel busy time is measured. The default value of dot11ChannelUtilizationBeaconInterval is 50 in the standard.

Using the default values, the Channel Utilization is computed as a percentage of busy airtime for the last 5 seconds approximately.

More importantly, the Channel Utilization depends on the physical (CCA) or virtual (NAV) carrier sense mechanisms. Any radio energy detected by CCA (incoming Wi-Fi preamble detected by CCA-CS or non-Wi-Fi energy detected by CCA-ED) will be factored in the Channel Utilization.

On a WLC, you simply have to set WMM to Allowed or Required on the WLAN in order to automatically advertise the 802.11e QBSS Load IE.

Using CLI:

(WLC) >config wlan wmm {allow | require} <WLAN_ID>

Using GUI:

In WLANs | WLANs | <WLAN ID> | QoS tab, set WMM Policy to Allowed or Required.

On the picture below captured from a beacon frame, the Channel Utilization value is hexadecimal 0x9d in the third octet, equal to 157/255 = 62%. Remember that using the 802.11e version, the Channel Utilization value is normalized to 255. Wireshark does this nicely for you.

Notice also that the 802.11e QBSS Load element takes exactly the same Information Element (IE-11) as the Cisco QBSS Load V1. This is the reason why they are mutually exclusive. Therefore in the WLC implementation, you can use either WMM or QBSS Load V1.

The 802.11e QBSS Load IE can be used on the Cisco wireless IP phones supporting WMM, such as Cisco 7921G, 7925G, 7526G and 8821.

The recommendation from Cisco deployment guides is to keep the Channel Utilization below 105 (105 normalized to 255 is approximately 41%). Depending on the firmware release, newer Cisco phones may or may not make their roaming decision based on the Channel Utilization (see Cisco bugID CSCtz46981 792x on 2.4 GHz utilizes QBSS for roaming decisions, or CSCvc52145 8821 Network Busy error). Latest versions seem to display only the Channel Utilization.

On an Autonomous access point, the implementation is a bit different from enabling WMM. You can enable the 802.11e QBSS IE with the following CLI command:

AAP(config)#dot11 phone dot11e

Or via the GUI:

In SERVICES | QOS | ADVANCED tab, set QoS Element for Wireless Phones to Enable and check the Dot11e option.

When enabling QoS Element for Wireless phone with Dot11e, both 802.11e QBSS Load IE and Cisco QBSS Load V2 (see next section) are both advertised by the access point.

Cisco proprietary QBSS Load – version 2 - CCA

In mixed environment with 7920 and newer wireless IP phones (7921G, 7925G, 7926G, 8821), QBSS Load V1 and 802.11e QBSS Load issued with WMM cannot work together using the same IE. To support mixed environment with WMM devices, Cisco has developed another proprietary QBSS Load element using vendor-specific IE 221 rather IE 11. The new IE is only supported on latest versions of 7920 firmware (2.01 or later).

The element uses the same information defined by the 802.11e standard. Channel Utilization is based on CCA and expressed from 0 to 255.

An access point can advertise at the same time both:

  • 802.11e QBSS Load IE11: supported by WMM phones

  • Cisco QBSS Load V2 IE221: supported by Cisco wireless IP phones including non-WMM 7920 upgraded with firmware 2.01 or later

On a WLC, you can enable Cisco QBSS Load V2 with the 7920 AP CAC feature using with the following CLI command:

(WLC)>config wlan 7920-support ap-cac-limit enable <WLAN_ID>

 

(WLC)>show wlan <WLAN_ID>

WMM.............................................. Allowed

Dot11-Phone Mode (7920).......................... ap-cac-limit

Using GUI:

In WLANs | WLANs | <WLAN ID> | QoS tab, set WMM Policy to Allowed and enable 7920 AP CAC.

On the picture below, you can see the QBSS Load V2 with the IE tagged 221. The Channel Utilization value is equal to 124/255 = 48%. You can also see a maximum threshold Call Admission Limit that is defined to 105/255 = 41% by default.

The QBSS Load V2 Load element adds this extra benefit. The maximum CU threshold is customizable and advertised by the access point. The AP can handle the admission control by adjusting the Call Admission Limit, hence 7920 AP CAC.

To change the Call Admission Limit on a WLC:

(WLC) >config advanced 802.11b 7920VSIEConfig call-admission-limit <0-255>

However in the event of Network Busy issues with 7920s, you should address a high Channel Utilization issue with troubleshooting and design with best practices (use 5GHz, disable lower data rates , lower the number of SSIDs, reduce CCI, etc) before fine-tuning the Call Admission Limit.

On an Autonomous access point, you can enable Cisco QBSS Load V2 IE using the same command which enables QBSS Load V1 IE. QoS Element for Wireless Phones enables both Cisco QBSS Load V1 and QBSS Load V2:

AAP(config)#dot11 phone

Or via the GUI:

In SERVICES | QOS | ADVANCED tab, set QoS Element for Wireless Phones to Enable.

When QoS Element for Wireless Phones is enabled, the access point will also create dynamic voice classifiers for RTP-based traffic, to allow a higher priority for voice traffic even if there is no QoS.

To change the maximum threshold for Channel Utilization on an autonomous AP:

AAP(config)#dot11 phone cac-thresh <0-255>

Where can we find the Channel Utilization?

You can perform a wireless packet capture. Beacon and Probe Response will display the QBSS Load element if the QBSS Load is enabled on the WLAN.

You can also find the Channel Utilization on a WLC with the following CLI command:

(WLC) >show ap auto-rf {802.11b | 802.11a} <AP_NAME>

...

Load Information

Load Profile................................. PASSED

Receive Utilization.......................... 0 %

Transmit Utilization......................... 0 %

Channel Utilization.......................... 40 %

Attached Clients............................. 1 clients

On an autonomous access point, use the following command:

AAP#show controller dot11radio {0 | 1} | i QBSS

QBSS Load: 0xC5 Tx 9 Rx 13 AP 22

In this case, the Channel Utilization is hexadecimal 0xc5 equal to 197/255 = 77%.

The QBSS Load element is extremely useful as a metric for troubleshooting and performance analysis. Cisco phones in survey mode and other wireless network tools can display the Channel Utilization on screen. The Channel Utilization can also be found with Prime Infrastructure or WLCCA.

What’s next?

Applications are growing fast and wireless networks can quickly reach their throughput capabilities. Channel Utilization can be erratic in a heavily-used environment and admission control could be difficult to manage.

The next step to leverage capacity would be enabling TSPEC with Admission Control on the access point to protect high-priority calls.

References

Jérôme Henry, http://wirelessccie.blogspot.com, writer of the excellent CCNP-Wireless reference guides. He has published videos going through the configuration of QBSS Load in detail:

Wireless QoS, part 2-a and 2-b, Web link: http://www.youtube.com/watch?v=QTeOpW9YLFs

CCNP Wireless 642-742 IUWVN Quick Reference: http://www.ciscopress.com/store/ccnp-wireless-642-742-iuwvn-quick-reference-9781587143113

Cisco Unified Wireless IP Phone 7925G, 7925G-EX, and 7926G Deployment Guide: http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cuipph/7925g/7_0/english/deployment/guide/7925dply.pdf

Cisco Wireless IP Phone 8821 and 8821-EX Wireless LAN Deployment Guide: http://www.cisco.com/c/dam/en/us/td/docs/voice_ip_comm/cuipph/8821/english/Deployment/8821_wlandg.pdf

2 comments: