CAC-MAC: A Cross-Layer Adaptive Cooperative MAC for Wireless Ad Hoc Networks

Cooperative communication has been recently proposed as a way to mitigate fading in wireless networks. A cross-layer adaptive cooperative MAC (CAC-MAC) protocol for IEEE 802.11 DCF-based wireless ad hoc networks is proposed. The novel aspect and core idea of our proposal is a cross-layer adaptive data transmission algorithm considering both the length of data frame at the MAC layer and instantaneous wireless channel conditions. Under this algorithm, direct transmission mode or proper cooperative transmission mode will be adaptively selected for data packets according to both MAC layer and physical layer information. Analytical results demonstrate the effectiveness of the adaptive data transmission algorithm. Simulation studies based on NS2 show that the CAC-MAC protocol can significantly improve network throughput and reduce packet delay compared with legacy IEEE 802.11 protocol, which illustrate a new paradigm for realistic cross-layer cooperative MAC protocol design for next-generation wireless ad hoc networks.


Introduction
Cooperative communication, which can achieve spatial diversity by exploiting distributed virtual antennas of cooperative nodes, has attracted much attention recently due to its ability to mitigate fading in wireless networks. The main feature of cooperative communication is the involvement of neighboring nodes in data transmissions. As depicted in Figure 1, the source has an inferior channel with destination and meanwhile no less than one neighboring node has a good channel with both the source and the destination. And hence, the source can transmit data packets via neighbor node(s) to the destination at a higher data rate instead of a direct transmission to the destination at a lower data rate.
The studies in [1][2][3] show that significant benefit is obtained through cooperative communication in terms of reliability, throughput, coverage range, and energy efficiency. Although cooperative communication originates from the physical layer, from the system point of view, in order to realize a fully cooperative network, researches at the physical layer should be coupled with those at the higher network layers, for example, MAC layer. However, so far no standard on cooperative MAC design has been achieved, and hence leave it an open research topic.
The neighboring nodes participating in the cooperative communication are called relay nodes or helpers. The relay nodes can operate on decode-and-forward (DF), amplifyand-forward (AF) or coded cooperation (CC) strategies. For further details readers are referred to [4,5]. Generally, employing more relay nodes for a given source-destination pair may obtain more cooperative diversity gain, but the resultant lower spectrum efficiency and higher computational complexity may not lead to a beneficial performancecomplexity tradeoff [6]. Therefore, this paper focuses on selecting no more than one relay node for each sourcedestination pair whenever cooperative communication is desirable.
There have been exiting literatures on cooperative MAC design utilizing just one relay node for IEEE 802.11 DCFbased wireless networks. rDCF [7] and CoopMAC [8] are two similar cooperative MAC protocols that take advantage of the multirate capability of the IEEE 802.11 in which high-data-rate nodes assist low-data-rate nodes to transmit data. In these two protocols, each node promiscuously listens to ongoing transmissions to establish and maintain a relay table. Therefore, the relay selection cannot adapt to dynamic channel conditions and network topology in wireless networks just as it is based on the observation of historical transmissions. Furthermore, in these researches, the cooperative diversity is not exploited and only one copy of a packet coming from the source or the relay node is processed at the destination. Hence, more specifically, rate adaptation is the main focus in data transmissions in these two protocols. Considering that CoopMAC is a cooperative protocol for infrastructure-based wireless LANs, Korakis et al. [9] extend it to the ad hoc network environment. Based on CoopMAC, Liu et al. [10] further propose a cross-layer cooperative protocol for wireless ad hoc networks to leverage cooperation in both MAC and PHY layers where the relay node adopts coded cooperation strategy [5]. Actually, for a cooperative MAC protocol, the data transmission mode should be dynamically selected according to both the length of data frame at the MAC layer and the time-varying channel status between source, relay, and destination, which is not considered in the above-mentioned studies [7][8][9][10].
In order to reap more benefit of cooperation, in this paper, a cross-layer adaptive cooperative MAC (CAC-MAC) protocol for IEEE 802.11 DCF-based wireless ad hoc networks is proposed, which forms a cross-layer approach to cooperation involving interaction between MAC layer and physical layer. The novel aspect and core idea of our proposal is a cross-layer adaptive data transmission algorithm considering both the length of data frame at the MAC layer and instantaneous wireless channel conditions. Under this algorithm, direct transmission mode or proper cooperative transmission mode will be adaptively selected for data packets according to both MAC layer and physical layer information. The key features of our proposal are as follows.
First, only when a data frame at the MAC layer is longer than a specified length, CAC-MAC initiates a RTS/CTS handshake, which brings down the overhead of network.
Second, for long data frames, RTS/CTS direct transmission or proper cooperative transmission will be selected according to the wireless channel conditions. Moreover, the cooperative transmission is divided into either "sourcerelay-destination" transmission scheme or receiver maximal ratio combining scheme according to the channel conditions between source, relay, and destination.
Third, the selection of the best relay node for a given source-destination pair is based on instantaneous wireless channel measurements instead of a relay table, which has the added cost to be created and maintained based on the observation of historical transmissions.
The remainder of this paper is organized as follows. Section 2 introduces the system model. Section 3 proposes a cross-layer adaptive cooperative MAC (CAC-MAC) protocol for IEEE 802.11 DCF-based wireless ad hoc networks. Section 4 analyzes the cross-layer adaptive data transmission algorithm. Section 5 evaluates the performance of CAC-MAC protocol based on NS2, and Section 4 concludes this paper.

