## 4 Next Forwarding Node Selection in UWSNs
### Addressing Based  
In this subcategory, each protocol assigns a virtual number as an address for each node based on beacon messages provided by the sink. This address helps in selecting the next forwarding nodes. The following paragraphs discuss the non-localization routing protocols belonging to this subcategory in detail. Hop-by-Hop Dynamic Addressing Based (H\({}^{2}\)-DAB) Routing Protocol is proposed and considered as a first address-based algorithm aimed at improving energy efficiency, scalability, and robustness [44]. In general, H\({}^{2}\)-DAB do not use full location information about the nodes. The process of selecting the next forwarding nodes has been divided into two phases, assigning a dynamic address and data delivery. In the first phase, the sink node sends a beacon message as a hello packet to all nodes. The node that receives the hello packet assigns itself a hop ID based on the number of hops to the sink. The nodes that have smaller address are located closer to the sink and are eligible to forward the data packets. In Figure 7, the hop ID of node N20 is equal to 45, which indicates that its hop distance from one sink is equal to 4, while its distance to another sink is equal to 5. In the second phase, the sender node sends a request message to its neighbors. The receiver node replies to the request message with its ID and hop ID. The sender node chooses the node with the smallest hop ID as the next forwarding node. This protocol has some advantages: the employment of multi-sink has a direct impact on reducing the congestion at the nodes closer to the sink. Moreover, H\({}^{2}\)-DAB did not require full location information as it uses beaconing messages provided by the sink. The H\({}^{2}\)-DAB has some disadvantages. It did not consider any solution for the communication void problem. Moreover, the process of assigning the address should be updated periodically, which affects the performance of the protocol. Furthermore, H\({}^{2}\)-DAB did not utilize any energy and link quality metrics for assigning an address for each node, which leads to an increase in the energy consumption and packet loss. Figure 7: H\({}^{2}\)-DAB addressing technique. In order to improve the network reliability, Two-Hop Acknowledgment (2H-ACK) Routing Protocol has been conducted as a new version of H\({}^{2}\)-DAB [45]. In general, 2H-ACK is divided into two phases; the first one is assigning dynamic address to nodes and the second is data packet forwarding. The first phase is similar to H\({}^{2}\)-DAB. The second phase employs six steps for forwarding the data. This protocol stores two copies of the data packet in the network to provide reliable data delivery. These six steps are clearly shown in Figure 8. In the first step, the sender node broadcasts an inquiry message to its neighbors, as illustrated in Figure 8a. The neighbors that have smaller hop ID than the sender will reply to the inquiry message as shown in Figure 8b. The sender nodes then select the best forwarder node and forward the data packet to this node. In Figure 8d, the forwarder node broadcasts an inquiry request to its neighbors to find its own next hop node before sending an acknowledgment message to the sender. In Figure 8e, the forwarder waits to receive a reply from its neighbors. In the last step, the forwarder node selects the best next forwarder nodes and sends that data packet to this node. Moreover, it can now send an acknowledgment message to the sender, as shown in Figure 8f. The advantage of 2H-ACK is that it does not require full location information as it uses beaconing messages provided by the sink. Moreover, the employment of multi-sink has a direct impact on reducing the congestion at the nodes closer to the sink. Furthermore, the amount of packet loss has been decreased because of the use of two copies during the forwarding process. However, this protocol has some drawbacks. It still did not handle the communication void problem.