A cooperative CDMA-based multi-channel MAC protocol for mobile ad hoc networks

A cooperative CDMA-based multi-channel MAC protocol for mobile ad hoc networks

Computer Communications 32 (2009) 1810–1819 Contents lists available at ScienceDirect Computer Communications journal homepage: www.elsevier.com/loc...

850KB Sizes 2 Downloads 107 Views

Computer Communications 32 (2009) 1810–1819

Contents lists available at ScienceDirect

Computer Communications journal homepage: www.elsevier.com/locate/comcom

A cooperative CDMA-based multi-channel MAC protocol for mobile ad hoc networks Yuhan Moon, Violet R. Syrotiuk * Computer Science and Engineering, Arizona State University, P.O. Box 878809, Tempe, AZ 85287-8809, USA

a r t i c l e

i n f o

Article history: Received 22 June 2008 Received in revised form 30 June 2009 Accepted 1 July 2009 Available online 7 July 2009 Keywords: MAC protocol Multi-channel CDMA Cooperation

a b s t r a c t In this paper, we present CCM-MAC, a cooperative CDMA-based multi-channel medium access control (MAC) protocol for mobile ad hoc networks (MANETs) in which each node has one half-duplex transceiver. The protocol mitigates the multi-channel hidden and exposed terminal problems by using information about channel usage gleaned from overhearing (cooperating) neighbours. By accounting for the multiple access interference, CCM-MAC also addresses the near-far problem of CDMA in MANETs enabling concurrent transmissions on each channel. We provide an analysis of the maximum throughput of CCM-MAC and validate it through simulation in MATLAB. We also compare the throughput it achieves to IEEE 802.11, a multi-channel MAC protocol, and a CDMA-based MAC protocol. Ó 2009 Elsevier B.V. All rights reserved.

1. Introduction Today, many wireless networks are single channel systems. However, as the number of nodes communicating increases, systems with a single channel suffer declining performance. As a result, there is growing interest in multi-channel systems which have the potential to increase system throughput. Indeed, the IEEE 802.11a and b standards [1] already have multiple channels available for use. Multi-channel systems introduce the channel selection problem where a sender and receiver must both agree upon a channel for communication. In addition, the well-known hidden and exposed terminal problems of single channel systems remain in a multichannel setting. Consider Fig. 1(a), which shows a communication between nodes A and B in progress on channel 1. Now suppose that node C selects channel 2 for communication with D. When nodes A and B complete their transmission, neither has overheard the negotiation of channel 2 by nodes C and D, assuming that each has a single half-duplex transceiver. As a result, a collision likely occurs on channel 2 if A then negotiates it for communication with B. Fig. 1(b) illustrates the exposed terminal problem in a multichannel setting. Suppose that the system has three channels and that channels 2 and 3 are in use by nodes E and F (to destinations not shown in the figure). Suppose also that nodes B and C have packets queued for transmission to nodes A and D, respectively. There is a free channel available (channel 1); nodes B and C may even know this information because they are both in the transmis* Corresponding author. Tel.: +1 480 965 7034; fax: +1 480 965 2751. E-mail address: [email protected] (V.R. Syrotiuk). 0140-3664/$ - see front matter Ó 2009 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2009.07.001

sion range of nodes E and F. However, assuming the use of a carrier sense multiple access (CSMA) based protocol, only one of B or C uses channel 1 for communication, while the other defers its transmission. Both B and C can transmit concurrently yet do not. Without addressing the multi-channel hidden and exposed terminal problems, and indirectly the channel selection problem, it is not possible to maximize the utilization of the channels. One reason these problems exist is because nodes lack knowledge of channel usage. Idle neighbour nodes that overhear channel negotiation – or, cooperating nodes – may help active nodes in channel selection, and may also mitigate the hidden and exposed terminal problems. In this paper, we propose CCM-MAC, a multi-channel MAC protocol for mobile ad hoc networks (MANETs), a collection of mobile wireless nodes that self-organize without the aid of centralized control or fixed infrastructure. The protocol is designed for nodes with a single half-duplex transceiver. It uses code division multiple access (CDMA) technology [2] on each channel to increase channel efficiency, and leverages cooperation among nodes for interference awareness as well as channel selection. CDMA has high spectral efficiency, i.e., it supports more than one communication on a channel at a time. While CDMA is widely used in cellular systems there are challenges using it in MANETs. The near-far problem occurs when a signal from a close sender is much stronger than from a sender farther away. In cellular networks this problem is solved by the base station controlling the transmission power to equalize the signal power; this solution is not viable in MANETs because there is no centralized control. We use node cooperation to mitigate the near-far problem in our proposed protocol. The rest of paper is organized as follows. Section 2 reviews related work. Section 3 introduces our cooperative CDMA-based

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819

1811

Fig. 1. The multi-channel hidden and exposed terminal problems.

multi-channel MAC protocol for MANETs. Section 4 analyzes the throughput achievable by our protocol. Using MATLAB, we present simulation results comparing our protocol to IEEE 802.11, to a multi-channel MAC protocol (MMAC-CC [3]), and to a CDMA-based MAC protocol (CA-CDMA [4]) in Section 5. Finally, in Section 6, we conclude and propose future research directions.

