# Void Avoidance Opportunistic Routing Protocol for Underwater Wireless Sensor Networks
## 3 EEDOR Void Avoidance with Hop Count Discovery Mechanism  
### Network System  
Our UWSN architecture model consists of a number of sensor nodes randomly deployed underwater in different depths and multiple immobile sinks located on the water's surface. The sinks are equipped with both radio modems to communicate with each other \begin{table}
\begin{tabular}{c c c} \hline
**Protocol** & **Advantage** & **Disadvantage** \\ \hline VAPR [16] & Reduces end-to-end delay, incorporates void handling technique. & Has high energy consumption, periodic beacons cause network overhead. \\ \hline GEDAR [17] & Uses a network topology control method to handle voids, increases the connectivity of the network, reduces the number of packet retransmissions. & Has high energy consumption due to depth adjustment technique, requires frequent topology changes; exhausts node energy in physical movement, decreasing network lifetime. \\ \hline VHGOR [18] & Handles void nodes in two ways (i) Convex void handling and (ii) Concave void handling (or) recovery mode. & Consumes restricted resources due to beacon exchange, hidden terminal problem and duplicate packets. \\ \hline CPR [19] & Improves the link quality at each hop, reduces the number of packet transmissions in dense networks, and increases the packet delivery ratio. & Consumes significant energy in the forwarding set selection phase through a power control mechanism, has high communication overhead due to broadcasting the beacon messages with different power levels. \\ \hline DBR [20] & Has a high packet delivery ratio, decreases the number of forwarding set candidates using a depth threshold technique. & Has high energy consumption overall due to flooding technique, redundant packets and collisions. Does not handle voids. \\ \hline HydroCast [21] & Reduces end-to-end delay. Has a high packet delivery ratio. Uses recovery path to handle voids. & Has high energy consumption due to the detour path process, and high overhead because it requires two hop neighboring node information. \\ \hline IVAR [22] & Eliminates all the routes leading to a void area without needing to switch to recovery mode. & Suffers from the hidden node problem, has high energy consumption due to redundant packet transmissions. \\ \hline WDFAD-DBR [23] & Decreases energy consumption, handles packet duplication and expected next hop depth, reduces packet sticking in void holes. & Suffers from void area problem due to trapped nodes, has high communication overhead caused by control packet exchange and packet retransmission. \\ \hline EVA-DBR [24] & Addresses hidden node problem in some cases, balances energy consumption and latency, detects void and trapped nodes. & Consumes node resources due to neighbor’s information exchange, duplicates packet transmissions in sparse networks, and suffers from the hidden node problem in some cases. \\ \hline EDOVE [25] & Considers energy level as one of its parameters, reduces energy consumption and avoids energy holes. & Has high communication overhead due to information exchanges, duplicates packet transmissions, has high energy consumption and does not handle void areas completely. \\ \hline EEDOR [15] & Extends network lifetime using an energy efficient protocol, decreases the redundant packet transmissions and collisions, and reduces the forwarding set size by excluding nodes with greater depth. \\ \hline \end{tabular}
\end{table} 
Table 1: Summary comparison of different existing protocols. and/or with a base station, and acoustic modems to communicate with the underwater sensor nodes. The underwater sensor nodes consist of two types: nodes that participate in packet forwarding and nodes that do not. Nodes that participate in packet forwarding are the source node, next forwarder nodes, and forwarding candidates. Nodes that do not participate in packet forwarding are void nodes, trapped nodes, and idle nodes. Each type of node is defined as follows:  
1. Nodes that participate in packet forwarding.