1. Introduction
The ocean has an abundance of fuel, minerals, and biological resources, and it is a main channel for global transportation [
1]. The oceans hold vast reserves of fuel, minerals, and biological resources, serving as a vital global transportation route. Over the past century, nations have progressively increased their investments in oceanic research. As oceanic development accelerates, the need for underwater communication becomes increasingly urgent. The underwater environment has become a focus of significant attention due to advancements in sensing technology, leading to the emergence of underwater wireless sensor networks (UWSNs) as a promising option for exploration. Underwater wireless sensor networks (UWSNs) constitute a critical component of underwater communication technology, playing a pivotal role in underwater monitoring, development, and defense applications [
2,
3].
Unlike terrestrial wireless sensor networks (WSNs), UWSNs employ acoustic signals rather than radio frequencies for wireless communication. However, UWSNs face several inherent limitations, including prolonged and variable delays, narrow bandwidth, slow signal decay, elevated error rates, and substantial noise [
4,
5]. Consequently, link quality assumes paramount importance when forwarding messages to the sink node. The majority of sensor nodes are battery-powered, rendering them challenging to replace or recharge once deployed underwater. Therefore, energy efficiency ranks as a primary concern when designing routing protocols tasked with collecting sensor data and routing it to the sink node. Moreover, UWSN sensor nodes drift with hydrodynamics, necessitating the consideration of network dynamics stemming from topological fluctuations.
In response to these challenges, this paper seeks to introduce a location-independent and energy-efficient routing protocol, wherein data packets are forwarded hop-by-hop from source sensor nodes to the sink node. The underwater acoustic communication routing protocol mainly solves the problem of data transmission between multiple nodes. The topology structure of the network, the period of data generation, the direction of data flow, and the flexibility of node deployment all affect the design of the routing protocol. In the past, two routing strategies have been presented: deterministic routing and opportunistic routing. In deterministic routing, if the network conditions do not change over time, the sender always selects the same node as the best next-hop node. In opportunistic routing, even if the network conditions do not change over time, the sender can choose different nodes as the optimal next-hop node [
6,
7,
8]. Due to the unpredictability of link quality in underwater environments compared to changes in terrestrial radio links, opportunistic routing protocols can better handle changing network dynamics than deterministic routing schemes and are more suitable for networks in dynamic underwater environments [
9]. The opportunistic routing protocol we propose leverages channel awareness and is designated as the weighting link-quality-based routing protocol (WLQRP).
In contrast to conventional routing protocols, which predominantly focus on selecting the next-hop node when choosing relay nodes, WLQRP attaches greater significance to link quality’s influence. WLQRP scrutinizes historical transmission success records among nodes, encompassing not only the past transmission success rate between nodes and their immediate next-hop nodes but also factoring in link quality to subsequent next-hop nodes. This comprehensive channel quality evaluation during data packet transmission culminates in selecting the optimal hop for each data packet. Consequently, WLQRP enhances relay node selection efficiency, elevates data packet transmission success rates, curtails packet retransmissions, and diminishes energy consumption. Furthermore, WLQRP can harness topological information to circumvent connectivity gaps and shadow regions during routing, effectively minimizing the likelihood of encountering voids. To assess WLQRP’s performance, simulations were conducted employing MATLAB. The outcomes indicate that our protocol excels in data packet transmission success rates, end-to-end delay, and latency. When juxtaposed with the vector-based forwarding (VBF) protocol and the HH-VBF (hop-by-hop vector-based forwarding), the experimental results manifest WLQRP’s superiority in packet loss rates, energy consumption, delay, path selection, and various other aspects.
The rest of this paper is organized as follows.
Section 2 summarizes previous work on underwater wireless sensor networks. In
Section 3, we model the network.
Section 4 describes the channel-aware routing protocol in detail. The simulation results on the MATLAB platform are explained in
Section 5. At the end, the paper is summarized.
2. Related Works
Starting with this section, we provide an overview of the research performed on routing protocols in USANs. This includes a comprehensive analysis of their strengths, weaknesses, and challenges. It then introduces the WLQRP proposed in this article.
In UASN, routing protocols can be divided into three-dimensional location-based routing, depth-based routing, and location-free routing. Three-dimensional position-based protocols include VBF, HH-VBF, AHH-VBF, DFR, FBR, etc. Depth-based routing protocols include DBR, FDBR, VAPR, EEDBR, and Hydro Cast. Location-free routing is divided into cluster routing and beacon routing.
The VBF (vector-based forwarding) protocol [
10] utilizes the geographic location information of each node to create a virtual pipeline between the source node and the sink node, and the nodes within or closer to the pipeline are more likely to be selected as the next node. However, when the number of nodes in the pipeline is small, the success rate of packet transmission of this routing protocol will be greatly reduced. The energy of nodes within the pipeline will be more easily consumed, which leads to an uneven energy distribution of nodes throughout the submarine network. The HH-VBF (hop-by-hop vector-based forwarding) protocol [
11] and AHH-VBF (adaptive hop-by-hop vector-based forwarding) protocol [
12], on the other hand, create virtual pipes at each hop to solve the problem of low transmission success rate at low node density. However, when the node density is higher, energy will be wasted excessively, and the data will have more conflicts. With the local topology information, The ACGSOR protocol [
13] segmentation scheme divides the end-to-end path into several short opportunistic routing segments. Furthermore, a cooperation mechanism is applied to switch the transmission mode adaptively. However, the protocol consumes more energy. Xinbin Li et al. [
14] propose an adaptive multi-zone geographic routing protocol (AMGR) that dynamically adjusts the neighbor information acquisition interval according to the topology change speed. In ref. [
15], The underwater network is first divided into small cube spaces; thus, the data packets are supposed to be collaboratively transmitted by unit of small cubes logically.
Shin et al. studied a different flood-based geographic solution using their directional flooding-based routing (DFR) protocol [
16]. In this protocol, each node broadcasts packets to all its neighboring nodes. The decision of whether to forward the packet is based on the BASE_ANGLE, which represents the direction from the sender S to the forwarding party F and the destination party D (the receiver). This decision is made by comparing the BASE_ANGLE to the reference angle included in the package. The change in the underwater channel is addressed by gradually adjusting the reference angle based on the link quality. A smaller flooding area is achieved with a better reference angle. Since obtaining accurate underwater geographic information can be challenging or costly, some protocols make use of partial geographic information. Focused beam routing (FBR) [
17] is based on the concept of multiple sensors and multiple channels, using multiple acoustic sources, receivers, and focused beamformers for data transmission. FBR can improve transmission distance and signal quality by focusing acoustic energy in a specific direction, overcoming water absorption and scattering problems. Multiple data streams can be transmitted simultaneously, increasing the data transmission rate and throughput. However, it also has problems in terms of high hardware requirements, diffusion overlap due to the multipath effect, and energy consumption. In [
18], Quansheng Guan et al. propose a distance-vector-based opportunistic routing (DVOR) scheme to address void and detouring.
Yan, H. et al. [
19] proposed a depth-based routing protocol with a greedy algorithm, DBR (depth-based routing), which differs from other protocols in that it does not need to use specific geographic location information. Instead, it uses depth as a factor for selecting the next hop node and only requires depth information. This protocol avoids the need for complex location techniques. The transmission of data is limited to a one-way flow, from the lower level to the higher level. This routing protocol selects the next node based on whether it is closer to the surface of the sea than the node at this point, and if the packet is closer to the sea, it will be transmitted to that specific node. On this basis, Mohammadi, R. et al. [
20] proposed an improved protocol, FDBR (fuzzy depth-based routing), which not only utilizes depth information but also takes hop count and energy information into account more comprehensively. This leads to enhanced network energy usage and improved delay performance. In order to reduce the probability of encountering void holes in the sparse networks, Haitao Yu et al. [
21] presented a weighting depth and forwarding area division DBR routing protocol called WDFAD-DBR. Noh Y. et al. [
22] proposed VAPR (void-aware pressure routing), a void-aware pressure routing protocol, which utilizes the sequence number, hop number, and depth information to enable the selection of the next hop node closest to the surface receiver, thereby selecting the shortest data transmission path and maintaining a high packet transmission rate even in the presence of voids. In order to extend the life cycle of the network and balance the energy consumption, EEDBR [
23] considers two indexes, depth and remaining energy, when forwarding packets. When a node receives a packet, it calculates the retention time based on its remaining energy and position in the forwarding list. In ref. [
24], Lee et al. proposed pressure routing (hydro cast) for underwater sensor networks. The next hop node is selected in a similar way to DBR, but it adopts an anti-gap mechanism and limits co-channel interference to improve network performance. Ashraf, S. et al. [
25] proposed a confined energy depletion (CED) opportunistic routing (OR) mechanism in which the depth factor of the compute node is used to further narrow the selection range of the next-hop trunks. In ref. [
26], a geographic and cooperative opportunistic routing protocol (GCORP) is proposed. In the GCORP protocol, initially, a multiple sink-based network architecture is established. Then, a relay forwarding set is determined by the source node on the basis of the depth fitness factor. Bouk SH et al. [
27] proposed the energy and depth variance-based opportunistic void avoidance (EDOVE) scheme to gain energy balancing and void avoidance in the network. EDOVE considers not only the depth parameter, but also the normalized residual energy of the one-hop nodes and the normalized depth variance of the second hop neighbors.
The H2-DAB (hop-by-hop hop dynamic addressing based) protocol proposed by AYAZ M et al. [
28] does not even need to use any location information. In this protocol, the surface receiver first broadcasts a hello packet to the submarine nodes, and all the nodes receive it and obtain hop count information from that node to the receiver. In the subsequent packet transmission, the forwarding of the next node is determined solely by the hop count information. Wenbo Zhang et al. [
29] designed a Nonuniform clustering (NC) algorithm in which clusters are generated according to different node densities. The simulation results show that compared with the classical routing algorithm, the proposed algorithm has a higher transmission efficiency, requires less energy consumption, and can more effectively extend the network’s lifetime. In ref. [
30], the whole network model is regarded as a 3D cube from the grid point of view, and this 3D cube is divided into many small cubes, where a cube is seen as a cluster. The proposed protocol shapes an energy consumption model considering the residual energy and location of sensor nodes to select the optimal cluster-heads. Zhiping Wan et al. [
31] proposed the ACUN protocol. The algorithm uses a multi-level hierarchical network structure based on the distance between cluster heads and the sink node and the residual energy of a cluster head to determine the size of the competition radius. In ref. [
32], the authors propose a multi-layer cluster-based UWSN energy saving (MLCEE) protocol to solve the problem of hotspots and energy consumption. MLCEE first divides the entire network into layers and then clusters nodes in the same layer. Finally, the cluster head (CH) selects the next hop in the CH based on the larger fitness value, the smaller hopid, and the smaller number of layers.
Stefano Basagni et al. [
33] proposed CARP, which utilizes link quality, avoids loops, and bypasses nulls through a simple topology. This network improves packet delivery and saves energy; but again, at the cost of higher latency. In [
34], ZhangBing Zhou et al. introduced E-CARP, an enhanced iteration of the channel-aware routing protocol (CARP) initially developed by S. Basagni et al. E-CARP allows sensing data to be cached at sink nodes to prevent these packets from being forwarded across the network, reducing data retransmission. Furthermore, by enhancing the technique for selecting relay nodes in CARP, the selected relay nodes are given a higher reuse priority, which reduces the communication cost and improves the network performance to a great extent.
Compared with the above-mentioned related works, two prominent advantages of WLQRP are summarized as follows:
WLQRP scrutinizes historical transmission success records among nodes, encompassing not only the past transmission success rate between nodes and their immediate next-hop nodes but also factoring in link quality to subsequent next-hop nodes. This comprehensive channel quality evaluation during data packet transmission culminates in selecting the optimal hop for each data packet. Consequently, WLQRP enhances relay node selection efficiency, elevates data packet transmission success rates, curtails packet retransmissions, and diminishes energy consumption.
WLQRP takes the energy of the next-hop node into the calculation of link quality, which can effectively balance the energy consumption between nodes and extend the lifetime of the network.
WLQRP can harness topological information to circumvent connectivity gaps and shadow regions during routing, effectively minimizing the likelihood of encountering voids.
4. Protocol Description
The network initialization process is defined first, followed by a detailed explanation of data forwarding.
The network initialization is achieved by the sink broadcasting Hello packets, and the nodes gradually establish connectivity through the process of updating their hop counts and retransmitting data packets upon receiving the Hello packets. A detailed description of this process is provided in
Section 4.1.
Figure 2 shows a flowchart for the network initialization process.
Following the successful initialization of the network, the data forwarding process commences with a preliminary handshake phase. Assuming node x is tasked with data forwarding, the initial step entails engaging in a handshake with its adjacent nodes. Node x initiates the process by dispatching HANDSHAKE-S packets to its neighboring counterparts. Upon receipt of these packets, the neighboring nodes respond by generating HANDSHAKE-R packets, which are then transmitted back to node x.
Subsequently, the completion of the handshake phase between node x and its neighboring nodes is realized. A detailed description of this process can be found in
Section 4.2. A visual representation of the handshake phase is presented in
Figure 3 and
Figure 4.
Figure 3 shows the process of sending HANDSHAKE-S and receiving HANDSHAKE-R when a node needs to forward data, and
Figure 4 shows the process by which a neighbor node receives HANDSHAKE-S and sends HANDSHAKE-S.
The subsequent phase of data forwarding unfolds with the execution of the data transmission process. Upon reception of HANDSHAKE-R packets from its neighbors, node x computes the link quality metric with each neighboring node using the prescribed Equation (8). Subsequently, node x selects the neighbor with the highest computed link quality to facilitate data transmission. Acknowledgment (ACK) packets are relayed back to node x by the recipients of the transmitted data. It is crucial to emphasize that only those neighbors whose link quality surpasses a designated threshold can successfully receive data packets. In instances where all neighbors possess link quality values beneath the threshold, the node temporarily stores the packet in a cache queue for the next send. Additionally, in cases where node x fails to receive ACK packets and retransmission, it proceeds to select the neighbor with the second-highest link quality for data forwarding, and this iterative process continues accordingly.
Section 4.3 provides a detailed description of this process. The procedural depiction of the data forwarding phase is graphically presented in
Figure 5.
4.1. Network Initialization and Hop Count Setting
At the commencement of network initialization, the sink node initiates a regular and periodic dissemination of Hello packets across the entire network, adhering to a consistent time interval. The Hello packet format is (forwarding node, hc), including the ID of the forwarding node (initially the sink ID) and the hop count (initiated to 0). Upon receiving a Hello packet, the recipient node (referred to as node x) conducts a comprehensive assessment. It meticulously checks whether its current hop count variable HC(x) exceeds the hop count hc carried by the received Hello packet. If this condition is met, node x proceeds to update its hop count HC(x) by incorporating the value contained within the Hello packet plus 1. Subsequently, it retransmits the Hello packet, ensuring that the propagated packet carries the newly updated hop count HC(x) and forwarding node updates to x. Conversely, in the event that the condition is not satisfied, node x responsibly discards the received Hello packet, thereby preserving the integrity and consistency of the hop count. The above-mentioned process is repeated until the Hello packet goes through all the reachable sensors. A description of the hop count setting algorithm is shown below as Algorithm 1. Upon the culmination of this setup stage, each node within the network acquires precise and up-to-date information pertaining to its hop distance to the sink node.
Algorithm 1. Algorithm for hop count setting |
- 1:
Sensor nodes N = {1, 2, x, y, …, n} with their hop count HC - 2:
The hop count of the sink is initiated to 0, and other nodes is initiated to infinity - 3:
Surface sink broadcasts a Hello packet (forwarding node, hc) - 4:
if node x receives a Hello packet then - 5:
Compare the node hop count HC(x) and the Hello packet carrying hop count - 6:
if HC(x) > hc then - 7:
HC(x)←hc + 1 - 8:
Rebroadcast the Hello packet by setting hc←HC(x) and forwarding node←x - 9:
else - 10:
Discard the Hello packet - 11:
End - 12:
end
|
4.2. Handshake Phase
During the handshake phase, two types of packets are employed: HANDSHAKE-S and HANDSHAKE-R. HANDSHAKE-S, sent by the initiating node, follows the format (TypeID, NodeID, PacketID, HC, Q-packet). TypeID designates the packet type, NodeID embodies the node ID of the HANDSHAKE-S sender, PacketID stands for HANDSHAKE-S ID (distinct for each request-initiating packet), HC indicates the hop count value of the HANDSHAKE-S sender, and Q-packet constitutes a data packet queue. This queue includes pending forwarding data represented by (pktsrc, pktid) pairs, where pktsrc represents the source node ID and pktid is the data packet ID.
HANDSHAKE-R serves as the response packet sent by a node upon receiving HANDSHAKE-S, having the format (TypeID, NodeID, PacketID, HC, Packet-Bit, Energy, Link-Quality). TypeID denotes the packet type, NodeID designates the node ID of HANDSHAKE-R sender, PacketID signifies the received HANDSHAKE-S ID, HC indicates the hop count value of the HANDSHAKE-R sender, and Packet-Bit indicates whether node y holds pending forwarding data in its cache, with the corresponding queue bit set to 1 if data are present. Energy denotes the energy of the HANDSHAKE-R sender, and Link-Quality quantifies the link quality between two nodes engaged in the handshake, computed as detailed below.
Prior to the initiation of data transmission between nodes, a handshake phase is initiated. When node x possesses one or more packets intended for forwarding, it proceeds to broadcast HANDSHAKE-S packets. In the event that a HANDSHAKE-R response is not received from neighboring nodes within the specified time window, the hop count of the node is subsequently adjusted to its maximal value. Subsequently, an additional temporal interval is observed. Should a response fail to be received even during this extended period, the node proceeds to effectuate the discarding of the data packet.
Upon receiving the HANDSHAKE-S packet from node x, node y conducts a hop count comparison between the two nodes. If HC(x) is greater than the node y’s hop count, node y checks its own cache queue for the presence of data packets included in the Q-packet. If such data packets are found, the corresponding bit is set to 1, following which node y generates a HANDSHAKE-R packet and sends it back to node x. However, if HC(x) is less than the node y’s, node y simply discards the received HANDSHAKE-S packet. The pseudocode for the procedure is given in Algorithm 2.
Algorithm 2. Upon receiving HANDSHAKE-S from node x |
- 1:
After node y receives the HANDSHAKE-S packet from node x - 2:
Compare the hops of nodes x and y - 3:
if HC(x) < HC(y) then - 4:
drop HANDSHAKE-S - 5:
else - 6:
node y checks its own cache queue for data packets included in the Q-packet - 7:
if node y has already received packet in Q-packet then - 8:
Set packet position in Packet-Bit to 1 - 9:
Calculate Link-Quality - 10:
Send HANDSHAKE-R = (TypeID, NodeID, PacketID, HC, Packet-Bit, Energy, Link-Quality) - 11:
end - 12:
end
|
4.3. Selecting the Optimal Relay and Data Forwarding
Following the reception of HANDSHAKE-R responses from neighbor nodes, the node proceeds to identify the most suitable intermediary relay. Subsequently, leveraging the Packet-Bit information derived from the chosen relay node’s HANDSHAKE-R response, node x determines which data packets within the pending forwarding queue can be pruned prior to forwarding the remaining packets to the selected relay node. Algorithm 3 summarizes the processing details upon receiving HANDSHAKE-R.
Algorithm 3. Upon receiving HANDSHAKE-R |
- 1:
After node x receives the HANDSHAKE-R packet from neighbors - 2:
Select all neighbor nodes that have replied to HANDSHAKE-S sent by x - 3:
Calculate all neighbors’ link quality - 4:
Select the neighbor node with the highest link quality - 5:
if the highest link quality greater than threshold then - 6:
Node x checks Packet-Bit in received HANDSHAKE-R - 7:
Remove duplicate data packets - 8:
Send data packets - 9:
else - 10:
The node temporarily stores the packet in a cache queue for the next send. - 11:
end - 12:
if y has received data packets then - 13:
node y sends ACK - 14:
end - 15:
if x has received ACK then - 16:
Packets are transmitted successfully - 17:
else - 18:
x retransmits data packets (up to three times) - 19:
if x has received ACK then - 20:
Packets are transmitted successfully - 21:
else - 22:
Node x selects another relay to transmit data packets - 23:
end - 24:
end
|
During the process of selecting the optimal relay, the primary criterion involves evaluating the link quality of the neighboring nodes that have responded. In a scenario where a data packet is delivered to node x, encompassing a set of m neighboring nodes including y, the criterion for x’s next-hop node selection involves identifying the neighbor with the most robust link quality that surpasses a pre-established threshold. The computation of link quality for neighboring nodes adheres to the subsequent formula:
represents the transmission success rate between nodes x and y, where the success rate is calculated as the ratio of actual data forwarding times to theoretical data forwarding times. Theoretical data forwarding times pertain to situations where nodes x and y achieve successful handshakes and designate y as the subsequent hop for data relay. Actual data forwarding times entails the successful transmission of data from node x to node y following a successful handshake. In other words, if the subsequent relay is selected as y but x fails to forward packets to y, then the transmission success rate will be reduced. Upon the determination of the subsequent hop node, the heterogeneity in link quality introduces variability in the consistent success of data packet transmissions. Therefore, the probability of successful data packet transmission serves as an indicator of channel quality, thereby aiding the WLQRP protocol in selecting relay nodes situated within favorable communication channels.
denotes the average link quality between node y and its neighboring nodes (except node x), while signifies the maximum link quality value among all of y’s neighboring nodes. By incorporating the average and maximum values of link quality among neighboring nodes for the subsequent hop, WLQRP is adept at skillfully circumventing link vulnerabilities and thereby mitigating the risk of encountering routing traps. represents the energy level of node y, thus mitigating the risk of data packet loss arising from inadequate energy resources within node y.
The constants in the formula are adjustable parameters, allowing for manipulation of the weighting between link quality and node energy pertaining to subsequent and subsequent-to-subsequent hop nodes. In scenarios characterized by suboptimal link quality, elevating the weighting of subsequent-to-subsequent hop link quality ensures the protocol’s reliability.
As shown in
Figure 6, node S is the forwarding node, and node A, node B, and node R are neighbors of node S. When node S needs to send data, it first sends HANDSHAKE-S. After neighbor nodes A, B, and R receive HANDSHAKE-S, they first check whether their hop count is greater than the hop count carried in HANDSHAKE-S. As can be seen from the figure, node B has a larger number of hops than node S. Therefore, node B discards the HANDSHAKE-S, node A and node R send HANDSHAKE-R to node S, and node S selects the node with the highest link quality that is greater than the threshold from the nodes sending HANDSHAKE-R as the best relay. The link quality of the three is calculated to be 0.77 and 0.65, respectively. According to the forwarding policy of WLQRP, the node R with the link quality of 0.77 is selected as the next hop node. When calculating the link quality between node S and nodes B and R, not only the link situation between node S and node R is considered, but also the link situation between nodes R and their neighbors. This also demonstrates that only the link condition between the node and the next hop node is good enough to make the next hop node a relay node, and the neighbor status of the next hop node is also an important judgment basis. This can effectively avoid the route falling into a void.
Once the optimal relay is determined, node x proceeds to forward a set of data to node y. Upon successful data reception, node y sends an acknowledgment (ACK) message back to node x. If node x does not receive an ACK confirmation from node y within the specified wait time (round-trip time of the data packet), x will resend the data. The maximum number of retransmissions is 3. If x does not receive the ACK packet after retransmission, it proceeds to select the second-highest link quality node for data transmission, and this process continues iteratively. If the link quality of all neighboring nodes of node x falls below a predefined threshold, the node temporarily stores the packet in a cache queue for the next send. Once the packet is successfully sent, it will be removed from the cache queue. If the cache is full, the packets are dropped one-by-one in a first-in, first-out order.