2. Related work Since our proposed MAC protocol incorporates multiple channels, the use of spread spectrum, and the use of cooperation, we review related work on each of these topics. 2.1. Multi-channel MAC protocols Some multi-channel MAC protocols use a control channel for channel selection. Of those that do not use a control channel, some protocols [5,6] assume that nodes are equipped with a singletransceiver. Lo et al. [5] use CSMA on multiple-channels. N nodes compete to select one channel from M available; a channel is randomly chosen from the free channel list acquired by sensing at the transmitter. Zhou et al. [6] propose a multi-frequency MAC protocol for wireless sensor networks. It uses multiple frequencies to transmit or receive, and senses the carrier signal on all frequencies rather than using a handshake. For nodes equipped with multiple transceivers, Nasipuri and Das [7] propose a multi-channel MAC protocol for multi-hop wireless networks that uses power-based channel selection. Both the sender and the receiver monitor all channels and select the one that has the lowest signal power. In [8], a ‘‘soft” channel reservation is made, meaning that a node prefers to select the channel on which it was last successful. This protocol uses as many transceivers as channels, and is therefore expensive in terms of the hardware required. A power-saving multi-radio multi-channel MAC protocol for wireless local area networks (WLANs) is proposed by Wang et al. [9]. This protocol divides time intervals into three phases: first to estimate the number of active links, then to negotiate channels, and finally to transmit data. Some multi-channel MAC protocols using a control channel use only one transceiver. Shi et al. [10] introduce the asynchronous multi-channel coordination protocol for WLANs. The control channel uses the IEEE 802.11 distributed coordination function (DCF) [1]. Each node maintains a channel table and a variable indicating the channel it prefers to select. So and Vaidya [11] use a beacon signal to make periodic transmissions and give contention window time to all nodes that hear the beacon. Nodes then negotiate with each neighbour for a channel. The dynamic channel assignment with power control protocol, proposed by Wu et al. [12], expects the best channel to be the one in use by another sender located

the farthest distance away; they check signal power on the transmitter side only. Some protocols that use a control channel use multiple transceivers. At one extreme, Jain et al. [13] use as many transceivers as channels, and include free channel information in the handshake. Wu et al. [14] propose a multi-channel MAC protocol with on-demand dynamic channel assignment. Each node uses two half-duplex transceivers, and each one is used on a dedicated channel. 2.2. Spread spectrum Garcia-Luna-Aceves and Raju [15] propose a method to assign codes in a dynamic multi-hop wireless network. Using neighbour information embedded in the handshake a unique orthogonal code is found. This protocol does not address the near-far problem. In hop reservation multiple access (HRMA), Tang and GarciaLuna-Aceves [16] use a handshake to perform channel reservation for slow frequency hopping spread spectrum networks. All nodes listen using a common frequency hopping sequence. To send data, nodes exchange control packets on the current frequency. If the handshake is successful, they use the same frequency for communication. Other nodes continue hopping and the communicating pair synchronizes with the sequence after the transmission has completed. Tzamaloukas and Garcia-Luna-Aceves [17] use a similar approach except that the receiver initiates the collision avoidance instead of the sender. Protocols using frequency hopping cannot be applied to systems using forms of direct sequence spread spectrum, e.g., CDMA systems, where a signal is spread over a wide bandwidth. Muqattash and Krunz [4] propose a CDMA-based power controlled MAC protocol for MANETs. They address the near-far problem by using power control among the nodes. To obtain information about the strength of transmission power of neighbouring nodes, each node is equipped with two transceivers, one for the control channel and the other for the data channel. 2.3. Node cooperation Cooperative mechanisms are becoming increasingly important in wireless networks with the potential to enhance system performance. Our focus is on cooperation at the MAC sub-layer where idle nodes that overhear transmissions participate in the protocol. The cooperating nodes help facilitate the communication between the active node pair. Liu et al. [18] propose a cooperative MAC protocol for WLANs. One feature of CoopMac is that it uses a variety of data rates on each channel. If the direct path between the sender and receiver has a low signal-to-noise ratio (SNR), then using an intermediate cooperating node that relays the packet may be effective.

1812

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819

A different form of cooperation is proposed in the cooperative asynchronous multi-channel MAC (CAM-MAC) protocol by Luo et al. [19]. In CAM-MAC, the sender and the receiver obtain channel usage information from idle cooperating neighbours after the handshake. Many problems remain, such as the hidden terminal problem, cooperating node selection, and control packet collision. 3. A cooperative CDMA-based multi-channel MAC protocol In this section, we describe our cooperative CDMA-based multichannel MAC (CCM-MAC) protocol. We assume that there is one control channel, N data channels, and that each node has a single half-duplex transceiver. Control packets are transmitted on the control channel using a common code; this allows nodes in transmission range to overhear and decode the channel negotiation. When a node transmits a data packet on a data channel it uses its unique pseudo-random code. Such a code assignment is out of the scope of this paper; see [15] for a possible approach to this problem. In order to effectively utilize the multiple channels with CDMA, and address the near-far problem, we use information gathered from cooperating nodes. For simplicity, we ignore the influence of various phenomena such as multi-path fading or narrowband interference. 3.1. Channel negotiation CCM-MAC uses an extended CSMA style handshake for channel negotiation. In addition to the usual request-to-send (RTS), clearto-send (CTS), and acknowledgment (ACK) control packets, three additional control packets are used: decide-channel-to-send (DCTS) is used to indicate the channel selected, information-to-inform (ITI) is used by a cooperating node to aid the sender and/or receiver in its decision, and confirm (CFM) is used to inform neighbours of the receiver of the channel selection. Fig. 2 shows an example of channel negotiation in the simple case where there is no collision among ITI packets. In the figure, suppose that node B has a packet to transmit to node C. As in IEEE 802.11, if the control channel is clear for a time interval equal to a DCF interframe space (DIFS), node B transmits an RTS to node C. If this is received by node C, it responds with a CTS containing a list of channels it believes are free. Suppose that node A overhears only the RTS from node B and that node D overhears only the CTS from node C. Since each node maintains a channel status table (see Section 3.1.1 for details on this table), nodes A and D each send an ITI to node B and C, respectively, with information about the channel state around its intended receiver. Using the information contained in the CTS and ITI from node A, node B selects a channel and sends its choice in a DCTS to node C. When node A overhears the channel selection it stores this information together with the packet duration in its channel status table. On receiving the DCTS, if the selected channel is available at

