A slotted floor acquisition multiple access based MAC protocol for underwater acoustic networks with RTS competition

Long propagation delay, limited bandwidth, and high bit error rate pose great challenges in media access control (MAC) protocol design for underwater acoustic networks. A MAC protocol called slotted floor acquisition multiple access (slotted-FAMA) suitable for underwater acoustic networks is proposed and analyzed. This FAMA based protocol adds a time slot mechanism to avoid DATA packet collisions. However, slotted-FAMA is not suitable for dense networks since the multiple request-to-send (RTS) attempts problem in dense networks is serious and greatly limits the network throughput. To overcome this drawback, this paper proposes a slotted-FAMA based MAC protocol for underwater acoustic networks, called RC-SFAMA. RC-SFAMA introduces an RTS competition mechanism to keep the network from high frequency of backoff caused by the multiple RTS attempts problem. Via the RTS competition mechanism, useful data transmission can be completed successfully when the situation of multiple RTS attempts occurs. Simulation results show that RC-SFAMA increases the network throughput efficiency as compared with slotted-FAMA, and minimizes the energy consumption.


Introduction
Recent years have seen a rapidly growing interest in underwater acoustic networks (UANs). One important reason is that they can be used for a broad c Zhejiang University and Springer-Verlag Berlin Heidelberg 2015 range of scientific exploration, including environmental monitoring, disaster prevention, assisted navigation, and mine reconnaissance (Cui et al., 2006;Liu et al., 2012).
A medium access control (MAC) protocol allows the nodes in a network to share a common broadcast channel. While wireless MAC protocols have been studied extensively for a long time, we cannot directly adapt these protocols to UANs due to the significant difference between UANs and terrestrial radio networks. The underwater acoustic channels have the characteristics of long propagation delay, low bit rates, and error-prone acoustic communication (Akyildiz et al., 2005;Partan et al., 2007;Liu et al., 2008). The propagation speed of acoustic signals in water is about 1500 m/s. Propagation delay underwater is five orders of magnitude higher than in radio frequency (RF) terrestrial channels. The available bandwidth of acoustic channels is typically less than 15 kHz, which is much narrower compared with that of RF channels (Xie and Cui, 2007). Moreover, underwater acoustic channels are error-prone due to path-loss, noise, multi-path, and Doppler spread. These unique acoustic communication characteristics pose challenges to underwater MAC protocol design.
Because of the unique characteristics in the underwater environment, most of the existing terrestrial MAC protocols are not suitable. Many MAC protocols dedicated for UANs have been proposed in the last decade. Peleato and Stojanovic (2007) proposed a protocol called DACAP, which allows a sender to use different handshake lengths for different receivers to improve the channel utilization. In Yang et al. (2012), a novel handshaking-based MAC protocol named SRCR was proposed for multi-hop UANs. In the SRCR protocol, neighbors of the sender and the receiver are allowed to transmit packets opportunistically through the concurrent reservation of the sender and the receiver, resulting in good performance in both throughput and delay. Luo et al. (2012) proposed CT-MAC, in which a special relay mechanism was leveraged. Via this mechanism, CT-MAC significantly improves the network performance in terms of channel utilization and energy efficiency.
These underwater protocols were proposed since the first ALOHA protocol (Abramson, 1970). ALOHA is based on random access of users to the medium and it allows nodes to grasp the channel whenever they have data to send. An improvement to the original ALOHA protocol is slotted-ALOHA (Roberts, 1975). In this method, the time is divided into time slots, and a node can only start transmission at the beginning of a slot. By restricting packet transmission to predetermined time slots, slotted-ALOHA decreases the vulnerable time during which a collision can occur. However, ALOHA becomes inefficient in bursty traffic that occurs in information networks. Also, trying to resolve collisions by retransmissions increases the power consumption of the network nodes and reduces the lifetime of the network (Sozer et al., 2000).
Unlike ALOHA that allows nodes to transmit at will, protocols that make nodes listen to the channel before they access it are called carrier sense multiple access (CSMA) protocols (Tanenbaum, 2003). These protocols require the stations to listen to the channel before starting to transmit to avoid possible collisions with other ongoing transmissions. However, since the transmission range of a node in a wireless network is limited, CSMA is subject to the hidden terminal problem, which means that carrier sensing cannot indicate the real status of the channel if competing nodes are out of the transmission range of each other (Guo et al., 2009).
To solve the problem of CSMA, the MACA protocol was proposed by Karn (1990). This protocol uses two signaling packets called request-to-send (RTS) and clear-to-send (CTS). When a node wants to transmit a packet, it sends an RTS control packet intended for the receiver. This receiver responds with a CTS control packet. Any node that overhears a CTS packet defers its transmission to avoid collision. If a node overhears an RTS packet but not a CTS packet, it continues transmitting its own packet since it is out of range of the receiver. Therefore, both the hidden and the exposed node problems can be solved.
However, a collision in the CSMA protocol may occur due to different packet delays. To overcome this problem, the floor acquisition multiple access (FAMA) protocol was proposed. In FAMA, collision avoidance is guaranteed by holding the following two necessary conditions: (1) the duration of the RTS packet must be longer than t max , which is the propagation delay required to reach the maximum coverage radius of a node, and (2) the duration of the CTS packet must be longer than the duration of RTS plus 2t max . However, for underwater communications, these two conditions pose a number of problems (Casari et al., 2008). The long propagation delays in underwater scenarios require very long transmission of control packets, which would lead to a dramatic loss of efficiency and a useless increase in power consumption. Moreover, transmit power is significantly higher than receive or idle power in typical underwater modem hardware. This fact discourages long transmission times, severely limiting the use of the original version of FAMA in underwater networks.
Slotted-FAMA, which was proposed by Molins and Stojanovic (2006) to solve this problem, makes nodes share a global time synchronization and divides time into slots. In slotted-FAMA, each packet (RTS, CTS, DATA, or ACK) has to be transmitted at the beginning of one slot. The slot length is determined to ensure the absence of data packet collisions. As shown in Fig. 1, when a node has a data packet to send, it waits for the beginning of the next slot and transmits an RTS packet, which can be received by all neighbors. When the destination node receives the RTS packet, it responds with a CTS packet at the beginning of the following slot. If the source has received the CTS correctly, it starts to transmit the data packet, and backs off otherwise. Once the data packet has been sent, the source waits for the corresponding acknowledgement (ACK) to arrive in the following slot. If no ACK is received, the node re-transmits the whole data packet. Any neighboring node which overhears an RTS packet or a CTS packet defers its transmission to allow ongoing communications to be completed correctly.  Although slotted-FAMA avoids DATA packet collisions, it is not suitable for dense networks since the multiple RTS attempts problem in dense networks is much more serious. To overcome this drawback, this paper proposes a slotted-FAMA based MAC protocol called RC-SFAMA. RC-SFAMA introduces an RTS competition mechanism to keep the network from the endless multiple RTS attempts problem.

