In wireless ad hoc networks, nodes cooperatively form a network without any infrastructure such as a BS/AP (base station or access point). The widely-used contention-based MAC protocol, IEEE 802.11b, is inefficient in multi-hop networks due to the hidden and exposed terminal problems. The most popular schedule-based MAC protocol, TDMA (time division multiple access), is difficult to implement in an ad hoc network due to the lack of infrastructure. The contribution of this paper is to provide the community novel and efficient MAC (medium access control) protocols (i.e., a collision resolution protocol) for a wireless ad hoc network without a centralized infrastructure. We propose two new MAC protocols (one distributed algorithm and one cluster-based algorithm) that use a collision resolution scheme for a network with a single BS/AP. We first compare the performance of our distributed algorithm with our cluster-based algorithm. Then, we compare our algorithm that performs better (i.e., our cluster-based algorithm) to TDMA in a two-hop network. The simulation results illustrate that our cluster-based algorithm provides higher throughput and lower delay than TDMA in a two-hop network.
A wireless ad hoc network is a network of wireless devices, such as laptops and PDAs (personal digital assistants). These devices cooperatively form a network without any infrastructure such as a BS/AP. A wireless ad hoc network may operate in isolation or connect to the Internet. Every node in the network is a router that maintains routing information among its neighbors. A connection in a wireless ad hoc network may traverse multiple nodes, thus defining a multi-hop ad hoc network. Wireless ad hoc networks can be deployed in many scenarios where infrastructures are unavailable. For example, in disaster recovery, where the communication infrastructure is destroyed, a wireless ad hoc network can be installed quickly to enable the communication. Wireless ad hoc networks can also be used in military missions and commercial environments. Due to their flexibility, wireless ad hoc networks will play an important role in scenarios where an infrastructure is either non-existant or destroyed.
A good MAC protocol is critical in a wireless ad hoc network to ensure collision free transmissions. Traditional MAC protocols can be classified into two categories: contention-based protocols and schedule based protocols. A widely-used contention-based MAC protocol is IEEE 802.11b; however, it is inefficient in multi-hop networks due to the hidden and exposed terminal problems. A well-known schedule-based MAC protocol is TDMA. In TDMA, nodes can only transmit at time slots allocated to them. Since each time slot is allocated to one node, the transmission is collision free.
Traditional MAC protocols focus on how to avoid collisions in the network. In this paper, we propose two new approaches that incorporate a collision resolution scheme (ALLIANCES) [
In [
The basic idea of the distributed algorithm follows: if a collision occurs, all pseudo BSs begin collision resolution. We define a pseudo BS as a node that hears the collision and is a destination for one of the packets involved in the collision. In order to determine whether a node is the destination of a packet mixture, orthogonal IDs are used within each packet’s header. For example, a received orthogonal ID of 01100 in the destination field means that node 2 and node 3 need to act as pseudo BSs. To avoid long IDs in a large ad hoc network, we use localized orthogonal IDs that allow ID reuse over wellseparated areas. If orthogonal IDs are not available, our proposed distributed algorithm is still possible via a blind source separation problem. Such an approach, however, is more complex and not considered further. In other words, we assume localized orthogonal IDs are available for the network nodes.
Suppose a collision occurs among four nodes within the network as shown in
• The network is a slotted multiple access system. The nodes transmit in the same static channel and each node can receive control packets from neighboring nodes on a control channel.
• Each node is equipped with only one omni-directional antenna that operates in a half-duplex mode. Thus, a node cannot transmit and receive simultaneously on the traffic channel.
• Each transmitted packet has the same length and requires one time slot for transmission.
When a collision occurs, nodes that hear the collision are able to determine the source node IDs and destination node IDs contained in the mixture using orthogonal IDs. In some cases, the destination nodes of a mixture are within the transmission range of each other; thus, if these nodes start collision resolution at the same time, a new collision might occur on the control channel. In order to reduce collisions on the control channel, pseudo BSs do not start collision resolution right after the collision occurs. Instead, pseudo BSs postpone collision resolution for some random number of slots; specifically, nodes with smaller IDs start collision resolution earlier than nodes with larger IDs.
When a node begins collision resolution, it sends a control packet on a control channel to all nodes within its transmission range. This packet indicates the beginning of a cooperative transmission epoch (CTE); the node will continue sending a control packet (each of which chooses a relay node) until the node has enough information to resolve the collision. Even though the pseudo BSs start collision resolution at a random time, it is still possible that some node is within transmission range of two nodes trying to resolve a collision at the same time. In this case, both nodes will send a control packet that chooses a relay node to transmit. For example, in
In ALLIANCES [
We assume each node maintains a neighbor list; this neighbor list could be implemented in many ways (e.g., nodes periodically send a HELLO message). While neighbor knowledge can be costly to maintain, many
protocols at different layers require this knowledge. We assume that this knowledge is available from another protocol or from listening on the channel. With an accurate neighbor list, a pseudo BS can choose relay nodes from the neighbor list via RRS [
The pseudocode of our distributed algorithm is given in
Suppose a node hears a collision of degree. To recover all collided packets, the node needs more slots for the relay nodes to either transmit the signals saved in their buffer (for non-source nodes) or retransmit the original packet (for source nodes). If RSS of a destination node equals (is the current slot number), the node sends a control packet to neighboring nodes to indicate the start of its CTE; this packet is sent at the end of slot. At the end of the node’s CTE, the node will have collected enough packets to resolve the collision (assuming all packets received are useful) via the Zero Forcing (ZF) decoder [
Our second idea to control medium access in wireless ad hoc networks is a cluster-based algorithm. In this algorithm, nodes are grouped into clusters according to some rules. Each cluster head (CH) is responsible to allocate time slots to nodes in its cluster and two adjacent clusters should not interfere with each other. In this algorithm, we have two types of communication: inter-cluster communication and intra-cluster communication. We define intercluster communication as communication between different clusters and intra-cluster communication as communication within one cluster.
Cluster-based medium access algorithms can be divided into two categories: topology-dependent algorithms [4,5] and topology-transparent algorithms [6,7]. In topology-dependent algorithms [4,5], nodes are grouped into clusters according to the current topology. Each CH assigns time slots to nodes in its cluster whenever the topology changes in order to achieve intra-cluster communication. In a wireless ad hoc network, nodes may move quickly, which results in a rapidly changing topology. A rapidly changing topology makes the assignment of time slots very difficult for a topology-dependent algorithm. Further, the frequent assignment of time slots generates significant overhead and, therefore, greatly decreases the network’s throughput.
In order to overcome the inefficiency of topology-dependent algorithms, a number of topology-transparent methods have been proposed (e.g., [6,7]). In topologytransparent algorithms, nodes are grouped into clusters according to their locations. Clusters in a network do not overlap and each cluster contains nodes in a specific area. TBMAC (time bounded medium access control) [
Our cluster-based algorithm is a topology-transparent algorithm. To reduce the inter-cluster interference, adjacent clusters can either use different frequencies (as done in TBMAC) or transmit in turn using the same frequency (as done in STDMA). The algorithm using different frequencies works as follows. Each cluster has two CHs, one CH for intra-cluster communication and one CH for inter-cluster communication. The CHs for intra-cluster communication transmit on different frequency channels to avoid interference and the CHs for inter-cluster communication transmit on the same frequency channel using any traditional MAC protocol, such as CSMA (carrier sense multiple access). Having two CHs allows intracluster communication and inter-cluster communication to operate in parallel.
When compared to the approach that has clusters
transmit in turn on the same frequency, using different frequencies has smaller delay; however, it increases the cost of nodes greatly. Depending on the application, we can either use different frequencies to lower the delay or the same frequency to lower the cost. Since the approach using different frequencies has higher cost, our algorithm allows clusters to transmit in turn on the same frequency channel (as done in STDMA). To simplify the system, we make the same three assumptions as in the distributed algorithm (see Section 2) and the following three new assumptions:
• Each node can hear from its CH on a control channel.
• Each cluster has the same area; within a cluster, any node can reach any other node within two hops (e.g., via the CH).
• Each node knows its own location and each CH knows the locations of all nodes in its cluster.
In non-CTE mode, neighboring CHs transmit packets to the CH of cluster A during cluster A’s transmission time. Nodes in cluster A can also transmit to other nodes in cluster A during cluster A’s transmission time. A node transmits a packet to a destination directly if the destination node is in the node’s neighbor list. (An approach to maintain a neighbor list is discussed in Section 2). Otherwise, the node transmits the packet to the CH and the CH forwards the packet to the destination. At the end of each time slot, the CH checks the orthogonal IDs received and determines if a collision occurred. If a collision occurred, the CH can determine the number of destination nodes that heard the collision using known location information for the source nodes and destination nodes. If the collision only happened at one destination, the CH assigns the destination node to resolve the collision. If the collision happened at more than one destination, the CH attempts to resolve the collision. If the collision is resolved, the CH then forwards the resolved packets to either the destination nodes directly (when the packets are destined to nodes inside its cluster) or its neighboring CH (when the packets are destined to nodes in another cluster). Packets sent to nodes within the cluster are transmitted immediately; packets sent to neighboring CHs are transmitted during the neighboring cluster’s time frame.
Many cluster formation schemes (e.g., [8,9]) have been proposed. In this paper, we use a simple cluster formation scheme. That is, we use a hexagon as the cluster shape and nodes are grouped into clusters according to their locations. All nodes use the same frequency channel and clusters transmit in turn to reduce inter-cluster interference. Due to spatial reuse (similar to frequency reuse in cellular networks [
The time frame structure used in our cluster-based algorithm is shown in
Many CH selection schemes (e.g., [11,12]) have been proposed to maximize the network lifetime or the throughput. In this paper, we use a simple CH selection scheme. At the start of each time frame, a short period of time is reserved for CH selection. Suppose a cluster begins a new time frame at slot, and a new CH for the cluster is needed. If the remaining energy of a node within the cluster is above some threshold, then the node broadcasts a CH selection message at slot, where is an integer that is related to the node’s distance to the center of the hexagonal cluster. A node that is closest to the center of the hexagonal cluster will transmit first and, therefore, be selected as the CH. The CH selection message includes two fields: the node ID and the duration that the node is willing to serve as a CH. The
duration is at least the length of one round.
In the example in
The pseudocode of our cluster-based algorithm is illustrated in
If a collision occurs, the CH calculates the source and destination node IDs sent in the collision slot. Suppose nodes send a packet to create the collision. If the nodes were sent to the same destination node, the CH assigns the destination node to resolve the collision. If the destination nodes are not the same, the CH needs slots (where is the number of destination nodes in the cluster and) to handle the collision. During the first slots, relay nodes either transmit the signal saved in their buffer (for non-source nodes) or retransmit the original packet (for source nodes). After slots, the CH has collected enough packets to resolve the collision (assuming all packets received are useful) via the ZF decoder [
Each non-CH node in cluster B remains silent during the time frame for cluster A’s transmissions; B represents any integer between zero and six such that. If the CH of cluster B has packets for cluster A, then the CH of cluster B transmits the packets to the CH of cluster A during non-CTE slots in cluster A’s time frame. For simplicity, we assume the CH does not need to transmit its own packets in
The Network Simulator (NS-2) [
The propagation model is the Two Ray Ground model; the Two Ray Ground model considers both the direct path and the ground reflection path in a packet’s propagation. We model the channel coefficients as zero-mean Gaussian random variables with variance, which are independent of path and remain constant over successive time slots (the collision slot and the CTE). The radii of
the hexagons are 100 meters. The transmission range of all nodes in a two-hop network is 100 meters. The trans mission range of the CHs is 200 meters and the transmission range of non-CH nodes is 100 meters in a three-hop network. Transmitting nodes transmit CBR (constant bit rate) traffic, with an interval ranging from 0.0005 seconds to 0.055 seconds.
Throughput, delay, and energy consumption are three important performance metrics for wireless ad hoc networks. We proposed an energy-conserving model in [
We implemented our distributed algorithm and our cluster-based algorithm in the scenario shown in
nation node and the dashed lines represent a packet being heard by a non-destination node. The network is a twohop network; in other words, every node can reach every other node in two hops. There are 16 nodes in the network and four nodes (nodes 7, 8, 13 and 14) transmit CBR traffic every 0.01 seconds at the same time to create collisions. At destination nodes (nodes 5, 6, 11, and 16), the collision degrees are 3, 4, 3, and 2, respectively. We executed our simulation for 50 seconds. Both our distributed and cluster-based algorithms use the ZF decoder [
The throughput of our distributed algorithm is very low due to four main reasons. First, the mixture received by a destination node and the mixture received by a relay node may contain a different number of source packets. For example, in
retransmit the mixture heard and then can try to resolve the collision. Node 2 is a good choice for a relay node because node 2 only heard source nodes 8 and 13. Node 6, however, is not a good choice for a relay node, as the mixture heard by node 6 has a degree of four. Unfortunately, our distributed algorithm will choose node 6 as often as node 2. Second, the CTE of the destination nodes may overlap, potentially creating collisions on the control channel. A node within range of both destination nodes will, in general, receive the control packets and know that at least one node within its transmission range is in collision resolution mode. For example, in
We conclude that our cluster-based algorithm is superior to our distributed algorithm and, therefore, recommend that our cluster-based algorithm is used to develop a collision resolution protocol for a multi-hop ad hoc network.
TDMA only works for two-hop networks. To avoid interference in networks with a larger number of hops, TDMA would need to use different frequencies or combine with another MAC protocol. Thus, we only compare our cluster-based algorithm and TDMA in a two-hop network, i.e., in one cluster. The scenario for our performance comparison is as follows. There are 36 nodes evenly placed in a hexagon with radius of 100 meters. In the simulation, nodes are randomly selected as source nodes and they send packets to random destination nodes. All source nodes periodically transmit at the same time and create collisions of degree. The simulations are executed for 50 seconds and results are averaged to produce each point on the curves in the following figures. Each point represents 10 independent experiments with a 95% confidence interval according to the Student’s distribution.
represents the ratio of successfully transmitted packets over the total packets transmitted.
Although we are not able to compare our cluster-based algorithm with TDMA in a network with more than two hops, we do evaluate the performance of our clusterbased algorithm in a three-hop network. The simulation scenario follows. There are seven clusters in the network (see
hop is from CH (6, 3) to CH (0, 2), and the third hop is from CH (0, 2) to node (0, 32).
In our simulations, there are four non-CH nodes and one CH node in each of the clusters 1-6, and there are five non-CH nodes and one CH node in cluster 0. During the time frame of clusters 1-6, one node in each of the clusters 1-6 transmits CBR packets to a node in cluster 0. (We assume each node has the same CBR interval.) Thus, during cluster 0’s time frame, six CHs of clusters 1-6 transmit to the CH of cluster 0 with the same CBR interval and create collisions of degree six. The simulations are executed for 50 seconds and results are averaged to produce each point on the curves in the following figures. Each point represents 10 independent experiments with a 95% confidence interval according to the Student’s distribution.
In
transmission order of clusters is 1, 2, 3, 4, 5, 6, and 0; thus, clusters 1 - 6 wait 6, 5, 4, 3, 2, and 1 time frame(s) to transmit to cluster 0, respectively. Understanding the order of transmissions by clusters could be useful to a routing protocol. For example, in
Our simulation results show that our distributed algorithm performs poorly in a multi-hop network due to several reasons (see Section 5.1 for details). Our clusterbased algorithm, on the other hand, performs quite well. This algorithm uses a cluster architecture to make the network scalable and implements spatial reuse to avoid inter-cluster interference. Our cluster-based algorithm uses ALLIANCES, a collision resolution scheme [
We plan to develop a routing protocol to work with our cluster-based MAC protocol in a wireless ad hoc network based on the observation in