the receiver side, node C returns a CFM to node B to confirm the choice. This ensures that neighbours of the receiver also overhear and store the channel selection and duration. If the cooperating nodes A and D do not hear DCTS or CFM, respectively, they clear the channel information in their status table. Finally, on receipt of the CFM, node B transmits the data packet to node C. If the data transmission is completed successfully, node C transmits an ACK to node B on the data channel to avoid a potential collision with another handshake on the control channel. Now consider a case such as shown in Fig. 3 where there are competing cooperating nodes. In this example, we consider an ongoing communication between nodes A and B whose negotiation has been overheard by cooperating nodes CN 1 ; . . . ; CN 5 . Suppose that node C has a packet queued for transmission to node D. As before, if the control channel is clear for DIFS time, node C transmits an RTS to node D. Following the CTS from D, all cooperating neighbours CN 1 through CN5 of node C transmit an ITI to node C concurrently. Generally, whenever more than one packet is transmitted at the same time, all the packets involved in the collision are corrupted. This is reasonable when the packets are received with nearly equal power. However, this is unlikely in a MANET. When packets from different nodes collide, it may be possible to successfully decode the packet with the strongest received signal strength using the capture effect of CDMA [20]. In this example, node C captures the ITI from its closest cooperating node CN 2 . Indeed, since CN 2 ’s transmission range overlaps that of C the most, it can overhear most of the packets transmitted around C and therefore provide more valuable information to C. If there is a collision of RTS control packets, each node follows the binary exponential backoff algorithm to resolve the collision; this algorithm is in common use, e.g., in IEEE 802.11 DCF [1].

Fig. 3. Example of channel negotiation with collision among ITI packets.

Fig. 2. Example of channel negotiation with no collision among ITI control packets.

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819

3.1.1. Contents of channel status table Fig. 4 shows the format of an entry in the channel status table stored at each node. Entries are inserted into the table when a node is acting as a cooperating node and are deleted when they expire or are incomplete. An entry has six fields: N id is a node identifier, Sid is the communication status of node N id , Didcoop is the estimated distance between N id and the cooperating node, Dtx=rx is the estimated distance between node N id and its partner in communication, Dur is the duration in time of the data transmission, and C is the channel number negotiated for the communication. Specifically, if a cooperating node overhears an RTS from node i i, it creates a new entry in the channel status table and sets N id transmit representing the fact that i is a transmitter, copies Sid the Dur field from the RTS, and estimates Didcoop (see Section 3.2 for an explanation of how distances are estimated). If the cooperating node subsequently overhears a DCTS the channel number is copied. Similarly, if a CFM is overheard, then both the channel number and the Dtx=rx distance are copied from it into the entry. If after overhearing an RTS, a DCTS or CFM is not overheard, then the entry is incomplete and deleted. If a CTS is overheard from node i, the only difference in how it is handled is that the communication status Sid is set to receive representing that i is a receiver. The Dur field of each entry behaves as a count-down timer; when the timer reaches zero the entry expires and is deleted. 3.1.2. Packet formats Fig. 5 shows the format for each CCM-MAC control packet and the field width in bits. In each, frame control (FC) contains information about the packet, such as the version of the protocol, the packet type (data or control) and subtype (RTS, CTS, etc.). In all cases, RA denotes the receiver address, TA denotes the transmitter address, CRC is a checksum, and Dur is the duration in time required to complete the data transmission.

Fig. 4. An entry in the channel status table.

1813

The format of an RTS control packet is the same as in IEEE 802.11. A CTS control packet includes a list of free channels at the receiver. We use N = 3 as the number of data channels in our evaluation of CCM-MAC in Section 5 hence three bits suffice for the free channel list (F). An ITI is a variable length packet whose content is constructed from entries in the channel status table. If the cooperating node overheard an RTS then it scans its channel status table for entries with transmitter communication status, i.e., Sid ¼ transmit. For each entry found, the fields Nid ; C; Dur; and Dtx=rx are copied into the channel status information field of the ITI. The number of such entries, k, is set in the frame control field of the ITI. If the cooperating node overheard a CTS then it behaves similarly, except that the channel status table is scanned for receivers instead of transmitters. Both a DCTS and a CFM control packet contain the channel number selected in the negotiation. The CFM also contains an estimate of the distance separating the transmitter and receiver, Dtx=rx . The format of an ACK control packet is the same as in IEEE 802.11. Finally, the format of a data packet in CCM-MAC is the same as the data packet format in IEEE 802.11 [1]. 3.2. Mitigating the multi-channel hidden and exposed terminal problems We use Fig. 6 to provide an example of how the CCM-MAC protocol mitigates the multi-channel hidden and exposed terminal problems. Suppose that node A is transmitting to node B. Node C is hidden to node A and could therefore cause a collision at node B if it were to transmit. This hidden terminal problem is addressed by the CCM-MAC handshake. Through the ITI and CFM packets, node C obtains the distance between nodes A and B and the channel in use. Together with information from its channel status table C can make an informed decision about channel selection, avoiding the hidden terminal problem. There may be some situations in which there is not enough information available to make a channel selection. Consider Fig. 6 again, and assume that nodes C and D complete a transmission. Even though node B is in the transmission range of C, and F is in

