Menu

#10 Implementation of CSMA in Mac80211

open
nobody
None
5
2013-01-20
2011-05-09
Galactix
No

I've posted this in the Google Group but feel like it should also be added as a bug.

I've spent some time comparing MiXiM simulation results with some
analytical work with IEEE802.11-2007 in hand, and I wonder if Mac80211
contains an error.

In short, the standard says (9.1.1):
- Sense channel for DIFS
- if idle, transmit immediately
- if busy, defer (e.g. perform random backoff)

If the channel is sensed idle (channel.isIdle() performs instantaneous
CCA at a single moment) Mac80211 sets a timer (senseChannelWhileIdle)
for currentIFS (DIFS). Upon expiration, the Signal is transmitted.
This is conform the standard.

But if the contention is interrupted by a transmission from a
different node, the backoff is suspended and later resumed for DIFS.
This still satisfies the standard's requirement that contiguous frames
should be separated by a 'minimum specified duration', but it should
have performed a random backoff in stead (the medium turned busy
during the CCA).

The result is that many transmission attempts do not go through random
backoff but only a deterministic 'one IFS' backoff, resulting in many
simultaneous backoff counter expirations and subsequent collisions.

The problem increases with an increasing number of nodes - the
probability of another node transmitting during an IFS increases
(assuming Poisson arrivals and 0 remainingBackoff). As the number of
nodes increases further, the medium is more often determined to be
busy by channel.isIdle() and random backoff is performed.

1) Does anyone have the same experience?
2) Am I reading the standard correctly?
3) I am going to provide a fix for this, compare it with my analytical
work and see if results coincide. I will get back to the group with
results.

ps. I am using a modified Mac80211 - where I use AIFS in stead of
DIFS. AIFS for low-priority traffic (as per 802.11e) is SIFS+9*ST, so
my IFS durations are longer than the DIFS (SIFS+2*ST) in the original
model. However, the same occurs in the original Mac80211 (with MiXiM
from the Git repository).

Discussion


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.