Further Insights about IEEE 802.11 MAC design: ( by ZHIBIN WU)

Shared Media and Collision

For a shared media,  the theoretical throughput cannot be reached when multiple stations are going to access the same channel.
It will leads to collision, and to reduce collision, extra overhead lost in trade off for better performance to overcome this phenomena.
The basic idea to handle collision is that each STA backoff a random timeslot before transmission or re-transmission. It must be random because STAs are not suggested to collide again and again.
  1. Collision Detection (CSMA): In Ethernet, STAs are simply transmit if sense the channel is idle. If collision happens, backoff will be adopted.
  2. Collision Avoidance (Channel Sensing). In wireless LAN, this is used because collision detection is not possible when STA cannot hear and talk simultaneously. It is interesting that CA is heavily depends on channel sensing, if channel sense is not effective, collision cannot be avoided. Thus, the basic Timeslot for backoff is long enough to sense the channel state (busy or idle correctly).

  3.  
At the expense of delay and throughput waste ( because back-off simply means that.), What degree of throughput we still can achieve? Or a better-posed legal question is:
In typical wilress indoor environment, What kind of collision-handling MAC scheme has the best performance?
 

How to evaluate the Scheme

People like to use channel capacity or throughput to evaluate the performance. However, many other factors are also significant.

As we have long assumed , in some papers related to the Channel-Link-State- dependent scheduling mechanisms,  that a bad link or channel state is not affecting the existing good links, the only need for scheduling is to save the bandwidth wasted by the bad link, such as allocate more bandwidth to good one.

Does this assumption really true? No.
My results show that it really depends on different back-off scheme.

In summary, In wireless environment, a good collision-handling schemes ( associated with back-off ) should meet following requirements:

  1. Achieve as more as to reach theoretical throughput. This is self-evident and most important. Methods such as using possible smallest backoff timer, etc.
  2. Fairness.  As, all STAs has the same chance in access the channel, even in a short-term sense. as long as the conditions (such as link quality) are same. A typical problem regarding fairness is the "capture effect" in IEEE802.3 standard, when one STA has a long queue to transmit, if it succeeded in the first several packets, it stands a great chance to transmit as more as it wants, stifling other STAs. However, if each packet transmission must wait for a backoff time, then this problem would be overcomed.
  3. Insensitive to other users link state. Let's imagine a user is walking away from other users, but still transmit something. Does the other user should be affected? it's that when one link is going worse, are other STAs should not  going to be screwed.
  4. Be robust when network is overloaded.

Comparing the Scheme:

System model:

Let's first assume each time a packet is going to be send, a backoff timer is used. This is true in 802.11 DCF and achieve fairness.

During time interval T. T is represented in the number of TimeSlot.  There are M stations in the network. And each has N packets to arrive periodically in this time duration T. Each packet has a length of L ( equivalent to L Timeslots, means it took the link K timeslot to transmit this packet). L is fixed, so packet length does not change in this model. As packet length is fixed,
we can also infer the PER (packet error rate)  has a simple relation to BER.

Each station has a probability, p1, p2, p3,...... pM of PER.
As, in above model, Link rate is not needed, because all rate-parameters are transposed to Timeslot-related.
No RTS/CTS, no ACK,
Backoff time is also some numbers of basic Timeslots.

Three Different Schemes:

  1. Fixed CW (Contention Window), para. CWfix
  2. Exponential Backoff: (CW doubles when collision happens) para. CWmin and CWmax
  3. Choose Backoff time from a Geometric Distribution. Para.: pGeo
Relationship of the parameter:
  1. The ratio of CW parameter  to T is essential to throughput, because longer backoff time means relevant low throughput.
  2. P=N*L*M is offered load, the ratio of N*L*M/T is the offered load, from 0 to 1. We like to simulate the system in a near-saturate situation, because this is the key area to obtain high throughput.
  3. the ratio of CW parameters to L is also relevant, when CW is decided, if K is so small, means short packets are prevailing in the network .

Simulation Result:


Simulation Set 1:  Exponential Back-off Scheme CWmin = 2, CWmax = 64 )

Scene 1:  Assume M = 2 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure  of Scene 1: The overall throughput  and signal link throughput comparison   (Associated MAT file, variable 'Sim_06_01', 'Sim_06_02')

Scene 2:  Assume M = 5 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure  of Scene 2: The overall throughput  and signal link throughput comparison   (Associated MAT file, variable 'Sim_07_01', 'Sim_07_02')

Scene 3:  Assume M = 2 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure  of Scene 3: The overall throughput  and signal link throughput comparison   (Associated MAT file, variable 'Sim_00_01', 'Sim_00_02')

Scene 4:  Assume M = 5 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure  of Scene 4: The overall throughput and signal link throughput comparison   (Associated MAT file, variable 'Sim_01_01', 'Sim_01_02')

Simulation Set 2:  Exponential Back-off Scheme CWmin = 32, CWmax = 1024 )

Scene 1: Channel Throughput Comparison .vs. offered load. vs. packet loss rate ( when M = 2)
Figure . of Scene 1: The overall throughput drops a quickly  (Associated MAT file, variable 'd' )

Scene 2: Assume each STA has 0.0 PER (perfect reception) .vs. offered load, adjust N, to see the variance of channel throughput
and adjust M, number of stations, as M= 2, 5, 10
Figure . of Scene 2: The overall throughput varies a little  (Associated MAT file, variable 'c' )

Scene 3:  Assume M = 5 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure A. of Scene 3: The overall throughput drops a little  (Associated MAT file, variable 'a', 'b')
Figure B. of Scene 3: The  throughput of STA 1 increases a little  (Associated MAT file, variable 'wu04')

Scene 4:  Assume M = 2 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure A. of Scene 4: The overall throughput drops   (Associated MAT file, variable 'Sim_03_01', 'Sim_03_02')
Figure B. of Scene 4: The  throughput of STA 1 increases

Scene 5:  Assume M = 10 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure  of Scene 5: The overall throughput and throughput of STA1 varying   (Associated MAT file, variable 'Sim_05_01', 'Sim_05_02')

Scene 6:  Assume M = 2 stations, let's change one station with PER increasing. Then observed the overall channel throughput variance and the  throughput change of one STA with still zero PER ( perfect link).
Figure . of Scene 6: The overall throughput drops and STA1 remains constant   (Associated MAT file, variable 'Sim_02_01', 'Sim_02_02')
 
 

Conclusion

Source code:
Backoff_expo.m (there is a minor error in the file, "round" should` be "floor")

Reference:

 


Last Update, Zhibin Wu on Mar 5th, 2003