# Void Avoidance Opportunistic Routing Protocol for Underwater Wireless Sensor Networks
## 1 Introduction
Hence, to improve the network lifetime, save the network resources and keep network connectivity, the rate of node energy consumption should be decreased by reducing the number of transmissions and therefore reducing the number of packets that must be forwarded from a source towards a sink(s). In summary, harsh underwater environment characteristics, underwater sensor nodes' limited resources and acoustic signal limitations increase the probability of bit errors, packet loss and network partition, decreasing network performance. The possibility of addressing these challenges using promising OR features motivated us to develop a void avoidance routing protocol for UWSNs. This protocol increases network performance by excluding all the routes that would lead to the loss of data packets. In this paper, we propose a novel reactive routing protocol for UWSNs that addresses the void area problem. Energy Efficient Depth-based Opportunistic Routing with Void Avoidance for UWSNs (EEDOR-VA) utilizes the node's hop count from a sink to select a next-hop forwarder set that can continue forwarding the packet towards the sink(s). In EEDOR-VA, the low priority nodes suppress their transmissions whenever they sense the same packet was sent by a high priority node to avoid redundant transmissions and their related costs. The proposed protocol's novelty lies in a hop count discovery mechanism inspired by the Dynamic Source Routing (DSR) algorithm proposed in [13] to update a node's hop count from the sink and integrating hop count discovery with a novel OR technique that comprises two building blocks--candidate forwarding set selection and candidate set coordination [14]. Instead of the periodic messages from the sinks implemented by most of the routing protocols, we propose a hop count discovery process that consists of Hop Count Request (HCREQ) and Hop Count Reply (HCREP) procedures to find the hop count of the sensor nodes. The idea is to remove void/trapped nodes that are in the current packet holder node's neighborhood from that node's forwarding set. The simulation results of low and high density scenarios showed that EEDOR-VA is able to decrease the total energy consumption, reduce the number of transmitting nodes and increase the packet delivery ratio. This work enhances our previous routing protocol [15] by designing an opportunistic routing protocol to cope with underwater acoustic channel weaknesses and address the void area problem in underwater network scenarios. Our new protocol is better than existing underwater routing protocols mainly by implementing the hop count discovery, which reduces the network overhead caused by periodic beacons and retransmissions and improves the packet delivery ratio while also increasing energy efficiency, since packets are only transmitted if a path is found from the source to the sink(s). More discussion on the EEDOR-VA contributions is listed below:  
* Implementing the proposed hop count discovery technique inspired by DSR instead of flooding periodic beacons widely used in the literature ensures less network communication overhead and lower network resource consumption. * The small size of proposed HCREQ and HCREP messages that are used to discover the hop count between the packet generator and the sink(s) reduces the collisions and network overhead and decreases the total energy consumption. * Forwarding set coordination based on the proposed waiting time supports balancing energy consumption by suppressing retransmissions. * The development of the forwarding set selection procedure excludes all void/trapped nodes that may lead to a void area from the data routing path. Our proposed protocol checks the node reachability to the sink and updates in-route node hop counts. If a node does not have any path that facilitates forwarding the packet toward the sink(s), the node is dropped from the forwarding candidate set. * Multiple opportunistic routing paths established through hop count discovery increase the packet delivery ratio.