RC-SFAMA protocol
In this section, we first discuss the multiple RTS attempts problem of slotted-FAMA in dense networks and then describe RC-SFAMA in detail. Then we focus on the RTS competition and discuss some issues. Finally, we present the analysis of network throughput.

Multiple RTS attempts problem
As mentioned above, slotted-FAMA will have a problem of frequent multiple RTS attempts in dense networks.
In a dense network, the probability of two or more nodes sending RTS at the beginning of the same slot is high. As shown in Fig. 2, nodes A and D both send RTS to their destination nodes at the beginning of slot 1. According to the transmission rules in slotted-FAMA, neither control packet nor data packet can be transmitted in the following two slots, since (1) nodes A and D go to the backoff state for a random number of slots and (2) nodes B, C, and E have to wait two slots for the receiver to send a CTS and the sender to start transmitting data, which will not in fact happen. So, in the following slot 2 and slot 3, we can do nothing but wait. Moreover, due to the long propagation delay in UANs, a slot length, which equals the maximum propagation time plus the duration of a control packet, is not short. So, during the following two slots, it is probable that two or more nodes generate a new packet to send. In this case, nodes B and C have a packet ready to transmit during slots 2 and 3, and thus send RTS at the beginning of slot 4. Then the same situation as slots 2 and 3 appears for slots 5 and 6.
It is true that the probability of nodes B and C both generating a new packet during slots 2 and 3 is low in this case. But when in a dense network, where there are dozens or even hundreds of nodes, the probability of two of these nodes transmitting RTS at the same slot becomes much higher. Moreover, when the situation of multiple RTS attempts occurs, the number of the nodes that need to transmit packets increases by two at least, and during the following two slots the number may continue to increase because of the new generating packets, and no useful transmission can be completed. The more nodes that need to transmit packets, the higher the probability of multiple RTS attempts will be. Therefore, the multiple RTS attempts problem can be more and more serious as time goes on.
To overcome this problem, we adapt the original slotted-FAMA for use in dense underwater networks by adding an RTS competition mechanism, as well as investigate its throughput and energy consumption performance. We will call this improved protocol RC-SFAMA.

