Monday, August 2, 2010

Wireless QoS Part 3 - User Priorities, Access Categories, and Queues

Read the Entire Wi-Fi Quality of Service 5-Part Series:
  1. Part 1 - Background Information
  2. Part 2 - IEEE 802.11e Principles
  3. Part 3 - User Priorities, Access Categories and Queues
  4. Part 4 - Arbitration Interframe Spacing
  5. Part 5 - Contention Window and Final Thoughts
Part 3 - User Priorities, Access Categories and Queues
The first QoS design change implemented as part of the 802.11e amendment and WMM certification, are User Priorities, Access Categories, and Queuing Structures.

The IEEE 802.11e amendment defines 8 user priorities (UP) for class of service (CoS) definition. These user priorities were established for layer 2 data link frame prioritization in alignment with earlier CoS standards including 802.1D (based on the work within the 802.1p task group).

These 8 user priorities are grouped into 4 access categories, containing two user priorities each. User priority 0 is placed into the Best Effort AC instead of the Background AC for backwards compatibility with non-QoS stations. This was done to preserve compatibility, as the IEEE deemed QoS functionality as an optional component for certification citing the lack of need for QoS by many legacy devices and applications. The mapping between 802.1D, 802.11e UP, and Access Category is show below.

(Table 9-1 courtesy of the IEEE Std. 802.11-2007 section on page 253)

As an example implementation, the relationship between User Priority, Access Category, and Cisco’s AVVID architecture standard (which provides different guidelines for voice and video than the IEEE standards) is detailed in the table below. Also referenced are the default markings applied by the Cisco Unified wireless network.

(Table 10-6 courtesy of “Voice over Wireless LAN 4.1 Design Guide” page 10-33, by Cisco Systems)

Queuing Structure
4 priority queues are established to prioritize data frames within each station. These 4 priority queues align with the 4 access categories mentioned previously. Each frame that a station wishes to transmit is classified and placed into one of the appropriate queues.

The inter-frame spacing and random backoff timers are calculated independently and decremented in parallel for each queue. If an internal collision occurs, whereby frames from two or more queues are ready to transmit at the same time, the higher priority queue is granted access to transmit and the other queues act as if a physical collision occurred during transmission, increment their retry counter, and increase their contention window values according to binary exponential backoff. In this manner, one physical station emulates four logical stations, one for each traffic queue. The following figure illustrates these priority queues.

(Figure 2-7 courtesy of “Voice over Wireless LAN 4.1 Design Guide” page 2-10, by Cisco Systems)

Through user priorities, access categories, and queuing structures, the 802.11e amendment and WMM certification provides differentiated classification of frames and the framework for frame prioritization. In the next two posts, I'll describe how frame prioritization occurs through Adaptive Inter-Frame Spacing and Contention Window scaling.



  1. What 802.1p value should be applied to the WLC QoS platinum profile to support voice? The above is confusing - not sure if this should be 5 or 6.

    1. For Cisco WLC, use the default value of 6.

  2. I believe you meant to reference 801.1P in Table 9.1 ?

    1. IEEE 802.1p was a task group and rolled into the 802.1D MAC bridging standard. Also, that table is not my own it is from the IEEE itself which was referenced in the article.

  3. Hi Andrew,

    What is the difference between user priorities falling under same Access Category. For example, table9-1 says that pkts with user priority 6 & 7 both fall under Access Category Voice(AC_VO). From MAC layer perspective do we give any advantage to pkts with user priority 7 over pkts with user priority 8. If not then where are these user priorities used.


    1. Hi Jeevan,
      The two priorities within each access category simply allow a bit more granularity to differentiate between different applications or types of traffic within each category. Although this doesn't affect queuing for WLAN transmission over the air, they can be used for different handling elsewhere in the network through DSCP mappings for example.


  4. suppose i have a wireless packet capture. is there any way to find what is the 802.11e priority for a particular data frame?

    1. Yes, frames that are tagged with WMM QoS embed fields in the 802.11 MAC header which convey the 802.11e priority for each frame.