# Void Avoiding Opportunistic Routing Protocols for Underwater Wireless Sensor Networks: A Survey
## 3 Review on Opportunistic Routing Void Avoidance Protocols for UWSNs
Moreover, when a fixed primary forwarding area is  
Figure 9: VHGOR recovery mode [48]. implemented by the protocol, the flexibility of the routing might be restricted in its ability to choose and adjust the forwarding nodes under various conditions. **EVA-DBR and SORP**  
In [50; 51], the energy-efficient and void avoidance depth-based routing (EVA-DBR) protocol and A Stateless Opportunistic Routing Protocol for Underwater Sensor Networks (SORP) are proposed. SORP builds on the performance evaluation from [50], considering a realistic sensor mobility model, the shadow zone, variable propagation delays, and additional network parameters and results. EVA-BDR and SORP are routing protocols consisting of two phases: the updating phase and the routing phase. The protocols depend on the information broadcasted periodically in the updating phase from the neighbor nodes that are one-hop away from the source node for void detection and bypassing in the routing phase. Initially, all the nodes in the network are homogeneous. However, in the updating phase, the void and trapped nodes are detected over time by the broadcasted information from the neighboring nodes. In addition, through the updating phase, each regular node will choose its best candidate node in terms of the expected packet advancement (EPA) among the neighboring nodes with lesser depth to be used as a reference node in the opportunistic data forwarding [50; 51]. In the routing phase, to increase the packet delivery probability in each data transmission operation, all the detected void and trapped nodes take themselves out of the forwarding set; this procedure will increase the opportunity for the other regular nodes in the forwarding set to forward the packet. In addition, the forwarding area can be resized depending on the density of the network, as presented in Figure 11, and all the qualified nodes will set their forwarding timer to forward the data packet. This forwarding time should guarantee a priority-based scheduling of the nodes in the forwarding set and should suppress the duplicate packets. Figure 10: Void area problem [49]. In terms of energy consumption, since the nodes do not need to send an ACK to the node's neighbors as a reply to their control packets, the energy consumed per node will be somewhat reduced. In contrast, both protocols may allow the duplicated transmissions to increase the packet delivery probability in a sparse network in addition to periodic broadcasted information exhausting the node's battery and, as a result, decreasing the network lifetime as well as the node's life. And in terms of void avoidance, the state of excluded nodes from the forwarding set that announced themselves as void or trapped nodes may change during the transmission data packet or before the period of broadcasting information expires, which may effect the energy consumption and reliability of the network. Moreover, maintaining the neighboring table and the two-hop information will adversely affect the limited resources of the nodes (i.e., energy and memory). **EDOVE**  
This section reviews the energy and depth variance-based opportunistic void avoidance (EDOVE) protocol that was presented in [52]. EDOVE was proposed on the basis of the work presented in [24], called the WDFAD-DBR protocol. The protocol addresses the void area problem by selecting the forwarder candidates among the total distributed nodes that have i) a large residual energy and ii) several neighboring nodes within its transmission range (neighbors). Each node in the network architecture shares its information with its 1-hop neighbors using neighbor request and neighbor acknowledgment packets, and each node must keep its neighbor table updated in order to obtain this relevant node information when needed. Once a sender has a data packet to deliver, all of its neighbors will inevitably get it due to the broadcast nature of the protocol. From then, the packet must be transferred through one of these neighbors to the next hop or directly to the destination (sink(s)).