Hybrid Coordination Function (HCF)
As we discussed in this post, DFC comes with some drawbacks that make it an inefficient Coordination Function for real-time applications.
The IEEE 802.11e amendment introduces the HCF with a set of QoS enhancements that solve many of the issues found in DCF. Let’s take a look into the details:
Media Access Control methods: EDCA / HCCA
HFC comes with two different MAC methods: Enhanced Distributed Channel Access (EDCA), and HFC Controlled Channel Access (HCCA). In a nutshell, EDCA is the contention-based method in HFC, while HCCA is contention-free.
HCCA is roughly equivalent in operation to Point Coordination Function (PCF). Other similarities between HCCA and PCF are that both are optional MAC methods, and no vendors have implemented neither. Therefore we will put our focus on EDCA.
Access Categories (AC)
EDCA defines a new interval called Arbitration Inter Frame Space (AIFS), which replaces the fixed-size DIFS found in DCF. AIFS’ length depends on a new concept: Access Categories.
Access Categories (AC) establish up to four priority queues on which every station places its traffic pending transmission. These AC are defined as follows (from lowest to highest priority):
- AC_BK (Background)
- AC_BR (Best Effort)
- AC_VI (Video)
- AC_VO (Audio)
AIFS numbers (AIFSN) are then calculated for each AC, as a function of SIFS plus a variable number of slot times:
Note that AIFS2 (1x SIFS + 2x Slot time) is the same as DIFS in DCF.
Applying these values to the 802.11 standards, we can then calculate the length of AIFS for each AC (all values in microseconds):
The figures in the coloured cells are the timing parameters in environments with a mix of 802.11b/g/n (2.4 GHz) devices, to maintain backwards compatibility.
Contention Window
Alongside AIFS, HFC also introduces a variable Contention Window (CW) for each AC. As opposed to the CW in DCF -where CWmin and CWmax are the same for every station (typically 15 and 1023 respectively)-, the CW in HFC is smaller for higher-priority ACs:
A smaller Contention Window means that higher-priority traffic is more likely to win any contention to access the medium, effectively prioritising this traffic over other lower Access Categories.
The CW is derived from the equation 2x-1, where x is a value that increments with each failed frame. The maximum value of x is 10 (therefore CWmax is 1023).
The minimum value of x is 2, however for stations that do not implement 802.11e, there are some exceptions:
OFDM (802.11a/g) stations: minimum value x=4 (CWmin=15)
HR-DSSS (802.11b/g) stations: minimum value x=5 (CWmin=31)
Transmit Opportunity (TXOP)
TXOP allows a transmitting station to own the channel for a limited amount of time. During this contention-free channel access interval, the station can transmit multiple frames within an Access Category.
The benefit of TXOP is that it increases throughput and reduces delay of higher priority traffic by eliminating contention periods between transmissions. Again, TXOP is different for each Access Category, with higher-priority traffic having longer TXOP intervals (all figures in milliseconds):
A TXOP=0 means no TXOP, that is, the station can send only one MSDU before having to contend for the channel again.
TXOP can be combined with Block Acknowledgment (BlockAck) frames, to allow an entire TXOP to be acknowledged with a single frame. This reduces the number of ACK frames and corresponding interframe spaces, thereby increasing throughput.
Automatic Power Save Delivery (APSD)
The 802.11e amendment introduces an optional power-saving feature in addition to the power-saving polling mechanism (PS_Poll) that predates this standard. Not directly related to QoS though, we are including a description of the feature in this post for completion.
In APSD, a station is awake only during the Service Period. There are two flavours to APSD: Unscheduled and Scheduled. In Unscheduled APSD (U-APSD), the Service Period begins when the Access Point receives a trigger frame from the station, and ends when the station receives a frame (data or null) indicating the End of the Service Period (EOSP) – which occurs when the Access Point finishes transmitting all the buffered frames.
Inversely, in Scheduled APSD (S-APSD), the Service Period starts and ends according to an schedule known to both the Access Point and the station, so there is no need for any signaling.
Out of the Service Period, a station can switch off its radio and enter a dozing state, while the Access Point it is associated to buffers the frames destined for that station.
S-APSD is available in both HCCA and EDCA, while U-APSD is available in EDCA only.