## 4 Next Forwarding Node Selection in UWSNs
### Void-Aware  
As discussed earlier, a communication void occurs when the data packet reaches some nods that do not have any neighbors. This problem has spurred researchers to design efficient, void-aware routing protocols that discover the void nodes and avoid them in the data packet forwarding process. The following paragraphs discuss the localization routing protocols belong to this subcategory in detail. An efficient pressure-based routing algorithm for reliable underwater sensor networks has been designed, a hydraulic pressure based anycast routing protocol (HydroCast) [56]. This protocol addresses the major challenges that affect the ocean current (bandwidth and energy). HydroCast is divided into two modes: greedy routing and void handling. The greedy mode has the responsibility to select the next forwarding nodes. To this end, each receiving node calculates a link quality metric named Expected Packet Advance (EPA). After that, the nodes are sorted based on their depth information, i.e., the priority goes to nodes closer to the sink and then to those with a shorter holding time. Each forwarder node broadcasts the data packet embedded with the ID of its neighbors. The receiver nodes extract the ID list that is embedded in the data packet. If its ID is not on the list, it simply discards the packet. Otherwise, it calculates a holding time and sends a data packet based on this holding time. The nodes then try to overhear the data packet by providing the two-hop clustering technique. This technique is an enhanced version of the technique used in DBR. On the other hand, the void-handling mode tackles the communication void problem. To this end, if the data packets reach a void node (Local Maximum), they discover a detour from the void node to another shallower node. As shown in Figure 14, LM1 is a void node and is considered as a local maximum node. It discovers a detour path to another shallower node, LM2, and forwards the data packet to this node. LM2 is also considered a void node. Therefore, it discovers another node, S, and forwards the data packet to this node. S is a non-void node and can forward the data packet using the greedy mode. The main advantages of HydroCast can be highlighted as follows. It provides a solution for the communication void problem. Moreover, it uses depth information locally for finding the position of the nodes. Lastly, it uses a multi-sink structure, which helps improve the performance of the protocol. However, the main drawbacks of HydroCast are: first, it does not take any energy metrics into account in forwarding nodes' selection, whereas energy is one of the major issues that must be taken into consideration; second, the use of a two-hop clustering technique needs localization information, which causes high communication overhead; third, it employs two-hop neighbor information to suppress unnecessary forwarding based on beacon information, which leads  
Figure 14: Void handling in HydroCast. to high energy consumption and high network overhead. Fourth, the void-handling technique used in this algorithm needs to be repeated, which again leads to high energy consumption and high network overhead. A pressure beacon based routing protocol named Void-Aware Pressure Routing Protocol (VAPR) has been proposed to increase the energy efficiency and handle the communication void problem [38]. VAPR is divided into two main parts, namely enhanced beaconing and opportunistic directional data forwarding. In the first part, periodic beacon messages have been broadcasted from the water's surface by each sonobuoy towards the bottom of the water. These periodic beacon messages contain a sequence number, hop count to sink and depth information, and direction of nodes to the sink. The information of each receiver node has been updated, and the direction has been identified towards the sinks based on the minimum hop to sink and depth information. Then, the receiver node updates the beacon and broadcasts the data packet.