System Model
We consider a wireless ad hoc network based on IEEE 802.11a that supports transmission rates of 6, 12, 24, and 54 Mbps. A single physical channel is available for wireless transmissions. We assume a slow fading channel that the channel conditions do not change within the duration of a MAC frame transmission. We assume that each node has constant transmission power and that the wireless channels are symmetric. It is also assumed that a relay node works on the decode-and-forward (DF) strategy [4]. The terms relay node and helper are of the same meaning in this paper.
Due to the broadcast nature of the channel, the destination will receive the signals transmitted by both the source and the relay node. Receiver combining technique [11], not supported by any existing wireless hardware, can be implemented in the next-generation wireless baseband chip. Hence, it is reasonable to assume that the destination can adopt maximal ratio combining diversity technique at the physical layer to combine the signals coming from the source and the relay node if the independent copies are in the same modulation scheme, enabling higher transmission rates and robustness against channel variations due to fading.

The Proposed CAC-MAC Protocol
In our proposal, each data transmission is based on two planes: control plane and data plane. The control plane is to determine the data transmission mode, in which the main issues include relay selection and the cross-layer adaptive data transmission algorithm. The data plane is in charge of Input: L, R sr , R rd and R sd Output: transmission mode (mode) and the source transmission rate (rate) Algorithm 1: Cross-layer adaptive data transmission algorithm. transmitting, receiving, or forwarding data packets according to the transmission mode.

Relay Selection.
In CAC-MAC protocol, for long data frames, the RTS/CTS handshake is initiated, so the neighbor nodes can measure the instantaneous channel conditions toward source and destination via overhearing RTS and CTS frames. In addition, the neighbor nodes can extract the channel conditions between source and destination from the extended CTS frame. The extended CTS frame format will be described later in Section 3.3. With the channel quality information, by checking the threshold value, which is precalculated and guarantees a certain bit error rate for each modulation scheme, we can obtain the achievable transmission rate between source and relay, relay and destination, and source and destination, denoted by R sr , R rd , and R sd , respectively.
We assume the length of a data frame is L bytes; if a direct transmission is adopted, the transmission time would be If a cooperative transmission via node i is adopted, the transmission time would include two parts: the time consumed between the source and the relay and that consumed between the relay and the destination, namely, For a neighbor node j, if it satisfies it becomes a candidate relay node. And the candidate relay node r * that has the minimum transmission time will be the best relay node for the given source-destination pair, that is, where R is the set of all candidate relay nodes.
In practice, to select the best relay node for a given source-destination pair, each candidate relay node r will start a timer T r [6] in line with the parameter T r coop , and the longer T r coop means a lager T r . And hence, the timer T r of the relay node with the minimum T r coop will expire first. Once the timer expires, the relay node will transmit an HTS (helper ready to send) frame [8] to declare its capacity to participate in the cooperative transmission. All other candidate relay nodes waiting for their timer to expire that overhear the HTS frame from another relay node will back off. After the best relay node has been selected, it is ready to participate in cooperative transmission.

