Post-backoff was introduced into IEEE 802.11 to make sure that a station could not claim the channel by noting that the channel was idle after its own transmission, and then immediately transmit again. The idea is quite simple; transmission over -> pull a backoff from the contention window and count down (respecting the same rules w.r.t. carrier sense and inter-frame spacing etc.) and finally end up in the idle state. If a new packet was handed down by the network layer during post-backoff, the countdown would continue and result in a transmission. This behaviour is also implemented in MiXiM’s Mac80211 (and prior to that in the Mobility Framework). However, there’s a bug. Read the rest of this entry »
Tags:
Bugs,
Code,
Howto,
Linux,
modelchecking,
Networking,
Research,
Science,
Simulation Category:
Current Events,
Howto,
Science,
Troubleshooting
This post describes a bug in MiXiM’s Mac80211 which seems to be a fundamental error: when the MAC gets a packet from the Netw and the channel is busy, it schedules a senseChannelWhileIdle(currentIFS + remainingBackoff) after the ongoing transmission ends. Unfortunately, remainingBackoff is often 0 as post-backoff is likely to have completed. The result? Many synchronised collisions one IFS after the ongoing transmission. Read the rest of this entry »
OMNeT++ simulations can export an eventlog. Though the manual is pretty complete about it, I’ll summarise it here. Read the rest of this entry »
Tags:
Code,
Howto,
Linux,
modelchecking,
Networking,
Research,
Science,
Scripting,
Simulation Category:
Config files,
Howto,
Science
Doing discrete event (network) simulations; which termination criterion do you use? This article concerns OMNeT++/MiXiM but could easily be generalised. Read the rest of this entry »
If you have your data in an array (or matrix for that matter) and want to perform operations on it, most programming languages have foreach statement which lets you easily iterate all values. Matlab, actually, does not differ much. Read the rest of this entry »