RC-SFAMA description
The Markov chain that models the behavior of RC-SFAMA is depicted in Fig. 3. Let us start its description from the idle state. If a node generates one or more packets while in this state, it sends the RTS at the beginning of the next slot and moves to the TX RTS state. However, during this slot, this node may receive one or more xRTS packets (RTS packets sent by other nodes). Then we need to consider two cases: (a) receive no xRTS packet, and (b) receive one or more xRTS packets.
Case (a): If a node receives no xRTS packet in the TX RTS state, it goes to the state of WFCTS (wait for CTS). Then if it receives the CTS from the addressed node, it goes to the TX data state and sends the data packets. The node stays in TX data, until it eventually receives the ACK (if no ACK is received within the scheduled time which is long enough to complete ACK transmission, the node retransmits the whole data packet), and then returns to the idle state. If no CTS packet is received, the node backs off and reschedules a later attempt.
Case (b): If a node receives one or more xRTS packets in the TX RTS state, it goes to the RTS-C (RTS competition) state. In this state, the RTS packet of this node needs to compete with the xRTS packets. If the RTS packet wins, this node goes to the WFCTS state and goes through as case (a). If the xRTS wins, this node goes to the state of backoff 2. Then it must wait two slots (long enough for the receiver to send a CTS and the sender to start transmitting data). When in this state, if it receives the xCTS responding to the xRTS or the xData sent from the xnode (the node which sends the xRTS packet) during this time, it goes to the WFxACK state, which will be discussed later. After this time, if no carrier is sensed, the node goes to the TX RTS state and prepares to re-transmit an RTS packet.
If the node, while in the idle state, receives an RTS meant for it or an xRTS intended for other nodes, it goes to the RTS-C state. If there is only one RTS or xRTS in this state, the RTS competition is skipped and the single RTS or xRTS wins. If more than one RTS or xRTS is received, the node conducts an RTS competition. When the xRTS wins, the node goes to the state of backoff 2 and goes through as we discussed above. When the RTS wins, the node goes to the TX CTS state and prepares to send a CTS packet at the beginning of the next slot. After the CTS packet has been sent, the node goes to the RX data state, where it stays until a correct data packet is received. At this point, the node transmits an If the node, while in the idle state, overhears an xCTS or xData packet addressed to another node, it goes to the WFxACK (wait for xACK) state and waits for the xACK to be sent. But the waiting time is different according to the received packet. If an xCTS packet is received, the node needs to wait long enough to allow the other node to transmit the entire data packet and receive the corresponding ACK. Since this node has received the xCTS packet, it will also receive the xACK packet and will thus know that data transmission has ended successfully. If an xData packet is received, the node needs to wait long enough to allow the reception of the subsequent xACK packet. Since it is possible that the terminal cannot hear the xACK packet, it must wait an additional slot to detect whether the data packet has been re-sent or not. After hearing an xACK packet, the node has to wait until the end of the slot since the data transmission has successfully ended.