Cross-Layer Adaptive Data Transmission Algorithm.
In CAC-MAC protocol, the data transmission modes are divided into four schemes, that is, basic access scheme, RTS/CTS direct transmission scheme, "source-relaydestination" transmission scheme, and receiver maximal ratio combining scheme, according to both the length of data frame at the MAC layer and the time-varying channel status between source, relay, and destination. The cross-layer adaptive data transmission algorithm is briefly summarized in Algorithm 1.
It is well known that there are two access schemes defined in IEEE 802.11 DCF, namely, the basic access scheme and the RTS/CTS scheme. Similarly, under our proposed algorithm, when a data frame is shorter than RTS threshold, the source transmits it directly to the destination by the basic access scheme. Otherwise, the source will initiate a RTS/CTS handshake. If the source has a good channel with the destination where the sustainable rate is equal to or larger than 24 Mbps, or in the case that the channels between source and destination, source and relay, relay and destination are inferior where all the sustainable rates are equal to or less than 12 Mbps, the source transmits the data frame by the RTS/CTS direct transmission scheme.
On the other hand, if the source has an inferior channel with the destination and meanwhile no less than one relay node has a good channel with both the source and the    destination, therefore the source can transmit the data packet via the relay node to the destination. Once the source initiates one cooperative transmission via a relay node, it will transmit a data packet at a rate of R sr . When the relay node decodes and forwards the data packet toward the destination at a rate of R rd , the destination will receive two copies of the packet: one from the source with the rate of R sr and the other from the relay node with the rate of R rd .
Since the destination has an inferior channel with the source, it will not be able to solely decode the data packet with the rate of R sr , just as its sustainable rate is R sd (R sr > R sd , R rd > R sd ). When R sr ≥ R rd , if the destination adopts the maximal ratio combining scheme, the relay node should forward the data packet at a higher rate of R rd (R rd = R sr > R rd ) due to the assumption that the independent copies are in the same modulation scheme for the receiver maximal ratio combining technique, which will improve the network performance compared with the "source-relay-destination" transmission scheme. Otherwise, when R sr < R rd , if the destination adopts the maximal ratio combing scheme, the relay node should forward the data packet at a lower rate of R rd (R rd = R sr < R rd ), which will sacrifice the original higher transmission rate R rd . So, under the circumstances, the "source-relay-destination" transmission scheme will achieve superior network performance.

Details of the CAC-MAC Protocol.
To support CAC-MAC protocol, some minor modifications to the IEEE 802.11 frames format are required, and meanwhile the RTS/CTS handshake defined in IEEE 802.11 is further extended to an RTS/CTS/HTS handshake. The modified CTS, HTS, and DATA frames format and the exchange of messages are shown in Figures 2 and 3, respectively.
We now give a detailed description of CAC-MAC protocol from the views of source node, destination node, and relay node, respectively, as follows.

Source Node
(1) When the length of a data frame is less than the RTS threshold, the source will transmit it directly to the destination by the basic access scheme of IEEE 802.11 DCF, which brings down the overhead in the network; otherwise, the source will send an RTS frame and wait for a CTS frame from the destination. (2) If the source receives a CTS frame but does not receive any HTS frame from neighbor nodes in a certain interval, it will transmit the data packet by RTS/CTS direct transmission scheme. If both CTS and HTS frames are received in sequence, the source transmits the data packet according to the "transfer mode" piggybacked in the HTS frame. (3) If an ACK is not received after an ACK timeout, the source should perform random backoff; otherwise, the source will handle the next data packet in its queue.

Destination Node
(1) If the destination receives an RTS frame from the source, it sends a CTS frame including the measured channel conditions information between source and destination and waits for HTS frames from neighbor nodes.
International Journal of Distributed Sensor Networks

