# A Novel Cooperative Opportunistic Routing Scheme for Underwater Sensor Networks
## 3 Opportunistic Void-Avoidance Routing Protocol
### OVAR Overview  
In order to properly address the void problem and also to deal with the lossy nature of the underwater acoustic channel, OVAR uses an opportunistic routing algorithm to increase the transmission reliability and also the network throughput while excluding all routes leading to a void area. By taking advantage of the broadcast nature of the acoustic signal, forwarding nodes locally collaborate on packet forwarding with very low overhead.  
Having a single permanent destination, in the single-sink model, or a number of destinations, in the multi-sink model, is a unique useful feature in developing void-aware routing protocols for UWSNs, which has been perhaps neglected in most routing protocol developments in this field. Using this feature, the process of establishing a void avoidance route for all of the nodes in the network to their destination(s) can be initiated by the sink(s) and cascaded down by intermediate nodes, similar to the route establishment phase of some distance vector routing protocols in wireless _ad hoc_ networks. In order to obtain reachability information and neighbouring nodes' discovery, each node periodically broadcasts a beacon, which includes the hop count information (proximity of nodes to the sink) and also some neighbouring information for updating the neighbouring tables. The beaconing mechanism has already been implemented and utilised by some MAC protocols [38; 39] for neighbouring nodes' discovery. This mechanism can be augmented to support the hop count information required by OVAR without imposing new overhead.  
It should be noted that OVAR is a soft-state routing protocol. In a soft-state routing protocol, some reachability information (e.g., hop count distance, forwarding direction) can be provided and kept in each node [8]. However, the scalability of the routing protocol should not be sacrificed. Therefore, there is a trade-off between the protocol's scalability and reachability information at each node. Although this information gives a general view of each node, all routing decisions should be made locally to hold the scalability of the protocol. Moreover, regarding the dynamicity of underwater currents (slow nodes' movement), it is assumed that routing can be accomplished much faster than topology changes. Therefore, the cost of information distribution is negligible against the cost of the routing and packet recovery. Therefore, no routing path is maintained in each node in OVAR apart from some reachability information, which is useful for efficiency, but not essential, as it can be regenerated or updated if needed [8].  
OVAR employs a hop-by-hop forwarding set selection to deliver packets to the sink. Each packet holder uses local information of hop distance and packet advancement to determine its own forwarding set. In addition, the forwarding set should prevent the hidden terminal problem, which is caused by including the nodes that are out of range of each other. In order to manage the energy, the number of collaborative nodes can be adjusted according to the density of the network. Afterwards, in order to prioritise the multiple forwarding nodes, each node considers its depth as the second metric to set a relaying timer. The node with the highest priority (lowest depth) transmits the packet earlier, and other low priority nodes can drop the packet after hearing the transmission. This suppression mechanism along with the selecting of a path with a lower hop count leads to more energy savings and a higher delivery ratio. By employing hop-by-hop forwarding set selection, OVAR is highly scalable to be used in large underwater sensor networks. Finally, OVAR automatically excludes all of the routes leading to void areas and, therefore, does not need to switch any high overhead recovery mode for void bypassing.