RTS competition
In the original slotted-FAMA protocol, when a node, which has already sent an RTS and is in the TX RTS state, receives an RTS packet, it defers its transmission and backs off for random slots immediately. The node which receives more than one RTS will ignore the RTS intended for it since the multiple RTS attempts problem occurs, and will wait for two slots. In RC-SFAMA, we add an RTS competition mechanism to both sending and receiving links.
When a node in the idle state has a new packet to send, it makes an RTS packet and adds a competing number, called C-number, into the RTS packet. In RC-SFAMA, we obtain C-numbers by random number generation. Then the node sends the RTS packet with the C-number at the beginning of the following slot. In this way, each RTS packet will have a C-number with it. Then we can conduct RTS competitions. For a sender, when it receives one or more RTS packets in the TX RTS state, it makes its own C-number compete with the C-numbers of other RTS packets one by one. If the sender wins, which means that the C-number of the sender is the largest one, it ignores other RTS packets and continues completing its transmission. Otherwise, the sender defers its transmission and backs off. For a receiver, when it receives more than one RTS packet and one of them is intended for itself, it also makes the C-number in the RTS packet intended for it compete with the C-numbers of other RTS packets. If the receiver wins, it ignores the other RTS packets and sends a CTS packet at the beginning of the following slot. Otherwise, the receiver goes to the waiting state. For the nodes neither a sender nor a receiver, when receiving more than one RTS packet, they need not conduct an RTS competition and go through as receiving one RTS packet intended for another node. The procedure of the receiving RTS process is shown in Algorithm 1.
By adding an RTS competition mechanism, the transmission of the winning node can keep going.

RTS collision
As mentioned above, both slotted-FAMA and RS-SFAMA allow more than one RTS to be transmitted in the same slot. In this case, the RTS packets could arrive at a node at the same time or have an overlapping period at the receiving node, which will create collisions, i.e., RTS collisions. Although the probability of RTS collision is low since the duration of a control packet is very short with respect to the slot, it cannot be ignored when the traffic of the network increases.
Fortunately, the RTS collision problem will not cause much trouble in RC-SFAMA. When an RTS collision occurs in RC-SFAMA, the receiving node may not decode the packets correctly and does not know which packets have collided. Then the worst assumption is made, and the node acts as if it had received an xCTS packet and it defers its transmission. If this receiving node is the winning node, since it defers its transmission, no data transmission is attempted. Otherwise, the RTS collision would not impact the winning node's transmission. However, when an RTS collision occurs in slotted-FAMA, all the nodes defer their transmissions. Therefore, although the RTS collision problem is still not solved completely in RC-SFAMA, it is better than in slotted-FAMA.

Time synchronization
Time synchronization is an important requirement for RC-SFAMA. Although our work does not focus on this issue, there are various time synchronization algorithms already proposed for UANs. Liu et al. (2013) presented Mobi-Sync, a time synchronization scheme for UANs. Mobi-Sync is the first time synchronization algorithm to utilize the spatial correlation characteristics of underwater objects, improving the synchronization accuracy as well as the energy efficiency. Another time synchronization algorithm called E 2 DTS was proposed by Li et al. (2013). The authors investigated the relationship between time-varying propagation delay and nodes mobility, and then estimated the clock skew. Skewcorrected nodes send local time stamp to the beacon node to estimate its clock offset. The E 2 DTS can achieve high level time synchronization precision with minimal energy cost. Both time synchronization algorithms are accurate and energy-efficient, and can be introduced to RC-SFAMA to achieve the requirement of time synchronization.

