Hydra – Medium Access Control Layer
Block Diagram of MAC Layer
Medium Access Control Layer Implementation
The MAC layer for Hydra implements the Distributed Coordination Function (DCF) of IEEE 802.11. This mode of 802.11 employs a basic collision avoidance mechanism which uses handshaking and carrier sensing to achieve medium access control (shown in the figure below). In this handshaking scheme, the sender transmits a Request-to-Send (RTS) message, which reserves the “floor” around the sender. The receiver responds with a Clear-to-Send (CTS) message, which similarly reserves the floor around the receiver. Upon successful reception of these messages, data transmission can commence. After error-checking the data (by using a cyclic-redundancy-check, or CRC), the receiver sends an acknowledgement (ACK) message to the sender. This protocol along with carrier-sense multiple access (CSMA) enables distributed medium access control in the DCF. The handshake mechanism of the DCF also provides the opportunity for feedback. Hydra can leverage this feedback ability in implementing various research results on closed-loop wireless systems and other cross-layer research which require feedback.
DCF mode of IEEE 802.11
In order to enable cross-layer algorithms, our design of the MAC includes a flexible interface to the PHY. This interface will allow the PHY and MAC to communicate information necessary for cross-layer control algorithms (e.g. channel estimates, signal-to-noise ratio, etc.). This interface manages communication between the MAC and PHY over a dedicated ethernet link.
The MAC is implemented using the reconfigurable router development tool Click. The Click modular router was developed by MIT’s Parallel and Distributed Operating Systems (PDOS) Group to enable flexible router configuration and development. The software allows you to develop modular elements and efficiently interconnect them using the Click configuration language. The ability to easily reconfigure Click elements at run time makes this software tool an ideal development platform for Hydra’s MAC design. We can easily generate multiple configurations for the MAC by creating simple modular modifications to the design and adding these to the flow graph of our design in Click. The flow graph for an example Hydra-MAC configuration is shown below.
Flow Graph for Example Configuration of MAC in Click elements
Additionally, by choosing Click for the development of our MAC layer we are able to leverage built-in and preexisting support for higher level protocols. Click has been used in the PDOS group’s Grid Ad Hoc Networking Project, a system for routing in wireless ad hoc mobile networks. The code for ad hoc networking protocols developed by this project is available as part of the Click package. We can leverage these Network layer protocols and Click’s built in interface to the Linux network stack in order to perform end-to-end application layer testing. Thus adding even more depth to the capabilities of Hydra.