The IEEE 802.11 Wireless LAN protocol uses Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) with a fairly robust arbitration mechanism to allow WLAN Stations (STAs) to gain access to the wireless medium based on their traffic priority.
The central problem with CSMA/CA and the 802.11 arbitration mechanisms is that the chances of a collision occurring between two stations increases seemingly exponentially with the number of active stations contending for the wireless medium. This means that as more and more stations use a given channel, the efficiency of the channel decreases quite dramatically.
Many engineers I have met have questioned this and have wondered why the IEEE Standards Body and 802.11 Working Group did not consider more “efficient” methods of medium access. Why not TDMA, CDMA or OFDMA? Now, I am not here to get into a discussion about which medium access method the IEEE or vendors should have chosen to develop way back when in 1990-whatever. Maybe we can discuss channel access methods and their properties on another day after I have read more on the topic! The truth is though, the IEEE 802.11 Working Group defined several methods of medium access. As it turns out, vendors only ever really developed their products to use the Distributed Co-ordination Function (DCF) and its 802.11e-defined successor, the Enhanced DCF Channel Access (EDCA) method also referred to as the Hybrid Co-ordination Function or HCF for short.
I have often wondered as a WLAN engineer what CSMA/CA actually LOOKS LIKE in the real world. As designers of Wireless LANs we are often asked to perform capacity calculations and predict what performance level a given design will achieve for a specified application type. We have the tools to perform a coverage analysis very well, but sadly the tools for capacity prediction fall short of expectation in my opinion.
I agree that there are some good tools out there that get us into the right ballpark and remove a fair amount of guesswork. But I have yet to come across any tools that can accurately model the effects of WLAN contention and its effect on capacity from first principles. Most capacity calculators and models I have ever used will cover for the effects of contention using a simple “RF environment” setting that reduces the amount of airtime efficiency by a certain factor to account for higher collisions in noisier and busier environments. While this gets us closer to an estimated value of capacity, it still does not give us a definitive answer. It also IGNORES the underlying mechanics of what is truly going on, making our calculations susceptible to unforeseen errors. Don’t get me wrong – errors are present in all calculations and can be worked around, but we need to know what they are or at least see where they may come from! Oftentimes, if we get pushed to reveal the source of some values used in our current capacity calculators, we often have to admit that it is based largely on empirical evidence, or past experience. Sometimes that will work, other times it might not.
There are also newer technologies like 802.11ax with OFDMA channel access methods that promise to introduce a new “High Efficiency” mode of operation to the 802.11 Standard. It would be useful then to understand exactly why and under what circumstances the current standard and its amendments are inefficient! We also need to build a model that can show the potential improvements brought forth by new amendments.
This is the source of my motivations for starting this blog series. And before you say it…
Yes, I know The Birthday Problem
When you mention the term 802.11 Contention or CSMA/CA most WLAN engineers will talk about THE BIRTHDAY PROBLEM, and we all understand that this calculates the overall chance of a collision given a certain number of clients. But it still doesn’t really give us a clear picture of how it works. It’s kind of like saying “There is a 15% chance of rain today”, which is useful to tell whether to walk outside with an umbrella, but it doesn’t give us any insight into how the clouds form, or when it will rain, or for how long, or if there will be a monkey’s wedding, or if it will involve a romantic couple kissing in a park. Ok, maybe I took it too far, but you get my gist. We want details! Details are important. Details bring insight and understanding.
So what am I going to attempt?
In this blog series I intend to try and model the 802.11 arbitration process to show how certain factors can affect contention overhead in a Wireless LAN.
I will spend some time outlining the mechanics of what I am trying to model and some of the various approaches I have taken to visualize it. I will also show how those methods are limited and why they are only an approximation of reality.
Let’s start (and end Part 1) by defining exactly what I am trying to visualize.
I want to explore what 802.11 contention LOOKS LIKE in the real world. Given N active stations using a given WLAN channel:
- What is the likelihood overall of one (or more) collisions occurring given N active clients? (This is the answer given by The Birthday Problem).
- What is the likelihood of a specific station experiencing a collision at any given time?
- How many collisions should we expect a client to have before successfully transmitting a packet?
- Do the number of collisions fluctuate or settle into a relatively stable dynamic equilibrium?
- Can the number of collisions “snowball” into a state where the medium becomes unusable?
- What (really) is the maximum number of active clients that can be supported on a single WLAN channel before the system becomes unstable and the protocol breaks down?
- How do different 802.11 technologies (E.g. DSSS, HR-DSSS) affect the number of collisions?
- How does traffic volume affect the likelihood of a collision?
- What is the effect of an unequal split of upstream Vs. downstream traffic on the number of collisions?
- How does setting QoS values alter the number of collisions?
- How can we characterize and model application traffic streams?
- How does airtime efficiency and the negotiated PHY Data Rate affect the number of collisions?
- How does the effect of contention affect our WLAN capacity calculations?
- Most importantly, given this insight how can we minimize the number of collisions to get the best possible network capacity?
Right, well that’s a pretty solid list of items to try and answer. I am not sure we will be able to get to all of them at once, but now that we’ve written down what we want to see, we can move on to Part 2!