Fig. 5. Packet format for each CCM-MAC control packet.

1814

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819

Fig. 6. Example for mitigation the hidden and exposed terminal problems.

the transmission range of D, nodes C and D may not know which channels are in use or the communication status of B and F, respectively. In CCM-MAC, cooperating neighbours are again the key to addressing the problem. Assume that node C has another packet for node D. When node D (and any other neighbour of node C) receives the RTS, it estimates its distance d to node C from the expression for the ratio of signal power

Pt ð4pdÞ2 ð4pfdÞ2 ¼ ; Pr c2 k2

ð1Þ

where Pt is the signal power at the transmitting antenna, P r is the signal power at the receiving antenna, c is the speed of light, k is the carrier wavelength, and f is the frequency. Alternatively, if GPS is available it could be used for distance estimation. As well, various localization algorithms could be used (see, e.g., [21]). As well, node D determines the free channel list and includes it in the CTS back to node C. The cooperating neighbours CN1 and CN2 each transmit an ITI to nodes C and D, respectively. In this example, suppose that the distance between nodes B and C and nodes D and F is less than the distance between nodes A and B and nodes F and G. Therefore, to avoid the hidden-terminal problem, C should not select the same channel as nodes A and B or nodes F and G. The argument for the exposed terminal problem is very similar. For example, in Fig. 6, suppose that node B has a packet to transmit to node A while node C has a packet for D. In IEEE 802.11 nodes B and C are exposed terminals. If IEEE 802.11 were used, one of node B or node C defers its communication. However, in the CCM-MAC protocol, the second transmission is not deferred. Through the ITI from node CN 1 , node C obtains the communication status of the adjacent node. As explained next, if the communication status is the same, then both transmissions can proceed concurrently. 3.3. Mitigating the near-far problem of CDMA For the CCM-MAC protocol to mitigate the near-far problem of CDMA, the cooperating neighbours must provide additional infor-

mation to allow a node to decide whether it may add another transmission onto a channel with an existing communication. There are two factors to consider for the near-far problem in MANETs: the distance between nodes, and the communication status of the node. We use Fig. 7 to explain that the near-far problem is unlikely to occur between two nodes having the same communication status. Consider two transmitters T 1 and T 2 and their corresponding receivers R1 and R2 . In Fig. 7(a), while the receivers R1 and R2 are close to each other, the signal from T 2 and T 1 does not affect reception at R1 and R2 , respectively. In Fig. 7(b), nodes T 1 and T 2 transmit packets concurrently with their respective receivers which are each far enough away from the other transmitter. Therefore, while nodes R1 and R2 are receiving, the signal from the other transmitter does not affect reception. If each node knows the distance to and communication status of the nodes around it, the near-far problem may be avoided. In the CCM-MAC protocol cooperating neighbours may provide this information. Not only may a cooperating neighbour help with channel usage information for channel selection, it can also estimate the distance between the neighbour and transmitter (or receiver) by checking the signal strength. If the distance to a neighbour with an ongoing transmission is too close, and it has a different communication status, by selecting a different channel from that of the ongoing transmission, the near-far problem may be avoided. Using this information, a transmission may be added to a channel with an ongoing transmission if it does not cause interference. Otherwise, another channel is selected. However, if there is no available channel, the node must wait until another node finishes its transmission in accordance with the duration information. In this way, the CCM-MAC protocol makes effective use of multiple channels, and supports a high spatial reuse ratio in the system as more nodes may transmit data concurrently. 4. Maximum throughput analysis of the CCM-MAC protocol Unlike technologies such as TDMA and FDMA in which the capacity is fixed and easily computed, CDMA does not have a fixed capacity. A CDMA system can accommodate multiple users on a channel because it has high spectral efficiency. As the number of users increases, the interference increases and the signal-to-noise ratio (SNR) decreases. If the SNR falls below a threshold, the channel is saturated, and no more users are allowed onto the channel. Therefore, the capacity of a CDMA system depends on the number of concurrent users. Recall from Section 3 that we assume there is one dedicated control channel and N data channels in the CCM-MAC protocol. CDMA is used on each channel. A common code is used when transmitting on the control channel, while each node uses its unique pseudo-random code when transmitting on a data channel.

Fig. 7. Nodes having the same communication mode do not suffer interference.

1815

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819

To compute the maximum throughput of the CCM-MAC protocol we use the notion of a transmission frame time. A transmission frame time includes the time required to complete the CCM-MAC handshake, the time to transmit the data packet, and the time to respond with the acknowledgment. The time T Handshake for a pair of nodes to complete a handshake requires each control packet in the handshake to be transmitted:

T Handshake ¼ T RTS þ T CTS þ T ITI þ T DCTS þ T CFM : The number of transmissions that may proceed concurrently is dependent on the number N of data channels, as well as the maximum number Hmax of node pairs completing the handshake successfully in a transmission frame time. For CDMA-based protocols, we expect Hmax > N. Without considering noise, Hmax is given by:

Hmax ¼

L B

þ T ACK ; T Handshake

where L is the length of the data packet, and B is the bandwidth of each channel. Therefore the throughput of CCM-MAC is given by

ThroughputðCCM-MACÞ ¼

Hmax  L : L þ T ACK B

ð2Þ

However, if Hmax is more than the number of transmissions that the channel can support, then it may not be possible for all of the node pairs completing the handshake to communicate. Therefore, we must determine the maximum number of users that can communicate concurrently on one channel. Similar to Van Rooyen and Ferreira [22], and Turin [23], the received signal Y pi of the ith user in the pth symbol period is given as:

Y pi ¼

pffiffiffiffiffi  pffiffiffiffiffi pffiffiffiffiffi Es ðxpi þ gi Þ þ gpi ¼ Es xpi þ Es gi þ gpi : |fflfflffl{zfflfflffl} |fflfflfflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflfflfflffl} signal

ð3Þ

noise

Here, Es is the energy per symbol, xpi is the data bit of the ith user in the pth symbol period, gi is the additive white Gaussian noise (AWGN) with zero mean that the ith user experiences from other active users, and gpi is the noise the ith user experiences during the pth symbol period. The output SNR for the ith user’s signal may be expressed by the ratio of signal and noise power from Eq. (3) as

api ¼

pffiffiffiffiffi 2 E Es xpi

¼

E½ðgi þ gpi Þ2 

Es ; E½g2i  þ 2E½gi ; gpi  þ E½g2pi 

ð4Þ

since the user’s signal xpi ¼ 1, i.e., is a data bit denoted by ±1. The value of E½gi ; gpi  is zero because the mean of the AWGN is zero. N0 where N0 is the noise spectral density [22]. E½g2pi  is 2E s Following Pursley [24], E½g2i   K1 , where K is the number of 3Nc users considering noise and N c is the number of chips per bit, or processing gain. Substituting this approximation into Eq. (4) yields an approximate expression for the SNR:

Es  N0 þ 2E 3Nc s

api ¼ K1



K  1 N0 þ 3Nc 2Es

1 ;

ð5Þ

since Es is a constant. In this system model, all nodes transmit with the same power level and the received power from each node is also the same. Rearranging Eq. (5) to obtain an expression for K, the maximum number of users considering noise, gives:

K ¼ 3Nc



1

api



N0 2Es



þ 1:

ð6Þ

However, since our protocol is designed for operation in a multihop wireless network, it may be that the received power for each

receiver is different. The SNR in this case, following Van Rooyen and Ferreira [22], is

a0 ¼

N0 Tc

3Nc P PK dis b ; þ j¼1 dij P

ð7Þ

where the first term of the denominator N 0 =T c is the Gaussian noise power in the chip-rate bandwidth, and the second term is the interference power component expressed as a sum of the interference induced by all other active nodes. This equation assumes that the transmit power of all nodes is equal, but that each is a different distance from receiver node i. Here dis is the distance between node i and the source node s, dij is the distance between node i and active node j, P is the transmit power, and b is the propagation law exponent (normally equal to 4). The inter-node powers are scaled by the distance dij . Using Eqs. (5) and (7) a value for K, the maximum number of users with noise, is derived. Finally, by Eqs. (2), (3) and (5), the throughput of CCM-MAC in the best case is

ThroughputðCCM-MACÞ ¼

L B

ML ; þ T ACK

ð8Þ

where





Hmax

if Hmax 6 K  N;

K N

if Hmax > K  N:

This analysis only considers a single-hop scenario because that is what is considered in the evaluation in simulation. An extension of the analysis to multiple hops, as well as an evaluation in simulation of the performance in conjunction with a multi-hop routing protocol is left for future work.

5. Performance evaluation of the CCM-MAC protocol We use MATLAB to simulate our CCM-MAC protocol, the IEEE 802.11 DCF [1], and the MMAC-CC multi-channel MAC protocol [3]. For the CA-CDMA protocol [4] we present analytical results. The assumptions underlying the analysis of CA-CDMA are consistent with the assumptions made in the analysis of CCM-MAC. The IEEE 802.11 DCF protocol is well known so we do not overview it here. The MMAC-CC protocol extends IEEE 802.11 DCF to multiple channels [3]. The best channel is defined as the one with the minimum amount of interference among the data channels. The protocol uses a free channel list embedded in each control packet to exchange interference information about the channels. In addition, while a node is receiving a data packet, it sends busy-tones on the data channel in use to help the transmitter estimate the distance to the receiver. With this additional mechanism, the transmitter can select the best channel more effectively. Muqattash and Krunz [4] propose the controlled-access CDMA (CA-CDMA) MAC protocol for MANETs. They address the near-far problem by using power control. To obtain information about the strength of transmission power of neighbouring nodes, each node is equipped with two transceivers, one for the control channel and the other for the data channel. Each node listens to the control channel in order to determine the average number of active nodes in its neighbourhood. The number of nodes that can transmit concurrently is estimated by considering the multiple access interference calculated from transmission power of each node. A summary of the high-level features of the protocols is given in Table 1. We attempt to take into account these features in interpreting the results.

1816

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819

Table 1 A summary of the features of the protocols evaluated. Protocol

IEEE 802.11

Evaluation Number and type of channels Number of transceivers Uses CDMA? Uses transmission power control?

