# UCMAC: A Cooperative MAC Protocol for Underwater Wireless Sensor Networks
## 2 Related Work  
Previous studies have proposed many cooperative MAC protocols for terrestrial wireless networks. In [14], [PERSON] et al. presented a proactive type of the cooperative MAC protocol called CoopMAC. Based on the capability of rate adaptation at the physical (PHY) layer, a low-rate source first decides whether data forwarding through a high-rate cooperator (source-cooperator-destination) reduces delay compared to direct transmission (source-destination). Then, the source invokes the cooperative mode instead of the IEEE 802.11 protocol only if doing so could decrease the delay. The point is that each node should overhear all transmissions and continuously update a neighbor table in which the rate information of all neighbors is stored. Because this would be demanding in the changeable underwater channel, UCMAC simply uses propagation delay information instead of keeping the table. In addition, CoopMAC uses the S&W ARQ, which means that the destination does not request any cooperation from the cooperators when it fails to receive a data packet. A reactive-type protocol, cooperative diversity-multiple access with collision avoidance (CD-MACA), was proposed in [12]. In CD-MACA, cooperators buffer overheard data and then transmit it to a destination when overhearing a clear-to-send (CTS) packet that corresponds to the data. This gives the destination more chances to successfully decode its received data packet with independent samples. However, in the underwater channel where carrier sensing is less effective, such diversity gain may not be obtained because of packet collision among the data packets transmitted by the source and the cooperators. Another issue is that even the nodes that have inferior channel qualities to the destination cooperate. For efficient cooperation, cooperator selection criteria should be considered. Note that, in CoopMAC, the cooperator through which a minimum delay occurs is selected as the sole cooperator. To alleviate the need to identify the best cooperator each time the source transmits data, persistent relay CSMA (PRCSMA) [15] enables a set of the most appropriate nodes near to the destination to become cooperators. If the destination fails in decoding a data packet, the cooperators persistently retransmit data packets until the destination succeeds or the cooperation phase ends. However, loss of ACK packets forces the cooperators to continue sending the data packets even after the destination's successful decoding. Moreover, they know whether to cooperate or not only after receiving a claim-for-cooperate (CFC) packet transmitted by the destination, which makes all neighbors of the source store overheard data in their memory banks. UCMAC eliminates these redundancies by requesting the retransmission from the cooperators one at a time and defining a cooperative region where nodes cooperate. The authors have also proposed DQCOOP [17], which is based on their previous work, DQCA [33] and its different version, DQMAN [34]. In DQCOOP, the contention window is divided into slots so that each cooperator randomly selects one slot for the channel access. Then the destination feeds information of access success or failure back to the cooperators, which retransmit their data packets accordingly. This can prevent data packet collision, but every node must be tightly synchronized and maintain special queues and variables. UCMAC requires neither time synchronization nor special queues and variables. In [19], [PERSON] et al. proposed a network coding-based cooperative MAC protocol named NCCARQ-MAC that applies network coding technique at the MAC layer perspective. Similar to CD-MACA, every node keeps a copy of all data packets overheard in preparation for cooperation. In NCCARQ-MAC, a destination piggybacks its data (if it exists) on a request-for-cooperation (RFC) packet transmitted to request retransmission of the source's data.