1
A Collision Avoidance Mechanism for IEEE 802.11e EDCA Protocol to Improve Voice Transmissions in Wireless Local Area Networks Khalim Amjad Meerja, and Abdallah Shami Department of Electrical and Computer Engineering University of Western Ontario London, Ontario, N6A 5B9, Canada. Email:
[email protected],
[email protected]
Abstract—Enhanced distributed channel access (EDCA) is the basis protocol in IEEE 802.11e protocol suite. It is used for providing differentiated quality of service (QoS) in IEEE 802.11e standard wireless local area networks (WLANs). One of the main drawbacks in EDCA protocol is the values used for minimum and maximum contention window (CW) sizes for the AC VO access category, the queue designated for voice transmission. The AC VO queues of the QSTAs are very aggressive in transmitting their packets on to the channel due to their small CW sizes. This leads to degradation in the actual voice throughput performance even when the network size is small. In this paper, we propose a new modification to the collision avoidance mechanism used by AC VO queues without seriously effecting the performance of other traffic categories such as video and data. Extensive simulations are carried out to verify the performance of our proposed enhancement to the original collision avoidance mechanism. Index Terms—Wireless local area networks, WLAN, Adhoc networks, IEEE 802.11e, QoS, EDCA, CSMA/CA.
I. I NTRODUCTION Wireless local area networks (WLANs) have become a common means of providing network connectivity over wireless medium at pedestrian speeds. They are now capable of providing more bandwidth and better quality of service (QoS) support due to improvements made at both physical (PHY) layer and media access control (MAC) layer. Important modifications made by IEEE 802.11e standard at the MAC layer are: 1) replacing distributed coordination function “DCF” by enhanced distributed channel access “EDCA”, and 2) point coordination function “PCF” by HCF (hybrid coordination function) controlled channel access “HCCA” [1]. In this work we focus on EDCA protocol which is the basis protocol in IEEE 802.11e protocol suite. EDCA is indispensable for at least three different reasons: 1) It is the only media access control protocol available for QoS independent basic service set (QIBSS) setups, commonly known as ad hoc networks. 2) It is essential for association and reassociation of QoS enabled wireless stations (QSTAs) with central QoS capable access points (QAPs) in QoS basic service set (QBSS) or infrastructure based setups. 3) It is required during association of QSTAs with QAPs during handovers in extended service set (ESS) setups. The minimum and maximum values of the contention window (CW) sizes used for AC VO queue (access category for voice) in EDCA are very small. This is a main drawback as significant packet loss occurs due to collisions caused by simultaneous transmission of voice packets. To improve the
voice throughput and to accommodate more stations to transmit voice, the collision probability between AC VO queues must be reduced. This can be easily achieved by increasing the sizes of CWs used for AC VO queue. However, to give voice transmissions frequent access to the channel, the CW sizes must be maintained small. In this paper, we therefore do not change the CW sizes proposed in IEEE 802.11e draft by considering them as optimal. Instead, we propose an enhanced collision avoidance (ECA) scheme for AC VO queue to improve voice throughput performance. As other three queues (access categories for video “AC VI”, best effort “VC BE”, and background “AC BK”) use standard EDCA collision avoidance mechanism, we use ECA-EDCA to represent the collision avoidance mechanism of all the four access categories used in IEEE 802.11e architecture. Our scheme is backward compatible, thereby making ECA-EDCA compliant QSTAs to coexist with legacy IEEE 802.11e standard wireless stations. Using extensive simulations, we have shown the effectiveness of our proposed ECA-EDCA scheme to improve voice performance. We have also compared the performance of ECAEDCA and EDCA protocols under multimedia traffic scenarios using simultaneous transmissions from voice, video, data and background traffic. The rest of this paper is organized as follows. In Section II, we skim through some distributed MAC protocol enhancements present in the literature. Then we give a detailed description of the proposed ECA-EDCA protocol in Section III. Then we compare ECA-EDCA scheme with EDCA protocol in Section IV. Conclusions are given in Section V. II. L ITERATURE R EVIEW Much research work has been carried in the past over EDCA protocol. A media optimization network architecture (MONA) is proposed in [2] to perform handover based on layer 2 retransmissions. Since voice communication is bidirectional, the authors in [2] have tried to improve the downlink voice throughput from the access point to individual wireless stations. The concept of PIFS waiting period was introduced at the access point for sending voice packets to wireless nodes instead of the regular backoff process as stipulated by EDCA protocol. For similar reasons, multiplexing and multicasting (MM) scheme in [3] proposes to combine (i.e., multiplex) voice packets destined to several wireless stations into a single large packet at the central access point. The large multiplexed packet is then multicasted on to the channel so that all wireless stations can receive it.
2
Octets: 2 Frame Control
2
4
Duration
FCS
TABLE I EDCA PROTOCOL PARAMETER SET. AC
AIFSN[AC]
CWmin
CWmax
MAC Header
Fig. 1.
Proposed channel grab (CG) packet format.
In another scheme proposed in [4], authors have suggested reduction in the contention window (CW) size for the handover voice traffic compared to the CW size used for AC VO access category. This is to give higher priority to the handover traffic than regular voice traffic. Recently a modification to EDCA protocol is proposed in [5]. The authors have modified the contention behavior of AC VO queue that is used for voice transmission. They have used black-burst contention for AC VO access category. A voice station waits for AIFS[AC VO] time when the channel is idle and then sends a sequence of energy pulses called black burst. The length of the burst is equal to the backoff timer. After completion of the black burst, the station listens to the channel if it is idle. If it is busy, it will perform backoff choosing the value for backoff timer from the same CW size. Therefore a station with longest burst will send the voice packet. In another work, the performance of EDCA protocol is compared with European standard HIPERLAN/1 media access control protocol namely “Elimination-Yeild Non-Preemptive Medium Access (EY-NPMA)” [6]. Both EDCA and EYNPMA operate differently to avoid data packet collisions. In EY-NPMA, a station during prioritization phase, starts transmitting after a certain fixed waiting period (depending on the data packet priority) without making any attempt to avoid collision. Then in the elimination sub-phase (first part of the entire contention phase), its operation is similar to black burst mechanism given in [5], in which stations that transmit more number of bursts enter the next sub-phase called yield phase. The yield phase is similar to collision avoidance mechanism used in EDCA protocol (the mechanism of random slot generation is different). The main drawback of black burst variant MAC schemes is that they are energy inefficient. Some simple schemes are proposed in [7] to improve the performance of high priority voice transmission. A CTS-toself mechanism is commonly used in scenarios where different wireless stations use different physical layers. In practice, a 802.11g station sends a lower rate CTS frame addressed to itself (CTS-to-self) using 802.11b headers for its data frame protection under the presence of 802.11b stations. However, the throughput is significantly reduced. III. E NHANCED C OLLISION AVOIDANCE T RANSMISSION
FOR
VOICE
A QoS enabled wireless station (QSTA) maintains four separate queues to serve different priority traffic as stipulated by IEEE 802.11e standard [1]. Each queue is known as an access category (AC) and uses different contention parameters summarized in Table I. The voice transmission is scheduled through AC VO queue which receives the highest priority to transmit among all queues. The QSTA’s contend for channel
AC VO
2
AC VI AC BE AC BK
2 3 7
ωmin +1 4 ωmin +1 2 ωmin
ωmin
−1 −1
ωmin +1 2
−1
ωmin ωmax ωmax
access to transmit packets from their queues using EDCA protocol. In our proposal, we modify the contention process of AC VO queue that is used to schedule voice transmission. For convenience, we refer AC VO queue contention process of a QSTA as simply voice station (VSTA) contention process and ECA as our proposed modification to voice station’s contention process. A. ECA scheme In ECA scheme, all VSTAs (i.e., AC VO queues) send a channel grab (CG) packet on the channel before transmitting their actual voice packet. The CG packet is used by the voice stations to reserve the channel until the end of their transmission. The proposed frame format for CG packet is shown in Figure 1. It is similar to any other control frame used in IEEE 802.11e standard protocol suite. It has two bytes for frame control, two bytes for duration, and four bytes for frame check sequence (FCS) fields. All the neighboring stations listening to the CG packet set their network allocation vector (NAV) according to the duration field in the CG packet. In the event of CG packet collision, stations set their NAV to extended inter frame space (EIFS) duration similar to any packet collision. After sending a CG packet, the voice station pauses for a very short and arbitrary duration to listen to the channel for any ongoing transmission (detailed description follows). After making sure that the channel is still idle during its short listening period, the voice station then proceeds with the transmission of the voice packet. In particular, each ECA capable voice station (VSTA) maintains a collision avoidance counter q, which is an integer random variable uniformly distributed over the range [0, Q−1]. The value of q determines its listening period duration (i.e., the counter q of a VSTA determines the inter frame space “IFS” between its CG packet and its successive voice packet transmitted on the channel). When the VSTA has voice packet to transmit, it performs a backoff process during which it also generates a value for its collision avoidance counter q. When its regular backoff process is complete, it sends a CG packet on the channel. After transmitting the CG packet, it waits and observes the channel for some arbitrary time which is an IFS time corresponding to the value generated by its counter q. If it observes a transmission during this observation period, it performs backoff process using minimum CW size (as this is not the case of collision), including generating a new value for its q. However, it will not reset the value of its CW variable as it will normally do when a voice packet is successfully transmitted. On the other hand, if there is no transmission during the observation interval, the VSTA will transmit its voice packet
3
Time t1
t0
t2 Freeze backoff-timer
q=0
CG
VSTA-A
SIFS
q=0
DIFS
DIFS
CG
Voice (VO)
SIFS
q=1
Voice (VO)
CG
SIFS
SIFS Ack
VSTA-B DIFS
Ack
DIFS
CG
DIFS
Freeze backoff-timer
NAVVO NAVCG
DIFS
SIFS
PIFS
Freeze backoff-timer
NAVVO NAVCG
Voice (VO)
Ack
DIFS
Freeze backoff-timer
DIFS
DIFS
Freeze backoff-timer
NAVVO NAVCG
Other VSTA’s t3
Fig. 2.
ECA timing diagram for Q = 2.
to the destination. The destination will acknowledge upon reception of the voice packet. The transmitting VSTA will then reset its CW variable to the minimum CW size to schedule the next voice packet for transmission. Whenever the transmitting VSTA does not receive positive acknowledgement (ACK), it prepares retransmission of the voice packet by increasing the size of its CW variable to perform backoff process. Retransmission attempts are made until a maximum limit is reached, after which the voice packet is dropped. Then the next voice packet in the queue is scheduled for transmission.
! "#$ % & ' () + ,- % .// * 2 0 0 ' ()* 1 + ,- % 3 4 !)% 5 & ! ) 6 78 % ! 4 % 5 0 ! ) 9 : ! ;