src/wifi/doc/wifi.rst
changeset 9136 96b16f69f91b
parent 7665 a9d19a94df20
child 10139 17a71cd49da3
equal deleted inserted replaced
9135:5016d4c1ad81 9136:96b16f69f91b
   335 chose to use the method described in [ji2004sslswn]_
   335 chose to use the method described in [ji2004sslswn]_
   336 where the backoff timer duration is lazily calculated whenever needed since it
   336 where the backoff timer duration is lazily calculated whenever needed since it
   337 is claimed to have much better performance than the simpler recurring timer
   337 is claimed to have much better performance than the simpler recurring timer
   338 solution.
   338 solution.
   339 
   339 
       
   340 The backoff procedure of DCF is described in section 9.2.5.2 of [ieee80211]_.
       
   341 
       
   342 *  “The backoff procedure shall be invoked for a STA to transfer a frame 
       
   343    when finding the medium busy as indicated by either the physical or 
       
   344    virtual CS mechanism.”
       
   345 *  “A backoff procedure shall be performed immediately after the end of 
       
   346    every transmission with the More Fragments bit set to 0 of an MPDU of 
       
   347    type Data, Management, or Control with subtype PS-Poll, even if no 
       
   348    additional transmissions are currently queued.”
       
   349 
       
   350 Thus, if the queue is empty, a newly arrived packet should be transmitted 
       
   351 immediately after channel is sensed idle for DIFS.  If queue is not empty 
       
   352 and after a successful MPDU that has no more fragments, a node should 
       
   353 also start the backoff timer.
       
   354 
       
   355 Some users have observed that the 802.11 MAC with an empty queue on an 
       
   356 idle channel will transmit the first frame arriving to the model 
       
   357 immediately without waiting for DIFS or backoff, and wonder whether this 
       
   358 is compliant.  According to the standard, “The backoff procedure shall 
       
   359 be invoked for a STA to transfer a frame when finding the medium busy 
       
   360 as indicated by either the physical or virtual CS mechanism.”  So in 
       
   361 this case, the medium is not found to be busy in recent past and the 
       
   362 station can transmit immediately. 
       
   363 
   340 The higher-level MAC functions are implemented in a set of other C++ classes and
   364 The higher-level MAC functions are implemented in a set of other C++ classes and
   341 deal with:
   365 deal with:
   342 
   366 
   343 * packet fragmentation and defragmentation,
   367 * packet fragmentation and defragmentation,
   344 * use of the rts/cts protocol,
   368 * use of the rts/cts protocol,