MATLAB

1 channel 1 No No

MMAC-CC

CCM-MAC

CA-CDMA

MATLAB

MATLAB

1 control and 3 data channels 1 No No

1 control and 3 data channels 1 Yes No

Analysis 1 control and 1 data channel 2 Yes Yes

Table 2 Simulation parameters. Frequency IEEE 802.11 channel rate CCM-MAC data channel rate (total) CCM-MAC control channel rate MMAC-CC channel rate (total) MMAC-CC control channel rate CA-CDMA data channel rate CA-CDMA control channel rate Transmission power Processing gain SNR threshold Reception threshold Carrier-sense threshold Interference threshold

2.4 GHz 2 Mbps 500 Kbps ( 3 = 1.5 Mbps) 500 Kbps 600 Kbps ( 3 = 1.8 Mbps) 200 Kbps 1.6 Mbps 400 Kbps 20 dBm 11 Chips 15 dB 68 dBm 74 dBm 2.78

5.1. Parameters of the simulation We assume that the channel bandwidth for each protocol is the same: 2 Mbps. Since IEEE 802.11 runs on a single channel it uses the full bandwidth for each transmission. CCM-MAC has one control channel and three data channels with the bandwidth split equally among all channels.1 In MMAC-CC, the bandwidth is split into a 200 Kbps control channel and three 600 Kbps data channels. In CA-CDMA the control channel rate is 400 Kbps while the data channel rate is 1.6 Mbps. A total of 30 nodes is placed in a square area of 1000 m  1000 m distributed uniformly at random. For mobile scenarios, the move sequences are generated according to the stationary random waypoint mobility model [25] with a node speed that is uniformly between zero and 2 m/s. Since our interest is an evaluation of throughput at the MAC layer, we select destinations from the one-hop neighbourhood of the source nodes. Half of the nodes are sources. For each packet generated, a destination is randomly selected from one of the source’s one-hop neighbours. Each node generates packets according to a Poisson process with rate k, 0 6 k 6 60 packets/s, with the same rate used by each node. Table 2 shows other parameters of the simulation; the parameters for transmission power, processing gain, and the various thresholds correspond to realistic hardware settings of the Aironet 350 series [26].2 Each simulation runs for 300 s of simulated time. The results plotted are averaged over 30 replicates resulting in a very small 95% confidence interval.

Fig. 8. Numerical analysis vs.

MATLAB

simulation of CCM-MAC throughput.

data generation rate increases the error increases to a maximum of about 6.5%. Henceforth, we only plot the results from the MATLAB simulation. Next, we investigate the throughput obtained in static scenarios compared to that obtained in mobile scenarios. Again, a data packet size of 1 Kbyte is used. Fig. 9 plots these results showing that there is about a 2.5% difference between these types of scenarios. This is because our emphasis is on MAC layer throughput with destinations in the single-hop neighbourhood only. In mobile scenarios, it is possible that a destination moves out of the transmission range of its source, or that a source moves into the range of another destination causing interference; both these would account for a decrease in throughput. As a result, we restrict our presentation to mobile scenarios only.

5.2. Simulation results We begin by comparing the throughput approximation from our analysis (Eq. (8)) to the throughput measured in the MATLAB simulation of the CCM-MAC protocol. Fig. 8 shows this comparison for a mobile network when the data packet size is 1 Kbyte. At low data generation rates, the approximation error is less than 2%. As the 1

For simplicity, we do not model the guard bands between sub-channels. The interference threshold for the Aironet 350 series is not provided in [26]. Hence, we used a specification in [22] compatible with the Aironet series. 2

Fig. 9. CCM-MAC throughput in static vs. mobile topologies.

1817

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819 6

x 10

6

802.11 CCM MAC MMAC CC CA CDMA

Network Throughput (bit/sec)

5

4

3

2

1

0 0

10

20 30 40 Data Generation Rate (packet/sec)

50

60

Fig. 11. Throughput as a function of network load for 1 Kbyte data packets.

6

x 10

7

802.11 CCM MAC MMAC CC CA CDMA

6

Network Throughput (bit/sec)

Figs. 10–12 show throughput as a function of the network load for increasing data packet size. In general, the throughput of the MMAC-CC protocol is always higher than IEEE 802.11, and the throughput of the CCM-MAC protocol is always higher than MMAC-CC. This can be interpreted first, as the advantage that using a multi-channel protocol brings over a single channel, and second, the advantage that CDMA brings over and above using multiple channels. In MMAC-CC, at most N nodes may transmit data packets on N data channels but CDMA allows more than one node on each channel until the channel is saturated. IEEE 802.11 works with a single channel and is easily saturated as the number of nodes increases. As the packet size increases, the gap in throughput between CCM-MAC and IEEE 802.11, and between CCM-MAC and MMACCC, increasingly widens. In CCM-MAC the number of nodes that may transmit a data packet concurrently equals the number of nodes that complete a handshake in the transmission frame time (taking into account noise). If the packet size increases then the data transmission time increases hence the longer the transmission frame time, with more chances for other node pairs to complete their handshake. CA-CDMA eventually always outperforms CCM-MAC, with the cross-over point at lower packet arrival rates as the packet size increases. Recall that the CA-CDMA protocol assumes that each node has two transceivers. As well, it makes use of transmission power control, giving it distinct advantages over CCM-MAC. Specifically, in Fig. 10 the throughput of CA-CDMA is at best 1.2 times higher than CCM-MAC, CCM-MAC is at best 1.5 times higher than MMAC-CC, and the throughput of MMAC-CC is at best 1.2 times higher than IEEE 802.11. For 1 Kbyte packets, the throughput CA-CDMA is still at best 1.2 times higher than CCM-MAC. CCMMAC is now 2.7 times higher than MMAC-CC at best, while the throughput of MMAC-CC is now only 1.1 times higher than IEEE 802.11 at best. For 2 Kbyte packets, the throughput of CA-CDMA saturates and is 1.05 times higher than CCM-MAC at best. CCMMAC is at best 3.2 times higher than the throughput of the other two protocols. We also computed the throughput as a function of increasing node density (number of nodes n, 0 6 n 6 60) for increasing packet sizes. The results are similar to those shown in Figs. 10–12 hence we do not present them here.

