Version 18 (modified by chunter, 7 years ago) (diff)


802.11 Reference Design: Recovery Procedures and Retransmit Limits

An important role of the 802.11 DCF is to detect the presence of transmission failures and properly recover from those errors through the use of a retransmission mechanism. This behavior is subtle and often misunderstood. This document serves two roles:

  1. To describe the behavior implemented in the Mango 802.11 Reference Design.
  2. To provide reference to the portions of the 802.11 standard where the behavior is specified.

The organization of this document is a series of examples that build on one another and show corner cases in the behavior. The retransmission mechanism in 802.11 is further complicated by the presence of RTS/CTS medium reservation handshakes prior to the transmission of an MPDU, so examples are broken up into sections depending on whether RTS/CTS is not used (i.e. an MPDU is "short") or RTS/CTS is used (i.e. an MPDU is "long"). Without loss of generality, the examples in this document assume the following parameters:

  • dot11ShortRetryLimit = 7
  • dot11LongRetryLimit = 4
  • aCWmin = 15
  • aCWmax = 1023

Overview and Terminology

The figures below are not drawn to scale. The presence of the events shown in the legend above is used to indicate only their existence and not their relative size to one another. Furthermore, the presence of a backoff interval is not shown as increasing in duration with an increasing contention window. In fact, it is important to keep in mind that any given random draw of a backoff can produce a 0-duration backoff. The figure will show this event with the full backoff event regardless.

Term Definition
SRC Short Retry Count of MPDU
LRC Long Retry Count of MDDU
SSRC Station Short Retry Count
SLRC Station Long Retry Count
CW Contention Window

The above table summarizes the terms used in the figures below. A station is responsible for maintaining an SRC and LRC for each MPDU it intends to transmit. The SRC and LRC are used for controlling retransmissions of the MPDU in the event of a failure. Additionally, a station maintains an SSRC and SLRC that are global to the station and not tied to any particular MPDU. The SSRC and SLRC are used for controlling the current CW of the station.

Short MPDUs (MPDU length ≤ dot11RTSThreshold)

Example S.1

The above example shows the ideal scenario the transmission of 2 MPDUs. The reception of an ACK after each MPDU transmission keeps all the associated retry counts in the originating station at their minimum along as well as the contention window.

Example S.2

The above example shows a scenario where 2 MPDUs are ultimately successful. However, the first transmission attempt of the first MPDU does not result in the successful reception of an ACK. Instead, a timeout occurs and the originator infers a transmission failure. The illustrated behavior in the originator's retry counts and contention window are described by the following paragraphs in the standard

Excerpt A of Section 9.3.3 of 802.11-2012

Every STA shall maintain a STA short retry count (SSRC) , ... which shall take an initial value of 0. The SSRC shall be incremented when any short retry count (SRC) ... is incremented. ... The CW shall take the next value in the series every time an unsuccessful attempt to transmit an MPDU causes either STA retry counter to increment, until the CW reaches the value of aCWmax.

Excerpt B of Section 9.3.3 of 802.11-2012

The CW shall be reset to aCWmin after every successful attempt to transmit a frame containing all or part of an MSDU or MMPDU, ... .

Excerpt A of Section of 802.11-2012

After transmitting a frame that requires acknowledgment, the STA shall perform the ACK procedure, as defined in The SRC ... and the SSRC shall be incremented every time transmission of a MAC frame of length less than or equal to dot11RTSThreshold fails ... . This SRC and the SSRC shall be reset when a MAC frame of length less than or equal to dot11RTSThreshold succeeds ... .

In other words, the SRC increments because of the MPDU transmission failure. The SSRC increments because the SRC increments. The CW increases because the SSRC increments. When an ACK is received in the second attempt of MPDU 1, Section dictates that the success of that MPDU causes the SRC and the SSRC to be reset. Section 9.3.3 dictates that the successful delivery of the MPDU also resets the CW.

Example S.3

The above examples shows a scenario where the no MPDU transmission ever succeeds. As in Example S.2, Excerpt A of Section 9.3.3 of 802.11-2012 dictates that each failure to delivery the transmission causes an increase in the SRC, SSRC, and the CW. The termination of retransmissions is dictated by the following excerpt from the 802.11 standard:

Excerpt B of Section of 802.11-2012

Retries for failed transmission attempts shall continue until the SRC ... is equal to dot11ShortRetryLimit ... . When [this limit] is reached, retry attempts shall cease, and the MPDU ... shall be discarded.

On the 7th failure, the SRC increments from 6 to 7. At this moment, the SRC equals the dot11ShortRetryLimit, causing the MPDU to be discarded. Simultaneously, Excerpt A of Section 9.3.3 of 802.11-2012 from Example S.2 dictates that the SSRC increase from 6 to 7 due to the increment operation of the SRC. At this point in time, the SSRC equals the dot11ShortRetryLimit as well. This event triggers the following behavior:

Excerpt C of Section 9.3.3 of 802.11-2012

The CW shall be reset to aCWmin ... when SSRC reaches dot11ShortRetryLimit.

As such, the 2nd MPDU begins with a fresh CW minimum. However, it is important to note that the SSRC itself is not reset, so the next MPDU begins with an SSRC of 8.

Example S.4

The above example extends Example S.3 to a third MPDU transmission. The main behavior to notice is that, while MPDU 2 began with a minimum contention window (for reasons explained in Example S.3), MPDU 3 begins with a maximum contention window. In general, the contention window does not reset with every new MPDU. In the event of a string of failures, it will only reset when the SSRC exactly equals the dot11ShortRetryLimit.

Long MPDUs (MPDU length > dot11RTSThreshold)

Example L.1

The above example shows the ideal scenario the transmission of 2 MPDUs. Each MPDU transmission is initiated with an RTS control frame. A successful CTS response to that RTS transmission instructs the originator to attempt a transmission of the MPDU. A reception of a successful ACK in response to that MPDU transmission keeps all counts and contention window at station at their minimum values.

Attachments (12)

Download all attachments as: .zip