Throughput analysis
Similar to slotted-FAMA (Molins and Stojanovic, 2006), we assume node A has N neighbors.
Each of them has Q neighbors which are hidden from node A. Each node generates packets according to a Poisson process of a rate of λ packets per second per node. The packets are distributed evenly among the neighbors, i.e., λ/N directed to each of the neighbor nodes.
Throughput per node (S) can be defined as whereŪ is the average useful data transmission time, B is the average busy time while the channel is being used, andĪ is the average idle time.
Define P s(SFAMA) as the probability of successful data transmission (no collisions) of slotted-FAMA and P s(RC−SFAMA) of RC-SFAMA. In slotted-FAMA, the probability of no collisions is the probability that only the given node A sends an RTS and no neighbors send CTS whose corresponding RTS has not been heard. For each A's neighbor, the number of neighbors hidden from it equals Q. Then the probability of successful data transmission of slotted-FAMA is (2) In RC-SFAMA, the probability of no collisions is the probability that the given node A sends an RTS and wins the RTS competition if the neighbors of A also send RTS in this slot, and no neighbors send CTS whose corresponding RTS has not been heard. The probability of successful data transmission of RC-SFAMA is Then Therefore, the probability of successful data transmission of RC-SFAMA is higher than that of slotted-FAMA in the same network.
Given the bit error rate (BER), the probability of error in a data packet containing L bits, assuming independent error, is The average busy timeB can be defined as whereT success is the time during which data is being successfully sent,T fail is a period of collisions on the channel, andT defer is the time during which we cannot transmit due to transmissions from other nodes. The duration of a successful transmission consists of the RTS, CTS, DATA, and ACK. RTS, CTS, and ACK need only one slot and DATA needs more slots, defined as T data . Define T as the time between the start of DATA and the end of ACK. Then Then the duration of a successful transmission is Hence,T success = P s T Tot .
The duration of a failed transmission is two slots (the slot in which the RTS packet is sent, and the next slot spent in waiting for the CTS that will not arrive). The probability that a given RTS was transmitted by A is 1/(N + 1) because all the N +1 nodes transmit at the same rate. So, A node defers its transmission when it overhears a CTS sent by one of its neighbors or there is a collision on the channel.
The probability of overhearing a CTS is In this situation, the deferral time equals (T data + T slot )/(1 − P e ).
The probability of hearing a collision on the channel is In this situation, the deferral time equals T data + T slot . So, the average deferral time is The average idle time on the channel is The average useful data transmission time is where δ is the transmission time of the DATA packet. Linking all the parts, the final result of throughput is wherē Then we can obtain the derivative of S with respect to P s : Since ΔP s = P s(RC-SFAMA) − P s(SFAMA) > 0, RC-SFAMA achieves higher throughput than slotted-FAMA in the same network.

Simulation results
In this section, we evaluate the performance of RC-SFAMA using simulations. By comparing with slotted-FAMA, we demonstrate the aggregate throughput achieved by RC-SFAMA. We also conducted experiments to explore the energy efficiency of RC-SFAMA.

Simulation settings
We implemented RC-SFAMA and slotted-FAMA in Aqua-Sim, an NS-2 based simulator for underwater sensor networks, developed at the Underwater Sensor Network (UWSN) Lab at the University of Connecticut (Xie et al., 2009).
Unless specified otherwise, we used the following parameters in the simulations. We assumed that nodes generate traffic according to a Poisson process of a rate of λ packets per second per node. We also assumed that all nodes transmit at the same rate, within the same bandwidth, and using the same transmit power. The bit rate was 800 bits/s. The maximum transmission range was 3000 m. The interference range was the same as the transmission range. In our simulations, we set the energy consumption parameters based on a commercial underwater acoustic modem, UMW1000, from LinkQuest: the power consumption on transmission mode was 2 W and the power consumption on receive mode was 0.75 W. The simulation time was 1000 s.
We used network throughput and energy consumption as performance metrics. The network throughput was measured as the number of successful data transmissions per unit time. The energy consumption was measured by the average energy consumed for each successfully delivered packet.