5

4

3

2

6

3.5

x 10

3

Network Throughput (bit/sec)

1

802.11 CCM MAC MMAC CC CA CDMA

0

0

10

20 30 40 Data Generation Rate (packet/sec)

50

60

2.5 Fig. 12. Throughput as a function of network load for 2 Kbyte data packets.

2

We measured the average packet delay in CCM-MAC, CA-CDMA, MMAC-CC, and IEEE 802.11. The average delay D is the time elapsed in transmitting one data packet using the entire system bandwidth. Following Kleinrock and Tobagi [27], the average delay is given by

1.5

1





G  1  R þ N þ a; S

where R ¼ N þ 2a þ a þ d;

ð9Þ

0.5

0

0

10

20 30 40 Data Generation Rate (packet/sec)

50

60

Fig. 10. Throughput as a function of network load for 500 byte data packets.

and where G is the offered traffic load, S is throughput, and N is the number of channels. R is the sum of the packet transmission time, the round trip propagation delay (2a), the transmission time for the acknowledgment (a), and the average retransmission delay (d). We assume that the ACK transmission and propagation delay time is so small that we can ignore their contribution to delay.

1818

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819

We also assume that each protocol has the same value of d. In this way, we can get a fair average delay for all of the protocols. Fig. 13 shows that the average delay for CCM-MAC remains stable at the higher traffic loads. The average delay of CA-CDMA is also stable and about half that of CCM-MAC. At low traffic loads, IEEE 802.11 and MMAC-CC have a slightly better delay than CCMMAC but this advantage is quickly lost. We show the control overhead of CCM-MAC and IEEE 802.11 in Fig. 14 assuming a 1 Kbyte data packet size. The figure shows that the control overhead to obtain the throughput for a given packet arrival rate is about 1.4% of the CCM-MAC throughput while it is about 0.7% of the throughput in IEEE 802.11. This is consistent with the additional control packets in the CCM-MAC handshake. This overhead does not take into account processing the ITI packets for channel selection, or creating and maintaining the channel status table in CCM-MAC. Finally, Fig. 15 shows the probability of successful packet transmission in CCM-MAC for one and three data channels for increasing node density. It is expected that the probability of successful transmission increases as the number of available channels increases. In conclusion, the proposed CCM-MAC protocol performs better than IEEE 802.11 and also MMAC-CC, another multi-channel protocol. It is even competitive with another CDMA-based protocol that has more hardware available at each node. Thus, the CCM-MAC appears to successfully mitigate the multi-channel hidden and exposed terminal problems, and also the near-far problem of CDMA through effective use of cooperating nodes.

Fig. 14. Control packet overhead of CCM-MAC and IEEE 802.11.

6. Conclusions and future work In this paper, we presented CCM-MAC, a cooperative CDMAbased multi-channel MAC protocol for mobile ad hoc networks in which each node has one half-duplex transceiver. It addresses the near-far problem of CDMA, and mitigates the hidden and exposed terminal problems in multi-channel systems, through information obtained from cooperating nodes. At high loads, and in denser networks, the protocol shows a significant improvement in throughput as well as lower delay than IEEE 802.11 and MMAC-CC, another multi-channel MAC protocol. It also has competitive throughput with another CDMA-based protocol (CACDMA) with more hardware available at each node.

45 40

802.11 MMAC CC

35

CCM MAC CA CDMA

Fig. 15. Probability of successful packet transmission as a function of number of nodes.

As future work, we plan to extend of the analysis to multiple hops, and perform an evaluation in simulation with a multi-hop routing protocol. We also plan to study how to reduce the overhead on the control channel to reduce the bottle neck between the control and data channels.

Normalized Delay

30 25 20

Acknowledgments 15

The authors are grateful to the anonymous referees whose suggestions have greatly improved the quality of our paper.

10

References

5 0 0

50

100

150 200 250 300 Network Throughput (packet/sec)

Fig. 13. Average delay vs. throughput.

350

400

[1] IEEE Computer Society LAN/MAN Standards Committee, Part 11: wireless LAN medium access control (MAC) and physical layer (PHY) specifications, September 1999. [2] T.S. Rappaport, Wireless Communications: Principles and Practice, Pearson Education, Inc., 2002.

