[[TracNav(802.11/TOC)]] = 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. 1. 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 === Glossary of Terms === ||= '''Term''' =||= '''Definition''' =|| || '''SRC''' || Short Retry Count || || '''LRC''' || Long Retry Count || || '''SSRC''' || Station Short Retry Count || || '''SLRC''' || Station Long Retry Count || || '''CW''' || Contention Window || [[Image(legend.png)]] = Short MPDUs (MPDU length ≤ ''dot11RTSThreshold'') = == Example S.1 == {{{ #!div style="overflow-x:scroll; border:1pt solid" [[Image(ex_s_1.png)]] }}} 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 == {{{ #!div style="overflow-x:scroll; border:1pt solid" [[Image(ex_s_2.png)]] }}} 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) associated with any MPDU of type Data 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 of Section 9.3.4.4 of 802.11-2012''''' ''After transmitting a frame that requires acknowledgment, the STA shall perform the ACK procedure, as defined in 9.3.2.8. The SRC for an MPDU of type Data or MMPDU and the SSRC shall be incremented every time transmission of a MAC frame of length less than or equal to dot11RTSThreshold fails for that MPDU of type Data or MMPDU. This SRC and the SSRC shall be reset when a MAC frame of length less than or equal to dot11RTSThreshold succeeds for that MPDU of type Data or MMPDU.'' 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 9.3.4.4 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 == {{{ #!div style="overflow-x:scroll; border:1pt solid" [[Image(ex_s_3.png)]] }}}