Exponential growth in the number of wireless devices that operate
in the limited unlicensed frequency spectrum necessitates the
next generation of radio devices to be reconfigurable and sensitive
to changes in network conditions and spectrum availability. Most
modern wireless devices offer increased software programmability
and control over radio communication parameters. Since a large
portion of the MAC protocol is implemented in software, with the
firmware providing a set of functional primitives, it is possible to
design and implement alternate MAC protocols in real testbeds
equipped with commodity 802.11 devices. This paper describes
FreeMAC, a reconfigurableMAC protocol development framework
that enables the design and implementation of a general class of
multi-channelMAC protocols on a typical Linux system. FreeMAC
provides support for frequent channel switching and fine control
over the timing of packet transmissions. We also propose a mechanism
to reduce the latency in the scheduling of periodic operations
of a software MAC protocol that have strict timing requirements.
Results from our six node testbed indicate that using our approach,
the scheduling latency of slot transitions in a TDMA-style MAC
can be improved by up to an order of magnitude, with minimal
overhead. FreeMAC also exports a number of radio configuration
parameters as API functions to enable cross layer interactions
among wireless networking protocols. As a proof of concept, we
implement a simple multi-channel TDMA MAC on our testbed to
demonstrate the utility of FreeMAC as a development framework.
This is work done at the
Mobility Management and Networking (MOMENT) Lab.
Ashish Sharma, Elizabeth M. Belding
FreeMAC: Framework for Multi-Channel MAC Development on 802.11 Hardware.
In the Proceedings of the
ACM SIGCOMM PRESTO'08 - Workshop on Programmable Routers for Extensible Services of Tomorrow, Seattle, WA, Aug 2008. [
pdf]
Citation (bib)
Click to download the FreeMAC code
here.