Y. Moon, V.R. Syrotiuk / Computer Communications 32 (2009) 1810–1819 [3] A. Nasipuri, S.R. Das, Multichannel MAC protocol for mobile ad hoc networks, in: A. Boukerche (Ed.), Handbook of Algorithms for Wireless Networking and Mobile Computing, Chapman & Hall/CRC Press, London/Boca Raton, FL, 2006. pp. 99–122 (Chapter 6). [4] A. Muqattash, M. Krunz, CDMA-based MAC protocol for wireless ad hoc networks, in: Proceedings of the Fourth ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc’03), 2003, pp. 153–164. [5] F.L. Lo, T.S. Ng, T.I. Yuk, Performance of multichannel CSMA networks, in: Proceedings of IEEE International Conference on Information, Communications and Signal Processing, vol. 2, 1997, pp. 1045–1049. [6] G. Zhou, C. Huang, T. Yan, T. He, J. Stankovic, T. Abdelzaher, MMSN: multifrequency media access control for wireless sensor networks, in: Proceedings of the 25th Annual Joint Conference of the IEEE Computer and Communication Societies (Infocom’06), 2006, pp. 1–13. [7] A. Nasipuri, S.R. Das, Multichannel CSMA with single power-based channel selection for multihop wireless networks, in: Proceedings of the 52nd IEEE Vehicular Technology Conference (VTC-Fall’00), vol. 1, 2000, pp. 211–218. [8] A. Nasipuri, J. Zhuang, S.R. Das, A multichannel CSMA MAC protocol for multihop wireless networks, in: Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC’99), 1999, pp. 1402–1406. [9] J. Wang, Y. Fang, D. Wu, A power-saving multi-radio multi-channel MAC protocol for wireless local area networks, in: Proceedings of the 25th Annual Joint Conference of the IEEE Computer and Communication Societies (Infocom’06), 2006, pp. 1–12. [10] J. Shi, T. Salonidis, E.W. Knightly, Starvation mitigation through multi-channel coordination in CSMA multi-hop wireless networks, in: Proceedings of the Seventh ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc’06), 2006, pp. 214–225. [11] J. So, N. Vaidya, Multi-channel MAC for ad hoc networks: handling multichannel hidden terminal using a single transceiver, in: Proceedings of the Fifth ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc’04), 2004, pp. 222–233. [12] S.L. Wu, Y.C. Tseng, C.Y. Lin, J.P. Sheu, A multi-channel MAC protocol with power control for multi-hop mobile ad hoc networks, The Computer Journal 45 (1) (2002) 101–110. [13] N. Jain, S.R. Das, A. Nasipuri, A multichannel MAC protocol with receiver based channel selection for multihop wireless networks, in: Proceedings the 10th International Conference on Computer Communications and Networks (ICCCN’01), 2001, pp. 432–439. [14] S.L. Wu, C.Y. Lin, Y.C. Tseng, J.P. Sheu, A new multi-channel MAC protocol with on-demand channel assignment for multi-hop mobile ad hoc networks, in:

[15]

[16]

[17]

[18]

[19]

[20] [21] [22]

[23]

[24]

[25] [26] [27]

1819

Proceedings of the International Symposium on Parallel Architectures, Algorithms and Networks (I-SPAN’00), 2000, pp. 232–237. J.J. Garcia-Luna-Aceves, J. Raju, Distributed assignment of codes for multihop packet-radio networks, in: Proceedings of the Military Communication Conference (Milcom’97), 1997, pp. 450–454. Z. Tang, J.J. Garcia-Luna-Aceves, Hop-reservation multiple access (HRMA) for ad hoc networks, in: Proceedings of the 18th Annual Joint Conference of the IEEE Computer and Communications Societies (Infocom’99), 1999, pp. 194– 201. A. Tzamaloukas, J.J. Garcia-Luna-Aceves, A receiver-initiated collisionavoidance protocol for multi-channel networks, in: Proceedings of the 20th Annual Joint Conference of the IEEE Computer and Communications Societies (Infocom’01), 2001, pp. 189–198. P. Liu, Z. Tao, S. Panwar, A cooperative MAC protocol for wireless local area networks, in: Proceedings of the IEEE International Conference on Communications (ICC’05), 2005, pp. 2962–2968. T. Luo, M. Motani, V. Srinivasan, CAM-MAC: a cooperative asynchronous multichannel MAC protocol for ad hoc networks, in: Proceedings of the Third International Conference on Broadband Communications, Networks, and Systems (BroadNets’06), 2006, pp. 1–10. L.G. Roberts, Aloha packet system with and without slots and capture, ACM SIGCOMM Computer Communication Review 5 (1975) 28–42. D. Niculescu, B. Nath, Position and orientation in ad hoc networks, Ad Hoc Networks 1 (2-3) (2003) 247–259. P.G.W. Van Rooyen, H.C. Ferreira, Capacity evaluation of spread spectrum multiple access, in: Proceedings of the IEEE South African Symposium on Communications and Signal Processing, 1993, pp. 109–113. G. Turin, The effects of multipath and fading on the performance of direct sequence CDMA systems, IEEE Transactions on Vehicular Technology VT-33 (3) (1984) 213–219. M. Pursley, Performance evaluation for phase-coded spread-spectrum multiple-access communication. Part I: system analysis, IEEE Transactions on Communications COM-25 (8) (1977) 795–799. W. Navidi, T. Camp, Stationary distributions for the random waypoint model, IEEE Transactions on Mobile Computing 3 (1) (2004) 99–108. Cisco Aironet 350 Series Client Adapters, Data Sheet. Available from: . L. Kleinrock, F.A. Tobagi, Packet switching in radio channels. Part 1: carrier sense multiple access modes and their throughput-delay characteristics, IEEE Transactions on Communications COM-23 (12) (1977) 1400–1416.