One-hop network scenario
In the one-hop network scenario, every node was within the transmission ranges of all the other nodes in the network. We simulated with eight nodes and 16 nodes. The nodes were deployed in an area 1500 m×1500 m. Half of these nodes were source nodes and the others were destinations. Each source node generated packets according to the Poisson process with a rate λ (packet/s). For each generated packet, the destination was selected randomly from the destination nodes. Fig. 4 depicts the network throughput with a varying packet generation rate for the two target MAC protocols, slotted-FAMA and RC-SFAMA. This figure shows that RC-SFAMA achieves a great improvement in network throughput over slotted-FAMA when both of them reach the maximum throughput in an 8-node network. As shown in Figs. 4 and 5, when the packet generation rate is low, the multiple RTS attempts problem rarely occurs and would not impact much on data transmission. However, when the packet generation rate becomes higher, the multiple RTS attempts problem will be more serious. As slotted-FAMA does nothing but backs off when the multiple RTS attempts problem occurs, the nodes need to defer their data transmissions. When more multiple RTS attempts occur, the frequency of backoff becomes high, which limits the network throughput. In RC-SFAMA, though the multiple RTS attempts problem is even more serious because of the reduced backoff, it does not limit the network throughput. This is because the winning node continues completing its data transmission. Thus, the network does not waste time and more useful data transmission can be completed. That is why RC-SFAMA achieves higher throughput than slotted-FAMA.
When 16 nodes are deployed in the network, the network is denser and the performances of RC-SFAMA and slotted-FAMA are very different. Comparing slotted-FAMA in an 8-node network with that in a 16-node network, the network throughput becomes lower since the multiple RTS attempts problem is more serious. This situation does not occur in RC-SFAMA, because RC-SFAMA can handle the multiple RTS attempts problem since data transmission can be completed when it occurs. As shown in Fig. 4, in a 16-node network, RC-SFAMA achieves a better improvement in network throughput than slotted-FAMA in an 8-node network.

Multi-hop network scenario
Since multi-hop UWSNs are generally more useful for underwater applications, it is necessary to evaluate the performance of the RC-SFAMA in a generic scenario. Fig. 6 shows a four-level multi-sink network. Nodes S 1 -S 6 are six data source nodes at level 1, R 1 -R 12 are relay nodes at levels 2 and 3, and D 1 -D 6 are six destination nodes at level 4. For the node with a packet at the lower level, it randomly selects one node in the upper lever to send the packet. All the nodes are deployed in a 1500 m×1500 m area. Each source node generates packets according to the Poisson process with a rate λ (packet/s).  Fig. 7 Multi-hop throughput than slotted-FAMA when the multiple RTS attempts problem is serious.
As discussed in Section 2.6, the network throughput of RC-SFAMA should be higher than that of slotted-FAMA. The simulation results also show that RC-SFAMA performs much better in network throughput than slotted-FAMA, which matches the theoretical analysis. Thus, we conclude that RC-SFAMA increases the network throughput efficiency more than slotted-FAMA. Also, the denser the network, the better the improvement.

Energy consumption
Energy efficiency is not the major target of RC-SFAMA. However, by adding RTS competition, RC-SFAMA benefits not only the improvement of network throughput but also energy conservation.
As shown in Fig. 9, in slotted-FAMA, the energy consumption per useful data transmission significantly increases when the network becomes denser, which is caused by the frequent occurrences of multiple RTS attempts, since a successful data transmission needs more RTS attempts, which wastes a lot of energy. While in RC-SFAMA, though the multiple RTS attempts also occur, the useful data

Conclusions
In this paper, we first discuss the multiple RTS attempts problem of slotted-FAMA in dense networks and show how this problem limits network throughput. Then we propose a slotted-FAMA based MAC protocol, RC-SFAMA, to solve this problem. RC-SFAMA introduces an RTS competition mechanism to choose a winning node when the multiple RTS attempts occur, and then makes the winning node continue completing its data transmission. Simulation results show that RC-SFAMA increases the throughput efficiency compared with slotted-FAMA, and minimizes energy consumption.
Our future work for RC-SFAMA includes an investigation of unfairness in the RTS competition algorithm, as well as the comparison of theoretical analysis and simulations. Moreover, we need to consider possible problems in real implementation. For example, the maximum transmission range of each node may be different and vary in different regions, which will lead to problems to RC-SFAMA (since node A may be hidden from node B while node B can reach node A). Thus, real-world scenarios need further consideration.