5
(2) If any HTS frame is not received before receiving data packet, indicating that the source transmits data packet by RTS/CTS direct transmission scheme, the destination processes the unique data packet.
(3) If the destination receives an HTS frame before receiving data packet, it will process the received data packet according to the "transfer mode" piggybacked in HTS and then sends an ACK to the source.

Neighbor Node
(1) The neighbor node judges whether itself is a candidate relay node for a given source-destination pair according to (1)-(3) in Section 3.1. If it is, it will wait for the timer T r to expire and then broadcasts an HTS frame to declare itself; if it receives an HTS frame before the timer reaches zero meaning it is not the best relay node for the given source-destination pair, the neighbor node should backoff.
(2) When overhearing a data packet, a candidate relay node extracts the "relay address" information to judge whether it is the relay node for the given sourcedestination pair. If it is, the node will decode and forward the data packet to the destination.

Analysis of Adaptive Data Transmission Algorithm
In this section, we analyze the saturation throughput and average packet delay of the cross-layer adaptive data transmission algorithm based on a Markov chain model, taking finite retry limits into account. For simplicity, it is assumed that there are no hidden nodes or capture effect in the network.

Markov Chain
Model. IEEE 802.11 DCF adopts a binary exponential backoff scheme. At each packet transmission, the backoff time is uniformly chosen in the range (0, CW − 1). The value of CW depends on the number of failed transmissions of a packet. At the first transmission attempt W = CW min , which is the minimum contention window. After each retransmission due to a collision, CW is doubled up to a maximum value, W m = CW max = 2 m · CW min , where m represents the maximum backoff stage and W m is the largest contention window size. Once the CW reaches CW max , it will remain at the value until it is reset. Therefore, we have: where i is the backoff stage, i ∈ (0, m) and m represents the maximum retransmission limits. Let b(t) be the stochastic process representing the backoff time counter for a given node and s(t) be the stochastic process representing the backoff stage (0, . . . , m) of the node · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 0, 0  Figure 4.
be the stationary distribution of the Markov chain. It is assumed that each packet collides with constant and independent probability p. As any transmission occurs when the backoff time counter reaches zero, the probability τ that a node transmits a packet in a randomly chosen slot time can be expressed as [12,13] where b 0,0 can be obtained from From (6), we can see that the transmission probability τ depends on the collision probability p. The probability p that a transmitted packet encounters a collision is the probability that at least one of the n − 1 remaining nodes transmit in the same time slot. If all nodes transmits with probability τ, the collision probability p is Therefore, (6) and (8) form a nonlinear system with two unknowns τ and p, which can be solved by the numerical method. Note that p ∈ (0, 1) and τ ∈ (0, 1).

Saturation Throughput.
Let P tr be the probability that there is at least one transmission in the considered slot 6 International Journal of Distributed Sensor Networks time. When n nodes contend on the same channel and each transmits with probability τ: The probability P s that an occurring packet transmission is successful is given by the probability that exactly one node transmits and the remaining n − 1 nodes defer transmission, conditioned on the fact that at least one node transmits: Considering that a random slot is empty with probability (1 − P tr ) and contains a successful transmission with probability P tr P s and a collision with probability P tr (1 − P s ), the saturation throughput S is given by where L represents the length of data packet, T s is the average time that the channel is sensed busy due to a successful transmission, T c is the average time that the channel is sensed busy by each node during a collision, and σ is the duration of an empty slot time.

Average Packet Delay.
A packet is dropped when it reaches the last backoff stage and experiences another collision. Let E[T drop ] be the average number of slot times required for a packet to experience m + 1 collisions in the (0, . . . , m) stages [14]: The average packet delay for a successfully transmitted packet is defined as the duration from the time the packet is at the head of its MAC queue ready to be transmitted until an acknowledgement is received. So the average packet delay E[D], provided that this packet is not discarded, is given by where the average length of a slot time is and E[X] is the average number of slot times required for successfully transmitting a packet given by:

Numerical
Results. According to (11) and (13), we compare the saturation throughput and average packet delay achieved by our proposed adaptive data transmission scheme (adaptive) with the basic access scheme (basic access), RTS/CTS direct transmission scheme (rts/cts), "sourcerelay-destination" transmission scheme (s-r-d), and receiver maximal ratio combing scheme (mrc), through 1000 times Monte Carlo simulations. The main parameters are listed in Table 1 based on IEEE 802.11a standard. Figure 5 reveals the relation between the saturation throughput and the number of nodes. It is shown that the throughput of all schemes deteriorate the number of nodes increases; however, the throughput of the adaptive data transmission scheme performs significantly better than that of the other schemes. Figure 6 depicts the saturation throughput of five transmission schemes as the length of data frame at the MAC layer increases. When the data frame length is less than the RTS threshold, the saturation throughput of the adaptive data transmission scheme is equal to that of the basic access scheme. As the data frame length increases, the adaptive transmission scheme apparently outperforms the other four transmission schemes.
International Journal of Distributed Sensor Networks     Figure 7 gives the packet delay varying with the number of nodes. It can be seen that the packet delay of the adaptive data transmission scheme is lower than that of the other schemes as the number of nodes increases. Figure 8 describes the packet delay adopting different transmission schemes. Similarly, when the data frame length is less than the RTS threshold, the packet delay of the adaptive transmission scheme is equal to that of the basic access  scheme. As the data frame length increases, the adaptive data transmission scheme outperforms the other schemes.
Analytical results shown in Figures 5-8 demonstrate the effectiveness of the adaptive data transmission algorithm. This is due to the fact that the adaptive data transmission scheme considers both the length of data frame at the MAC layer and instantaneous wireless channel conditions compared with the other transmission schemes when data packets are transmitted.

Evaluation of CAC-MAC Protocol
In this section, we evaluate the performance of the CAC-MAC protocol compared with the legacy IEEE 802.11 protocol based on NS2 [15,16].
We consider a wireless ad hoc network based on IEEE 802.11a where 15 nodes are randomly deployed in the area of 300 m × 300 m. In this network, there exits three source-destination pairs that are selected randomly and the remaining nodes can be exploited as relay nodes. Each of the three source nodes generates traffic at the constant bit rate (CBR) of x bps with a packet length of 1500 bytes and the relay nodes work on the decode-and-forward (DF) mode. We change the value of "x" to reflect the scenarios of different node traffic loads. We adopt Rayleigh fading model in the simulations.
We compare CAC-MAC protocol (CAC-MAC) with legacy IEEE 802.11 protocol (802.11) in terms of network throughput and packet delay. Figure 9 reveals the network throughput varying with source nodes traffic load, that is, the value of x. As each node traffic load increases, the network throughputs adopting CAC-MAC protocol and IEEE 802.11 protocol both increase up to saturation; however, the CAC-MAC protocol always significantly outperforms IEEE 802.11 protocol. Figure 10 depicts the relation between packet delay and source nodes traffic load. It is evident that data packets in CAC-MAC protocol experience significantly less delay than in legacy IEEE 802.11 protocol as the source nodes traffic load increases.
As demonstrated in Figures 9 and 10, CAC-MAC protocol can achieve a much higher network performance than the legacy IEEE 802.11 protocol in terms of network throughput and packet delay. These improvements primarily stem from the novel cross-layer adaptive approach to design  the cooperative MAC, which involves interaction of both MAC layer and physical layer.

Conclusions
In this paper, we propose a cross-layer adaptive cooperative MAC (CAC-MAC) protocol for IEEE 802.11 DCF-based wireless ad hoc networks, which consists of a realistic cooperative framework to exploit both MAC layer and PHY layer information. In CAC-MAC protocol, each data transmission is based on two planes: control plane and data plane. The control plane is to determine the data transmission mode, in which the main issues include relay selection and the cross-layer adaptive data transmission algorithm. The data plane is in charge of transmitting, receiving, or forwarding data packets according to the transmission mode. Simulation results based on NS2 show that our proposal can significantly improve network throughput and reduce packet delay compared with legacy IEEE 802.11 protocol.