FreeMAC: framework for multi-channel mac development on 802.11 hardware

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 reconfigurable MAC protocol development framework that enables the design and implementation of a general class of multi-channel MAC 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.

[1]  T. Weingart,et al.  MultiMAC - an adaptive MAC framework for dynamic radio networking , 2005, First IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks, 2005. DySPAN 2005..

[2]  Saurabh Ganeriwal,et al.  Timing-sync protocol for sensor networks , 2003, SenSys '03.

[3]  Elizabeth M. Belding-Royer,et al.  Resource estimation on wireless backhaul networks , 2007, WICON '07.

[4]  P. Bahl,et al.  SSCH: slotted seeded channel hopping for capacity improvement in IEEE 802.11 ad-hoc wireless networks , 2004, MobiCom '04.

[5]  Kameswari Chebrolu,et al.  Design and evaluation of a new MAC protocol for long-distance 802.11 mesh networks , 2005, MobiCom '05.

[6]  Kevin C. Almeroth,et al.  Congestion-Aware Rate Adaptation in Wireless Networks: A Measurement-Driven Approach , 2008, 2008 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks.

[7]  D. Grunwald,et al.  SoftMAC – Flexible Wireless Research Platform , 2005 .

[8]  Lakshminarayanan Subramanian,et al.  WiLDNet: Design and Implementation of High Performance WiFi Based Long Distance Networks , 2007, NSDI.

[9]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[10]  Ashish Sharma,et al.  MadMAC: Building a Reconfiguration Radio Testbed using Commodity 802.11 Hardware , 2006, 2006 1st IEEE Workshop on Networking Technologies for Software Defined Radio Networks.

[11]  Nitin H. Vaidya,et al.  Multi-channel mac for ad hoc networks: handling multi-channel hidden terminals using a single transceiver , 2004, MobiHoc '04.

[12]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[13]  Ion Stoica,et al.  An overlay MAC layer for 802.11 networks , 2005, MobiSys '05.

[14]  Marco Cesati,et al.  Understanding the Linux Kernel, Third Edition , 2005 .