# A Network Coding Based Hybrid ARQ Protocol for Underwater Acoustic Sensor Networks
## 1 Introduction
However, a fatal weakness of such schemes is that they need a large number of redundant check packets to achieve high reliability as these schemes lack the retransmission process and feedback information from the receiver. The drawback is extremely obvious when data packets are transmitted hop by hop for most UASN applications, which means that each hop needs a larger number of transmission redundancies to ensure the reliability of the whole network. Thus, they are not preferred for most battery-powered devices in UASNs. In addition, without the feedback information from the receiver, these protocols usually have fixed parameters like code efficiency and cannot adapt to the dynamic channel in UASNs. Recently, a class of hybrid ARQ (HARQ) protocols that combine FEC and ARQ is attracting increasing interests and shows better performance in UASNs. Some erasure code based protocols like Segmented Data Reliable Transport (SDRT) [13; 14], Fountain Code based Adaptive multi-hop Reliable data transfer (FOCAR) [15] and Practical Coding based Multi-hop Reliable Data Transfer (PCMRDT) [16] utilize erasure code to transmit packets in blocks, thus reducing the usage of ACKs or NACKs. However, the receivers in these protocols only receive packets from their adjacent previous nodes and do not fully exploit the broadcast property in UASNs. A Network Coding with Implicit Acknowledgement (NCIA) protocol [17] is proposed to exploit the spatial diversity in UASNs. The nodes in NCIA overhear implicit ACK packets from the whole network if they are in range but data are sent by packets and they still need one feedback packet for each successfully received packet and thus have a significant end-to-end delay. In [3], the author proposes a cooperative hybrid ARQ (CHARQ) protocol that combines cooperative ARQ with incremental redundancy-hybrid ARQ. This protocol utilizes multiple relays to increase the system throughput, but it is still inefficient as the relay sets often do not obtain enough packets from the sender in the high packet error rate channel and many reduplicative check packets are sent. In a word, the previous HARQ protocols achieve low channel utilization and perform inefficient. In addition, they lack an adaptive code rate estimation for dynamic underwater channel to ensure the network can work at its optimal achievable performance. In this paper, we propose a novel network coding based hybrid ARQ (NCHARQ) protocol to promote the performance of data transfer in UASNs. The nodes in the network can overhear packets from all nodes in the network and packets are transmitted by blocks to reduce the redundant ACKs and NACKs. In addition, an adaptive sending window estimation algorithm is designed to ensure that the system could work at its optimal achievable performance in the dynamic underwater environment. The main contributions of this paper can be summarized as follows:  
1. We propose a reliable data transfer protocol for UASNs based on network coding and HARQ that can achieve higher throughput performance and reduce the energy consumption. We use an improved variant of fountain code with high efficiency and the relay nodes can encode and decode quickly. 2. To reduce the redundant feedback, we design a block-based transmission scheme. The encoded packets are gathered in blocks and a selective-repeat ARQ scheme is utilized to ensure the successful transmission of each block. We also design an adaptive sending window length estimation algorithm to optimize the throughput, which can be adapted to the dynamic underwater environment. 3. We design a dynamic 3D underwater network model and conduct extensive simulations to verify the outstanding performance of our proposed protocol in average delay and energy efficiency. The results show that our proposed protocol outperforms previous works, including stop and wait ARQ (S&W ARQ), SDRT and FOCAR. We also present a detailed analysis of the simulations. The rest of the paper is organized as follows.