A STA desiring to initiate a transfer of the data MPDUs and/or management packet MMPDUs shall invoke both the physical and virtual carrier-sense mechanisms to determine the busy or idle condition of the medium. If the medium is sensed as busy, the STA shall defer until the medium is determined to be idle without any interruption for one period of time equal to DIFS when the last frame detected on the medium was received correctly, or after the medium is determined to be idle without interruption for one period of time equal to EIFS when the last frame detected on the medium was not received correctly. After this required DIFS or EIFS medium idle time, the STA shall then excuse the backoff procedure and generate a random exponential period for an additional deferral time before the real packet transmission, unless the backoff timer already contains a nonzero value, in which case the selection of a new random number is not necessary and actually not performed. This process minimizes the possible collisions during a long contention between multiple STAs that have been deferring to the same event.
As recommended in the IEEE 802.11, the method to choose a backoff timer is:
? ?
aSlotTimeRandom Time
Backoff ? ?
? ?
2.5where
Random( ) = Pseudorandom integer drawn from a uniform distribution over the interval [0,CW], where CW is an integer within the range of values of the PHY characteristics aCWmin and aCWmax, aCWmin ≦ CW ≦ aCWmax. It is important that all designers should recognize the need for statistical independence among the random number streams among STAs.
aSlotTime = The value of the correspondingly named PHY characteristic.
The Contention Window (CW) parameter shall take an initial value from the minimum contention window size, aCWmin, according to the IEEE 802.11 recommendation. Every STA shall maintain a STA Short Retry Count (SSRC) as well as a STA Long Retry Count (SLRC), both of which shall take an initial value of zero.
The SSRC shall be incremented whenever any short retry count associated with any MSDU frame is incremented. The SLRC shall be incremented whenever any long retry count associated with any MSDU frame is incremented. The CW shall take the next value in the series every time an unsuccessful attempt to deliver a MPDU packet.
Once it reaches the maximum contention window size, aCWmax, the CW shall remain at the value of aCWmax until it is reset when the collided packet is sent out. This can improve the stability of the access protocol under high loading conditions.
The backoff procedure shall be invoked for a STA to transfer a frame when the STA finding the medium busy as indicated by either the physical or virtual carrier-sense mechanism. The backoff procedure shall also be invoked when a transmitting STA infers a failed transmission from the non-response of the ACK frame.
To begin the backoff procedure, the STA shall set its Backoff Timer to a random backoff time using the equation in (2.5).
22
A STA performing the backoff procedure shall use the carrier-sense mechanisms to sense the medium and to determine whether there is any channel activity during each backoff time slot. If no medium activity is indicated for the duration of a particular backoff time slot, then the backoff procedure which the STA operates shall decrease its backoff timer once an aSlotTime. If the medium is determined to be busy at any time during the backoff duration, then the STA will suspend the backoff procedure; that is the backoff timer shall not decrease for that time slot. The medium shall be determined to be idle for the duration of DIFS or EIFS before the backoff procedure is allowed to resume if it is suspended by the interruption of the busy medium. All transmissions shall commence again whenever the Backoff Timer reaches zero.
The Figure 8 intorduces the procedure when the backoff algorithm is performed by the STAs under the IEEE 802.11 [1].
While the STA A occupies the medium to transmit the data frames, the STA B, STAC and STA D desire to initiate a data transmission during this period and sense the condition of the medium as busy. All of them will defer until both the physical and virtual carrier-sense mechanisms indicate that the medium is determined as idle for the duration equal to one DIFS. At that point, every STA processes the backoff algorithm right away, and selects the backoff timer individually. The STA with the smallest backoff timer will count down its counter to zero first, and starts its transmission immediately, like the STA C in the Figure 8. All other STAs should suspend the decrease of the backoff timer and keep the remainder until the medium is determined as idle for one DIFS duration, as the STAB and STA C show. Following the idle time, all STAs can resume the count down procedure. Any STA with the backoff timer reaching to zero earlier will get the chance to launch the transmission.
In the case of the successful acknowledged transmissions, this backoff procedure shall begin at the end of the received ACK frame. In the case of an unsuccessful transmission requiring an acknowledgement, this backoff procedure shall begin at the end of the ACK timeout interval right away. If the transmission is successful, the CW value reverts to the initial value aCWmin before the next random backoff interval is chosen, and the STA short retry count and/or the STA long retry count are updated.
This assures that the transmitted frames from a STA are always separated by at least one backoff time slot. The advantage of this procedure is that when multiple STAs are deferring and going into the random backoff state, the STA selecting the smallest backoff time value using the random function will win the contention and gain the right to access the free medium.
24