On previous post, I discussed Carrier Sense Multiple Access with Enhanced Collision Avoidance (continuing here and here). This protocol allows contenders to build a collision-free schedule in a totally distributed way. The result?: stations have a fixed backoff time before attempting transmissions, a better collision avoidance than the current MAC (Distributed Coordination Function, or DCF) and a throughput increase.
We also implemented a version of CSMA/ECA in real hardware and used different sniffing and parsing tools to understand the real implementation’s underlaying behavior. In this post, we take a look at the obtained results.
What we have tested
After (barely) finding an electromagnetically-clean room over the 2.4 GHz band, four hosts were equipped with wireless cards running a simplified version of CSMA/ECA. All host were set to send UDP segments at maximum rate (65 Mbps) to an Iperf server. Hosts always have something to transmit, or what is the same to be under saturation.
In a normal CSMA/CA scenario, contenders will pick a random backoff each time they attempt to transmit; resulting in a very variable frame inter-arrival time. On the other hand, CSMA/ECA instructs nodes to pick a deterministic backoff after successful transmissions. This measure makes frame inter-arrival times to tend to a single value.
The histograms (binwidth = 0.01 ms) shown below represent the frame inter-arrival times for each host. In other words, it shows the time between two consecutive transmissions from the same host.
If we take a closer look at the frame inter-arrival times between 3.6 ms and 3.65 ms (binwidth = 0.001 ms):
As it can be appreciated, stations tend to transmit every 3.6 ms, approximately. These behavior significantly reduces collisions and have a beneficial impact on throughput.
More posts about this subject will keep coming.