# A Stateless Opportunistic Routing Protocol for Underwater Sensor Networks

Authors: Seyed Mohammad Ghoreyshi; Alireza Shahrabi; Tuleen Boutaleb
Journal: Wireless Communications and Mobile Computing
 (2018)

---

## Abstract

Routing packets in Underwater Sensor Networks (UWSNs) face different challenges, the most notable of which is perhaps how to deal with void communication areas. While this issue is not addressed in some underwater routing protocols, there exist some partially state-full protocols which can guarantee the delivery of packets using excessive communication overhead. However, there is no fully stateless underwater routing protocol, to the best of our knowledge, which can detect and bypass trapped nodes. A trapped node is a node which only leads packets to arrive finally at a void node. In this paper, we propose a Stateless Opportunistic Routing Protocol (SORP), in which the void and trapped nodes are locally detected in the different area of network topology to be excluded during the routing phase using a passive participation approach. SORP also uses a novel scheme to employ an adaptive forwarding area which can be resized and replaced according to the local density and placement of the candidate forwarding nodes to enhance the energy efficiency and reliability. We also make a theoretical analysis on the routing performance in case of considering the shadow zone and variable propagation delays. The results of our extensive simulation study indicate that SORP outperforms other protocols regarding the routing performance metrics.


---

## Body

## 1. Introduction

Underwater sensor networks (UWSNs) are widely used to support aquatic applications such as environmental monitoring, exploration of ocean resource, early warning systems, and seismic and volcanic prediction. Underwater sensor nodes are deployed in different depths of the region of interest to collect aquatic information and forward them to any one of the sinks on the surface [1–3]. Sink nodes then deliver the accumulated information to the monitoring centre via the terrestrial radio links for further analysis, as shown in Figure 1. Each underwater sensor node takes advantage of the acoustic transmission due to restrictions on the use of radio waves in the underwater environment. Each node also is equipped with a pressure gauge to measure its depth when deployed in the water [4–6]. Underwater routing protocols are aimed to improve the packet delivery with minimum cost in UWSNs in which greedy routing protocols are the most prominent approaches [7].Figure 1
Network architecture [22].Geographic routing does not need to discover and maintain the full path from the source to the destination which makes it scalable to be used in the large networks with many nodes. Instead, only the information of one hop or two hops is maintained in each node which eliminates the need for updating the long route path via the high overhead routing tables and routing messages [7]. However, in some cases, greedy forwarding may fail because the forwarding node cannot find any qualified node with a positive advancement towards the destination. If such, the packet is dropped even though there is a valid path from the sender to the destination. This phenomenon is called the communication void or local maximum [1, 8]. Different factors such as permanent or temporary obstacles, sparse topology, shadow zones, and unreliable nodes or links are considered as the most common reasons for this phenomenon happening [1].For terrestrial sensor networks, greedy routing protocols equipped with some void-handling techniques seem fully mature and efficient to address this issue [9, 10]. However, due to the different characteristics of UWSNs, these protocols are quite impractical to be applied directly in underwater environment [11]. That is because, first, all communications voids in UWSNs are three-dimensional [12], which requires different treatments than two-dimensional holes in the terrestrial networks. Second, the mobility of underwater nodes with water currents makes the void mobile. A mobile void area can also result from the surrounding environment [13]. Third, using the marine environment as a communication channel imposes some restrictions on the routing performance. Low available bandwidth, slow propagation speed, ineffectiveness of Global Positioning System (GPS), and a lossy environment are a number of such restrictions [14–16]. Finally, there are some restrictions on the energy consumption of underwater sensors due to the difficulties of replacing or recharging their batteries, and also using the acoustic communication for transmitting the packets [17–19]. Therefore, designing an efficient void-handling technique to improve the greedy routing protocol efficiency in UWSNs is crucial.Several routing protocols have been proposed for UWSNs over the past few years. In some of these protocols, the void nodes can be detected and avoided thoroughly; however, few of them can deal with the trapped nodes issue. The trapped nodes are those that involving them in packet forwarding leads a packet to become stuck in a void node [1, 5, 20]. Hence, an efficient stateless routing protocol should proactively discover the trapped nodes in a preprocessing phase and avoid them during the packet forwarding [1].Motivated by the above considerations, in this paper, we propose a Stateless Opportunistic Routing Protocol (SORP) to address the unique challenges of UWSNs. SORP proactively detects the void and trapped nodes and bypasses them during the routing phase using a passive participation approach. In SORP, the void and trapped nodes can locally be discovered without imposing any significant overhead, which makes it a simple and scalable approach for void detection and bypassing in UWSNs. Furthermore, by eliminating the need for ACK packets during the updating phase, less energy is consumed by SORP. It can also adjust its forwarding area according to the density of area ahead which is beneficial to increase the reliability in a sparse area, or reduce the energy consumption resulted from the duplicate packets in a high-density area [21]. The holding time calculation is also further optimised by using the estimated distance and two-hop depth advancement. We also analyse the SORP performance in the presence of shadow zone and variable propagation delays, and we show that how SORP can inherently deal with those issues as well.The work in this paper builds on the performance evaluation from [22] considering a realistic sensor mobility model, the shadow zone, variable propagation delays, and additional network parameters and results. The rest of this paper is organised as follows. In Section 2, we review the related work in the field. In Section 3, we provide a detailed description of the system model. In Section 4, the details of the SORP are presented after investigating the void and trapped nodes issues. We also make a theoretical analysis on the routing performance in the presence of the shadow zone and variable propagation delays. In Section 5, we evaluate the performance of SORP through simulations. In Section 6, we conclude the paper and discuss future work.


## 2. Related Work

In this section, we review some routing protocols which have been proposed for UWSNs by classifying them into two groups: location-based and depth-based. The main difference between them is related to the location service which is responsible for determining the position of the nodes. The routing protocols in the location-based category assume that underwater nodes are aware of full coordinates of themselves with the aid of some localisation services [23]. In this category, a node is called a void node, if it cannot find any other neighbouring node with the shorter geographical distance to the destination [24].There is a group of location-based and vector-based routing protocols such as VBF [25], HH-VBF [26], and AHH-VBF [13], which confine the group of forwarding nodes within a virtual pipeline faced towards the only sink on the water surface. However, no solution when facing with a void in the pipeline is provided. VBVA [12] is another vector-based protocol which is equipped with a reactive void-handling technique. VBVA uses two procedures, vector-shift and back-pressure to deal with the convex and concave void, respectively. However, VBVA is very complicated to be adopted in a real underwater environment because it first allows a packet to be trapped in a concave hole and then attempts to resolve it using a time-consuming procedure which increases the end-to-end delay.Another group of location-based protocols, like GEDAR [27], DCR [28], and GR+DTC [29], exploits a network topology control scheme in which all void nodes can move vertically to be connected to a nonvoid node. However, topology adjustment of nodes consumes high energy which is justifiable only when used in long-term applications.DFR [30] is also another location-based protocol which is equipped with a void-handling technique. DFR uses a controlled flooding approach to relay the packets towards the sink while the flooding zone of each forwarding node is considered large enough to cover at least one node at each hop. However, in the face of poor link quality and void communications, flooding zone may become so large which can waste the energy.FBR [31] is another location-based routing protocol which exploits a preventative void-handling technique to overcome the void communications problem. The primary objective of FBR, as a cross-layer protocol, is to minimise energy consumption by controlling the forwarding nodes transmission power. However, variable transmission ranges can interfere with other nodes activities and, therefore, requires a complicated MAC protocols to handle it. Furthermore, sending and receiving the control packets at each hop to establish a connection is very time-consuming.Depth-based, or pressure-based, routing protocols are simplified to use only depth information to route the packets, instead of using the full 3D geographical coordinates [32]. In this category, a node is a void node if all of its neighbouring nodes have a higher depth value than itself. DBR [33], DBMR [34], and EEDBR [35] are depth-based protocols with no mechanism to address the void problem. In these protocols, each node relays the packet to a neighbouring node with lower depth until the packet is delivered to one of the sinks on the surface.HydroCast [4] represents a pressure-based routing protocol which consisted of two parts: greedy pressure-based routing algorithm and a local lower-depth-first recovery method. In HydroCast, void nodes and recovery paths can be discovered in advance, by making use of the depth properties of deployed nodes. Void nodes then try to discover a recovery path to a nonvoid node by using a 2D surface flooding method. However, the issue of the concave void area which can appear in deeper regions is not addressed in this protocol. Moreover, the recovery route discovery and maintenance incur high overhead, especially when the path is very long.There is also a group of pressure-based and soft-state routing protocols like VAPR [5], IVAR [36], OVAR [20, 37], and LLSR [38], which can keep the packets away from the void and trapped nodes during the packet forwarding by using the reachability information such as hop count distance and forwarding direction. However, they are not as scalable as a stateless approach. Sometimes changing the status of a node affects the status of many other nodes resulting in high overhead.WDFAD-DBR [39] is another pressure-based routing protocol in which void nodes can take themselves out of the packet forwarding to provide the opportunity for other available candidate forwarding nodes. In WDFAD-DBR, the forwarding area is divided into a primary forwarding area (Reuleaux triangle) which is constant all the time, and two auxiliary forwarding areas which may adaptively be expanded based on the node density and channel quality. However, WDFAD-DBR cannot identify the trapped nodes in advance. As another problem, in WDFAD-DBR, corresponding ACKs in response to each transmitted control packet wastes the network resources. Furthermore, using a fixed primary forwarding area may confine the flexibility of routing to select and modify the forwarding nodes under different circumstances.


## 3. System Model

In this section, the network model is described in detail including the network architecture, acoustic propagation model, sensors mobility model, and shadow zone and variable propagation delays.


### 3.1. Network Architecture

An UWSN has a 3D network topology consisted of anchored, relay, and sink nodes, as shown in Figure1. In a multisink network model, sink nodes are placed on the water surface as the final destinations of all packets. They are equipped with both acoustic and radio modems for underwater and land communications, respectively. Anchored nodes are placed at the bottom of the ocean to sense and collect information and deliver it to one of the sinks by using the relay nodes, which are deployed at different depths in between. Upon receipt, sink nodes can transmit the collected information to the monitoring centre via satellite for further analysis [24–26, 33]. The position of relay nodes is continuously changed in the horizontal direction due to the water current: however, this movement is negligible in the vertical direction [13, 39, 40]. It is also assumed that each node knows its current depth by using an embedded pressure gauge. Furthermore, each node can detect Received Signal Strength Indicator (RSSI) which is used to measure the distance between two nodes [39, 41].


### 3.2. Acoustic Propagation Model

The Thorp model [42] is used for describing the underwater acoustic propagation and transmission models. The path loss or acoustic channel attenuation over distance d is expressed as [42](1)Ad,f=A0dkαfdwhere f is the signal frequency and α(f) is the absorption coefficient which is defined by the Thorp model. Furthermore, A0 represents a unit-normalizing constant, and k is the geometric spreading factor which is set to 1.5 for practical scenarios. The underwater noises are dominant in the different frequency regions and are composed of four main components of turbulence PNt(f), shipping PNs(f), waves PNw(f), and thermal energy PNth(f) which can be expressed as [13, 20](2)PNf=PNtf+PNsf+PNwf+PNthfBy considering the attenuation and underwater environment noise models, the signal-to-noise ratio (SNR) over distanced with the signal frequency f can be expressed as [42](3)SNRd,f=PRfAd,fPNfwhere PR(f) represents the transmission power with frequency f at the forwarding node. Decoding of the received packet can be done when SNR at the receiver is greater than the detection threshold.


### 3.3. Sensors Mobility Model

There are different mobility models that can capture the physical movement of the sensor nodes, and among them, we select Meandering Current Mobility (MCM) model to evaluate the performance of routing protocols under the continuous topology changes [43]. Suppose a sensor which is located at the coordinates (x,y). By using the stream-function ψ, the trajectory of the sensor can be computed as(4)x˙=-∂ψx,y,t∂y;y˙=∂ψx,y,t∂xwhere x˙ is the zonal (eastward) and y˙ is the meridional (northward) drift of the sensor in time t. The stream-function which represents a jet-like current is given by [43](5)ψx,y,t=-tanh⁡y-Btsin⁡kx-ct1+k2B2tcos2(kx-ctwhere c and k are the phase speed, and wave-number, respectively. The function B(t) indicates the amplitude of the meanders which is given by(6)Bt=B0+εcos⁡ωtwhere B0 is the average meander width. The parameters ε and ω determine the amplitude and frequency of the modulation, respectively.


### 3.4. Shadow Zone and Variable Propagation Delays

The speed of sound is one of the main factors which can affect the performance of an underwater routing protocol. The speed of sound can vary from 1450 to 1540m/s in underwater depending on the changes in pressure, temperature, and salinity [44]. In [45], the speed of sound in the underwater environment in different operating conditions is calculated by(7)c=1449+4.6T+0.055T2+0.003T3+1.39-0.012s-35+0.017dwhere T is the water temperature in ∘C, s is the water salinity in parts per million, and d is the node depth in meters.The water temperature variation at different depth is investigated in [46]. The ocean temperature profile is accordingly represented by(8)Td=TB+T0e-d/Hwhere TB and T0 are the water temperature of the deep isothermal layer, and shifted extrapolated surface temperature, respectively. H is also a thickness scale of the main thermocline in meters.Furthermore, many works assume that the salinity is constant which can be justified by the fact that the amount of salinities is small in the open ocean [47]. Based on these facts, the speed of sound is mostly a function of depth due to varying pressure and temperature. The speed of sound decreases whenever depth and temperature decrease [48]. The direction of an acoustic signal can change when its speed changes, due to the refraction of acoustic signals. This may result in a phenomenon called shadow zone. In a shadow zone, the signals from a sending node cannot be received by the receiving node due to refraction [48]. The transmission loss with the presence of a shadow zone can be expressed as [46](9)TLTot=TLp+TLszwhere TLp is the transmission loss due to the propagation phenomena, and TLsz is the transmission loss imposed by the shadow zone. Because of the shadow zone occurrence, sometimes some neighbouring nodes cannot communicate although they are within the transmission range of each other. In Section 4.4, it will be discussed how the shadow zone and variable propagation delays are addressed in our proposed model.


## 3.1. Network Architecture

An UWSN has a 3D network topology consisted of anchored, relay, and sink nodes, as shown in Figure1. In a multisink network model, sink nodes are placed on the water surface as the final destinations of all packets. They are equipped with both acoustic and radio modems for underwater and land communications, respectively. Anchored nodes are placed at the bottom of the ocean to sense and collect information and deliver it to one of the sinks by using the relay nodes, which are deployed at different depths in between. Upon receipt, sink nodes can transmit the collected information to the monitoring centre via satellite for further analysis [24–26, 33]. The position of relay nodes is continuously changed in the horizontal direction due to the water current: however, this movement is negligible in the vertical direction [13, 39, 40]. It is also assumed that each node knows its current depth by using an embedded pressure gauge. Furthermore, each node can detect Received Signal Strength Indicator (RSSI) which is used to measure the distance between two nodes [39, 41].


## 3.2. Acoustic Propagation Model

The Thorp model [42] is used for describing the underwater acoustic propagation and transmission models. The path loss or acoustic channel attenuation over distance d is expressed as [42](1)Ad,f=A0dkαfdwhere f is the signal frequency and α(f) is the absorption coefficient which is defined by the Thorp model. Furthermore, A0 represents a unit-normalizing constant, and k is the geometric spreading factor which is set to 1.5 for practical scenarios. The underwater noises are dominant in the different frequency regions and are composed of four main components of turbulence PNt(f), shipping PNs(f), waves PNw(f), and thermal energy PNth(f) which can be expressed as [13, 20](2)PNf=PNtf+PNsf+PNwf+PNthfBy considering the attenuation and underwater environment noise models, the signal-to-noise ratio (SNR) over distanced with the signal frequency f can be expressed as [42](3)SNRd,f=PRfAd,fPNfwhere PR(f) represents the transmission power with frequency f at the forwarding node. Decoding of the received packet can be done when SNR at the receiver is greater than the detection threshold.


## 3.3. Sensors Mobility Model

There are different mobility models that can capture the physical movement of the sensor nodes, and among them, we select Meandering Current Mobility (MCM) model to evaluate the performance of routing protocols under the continuous topology changes [43]. Suppose a sensor which is located at the coordinates (x,y). By using the stream-function ψ, the trajectory of the sensor can be computed as(4)x˙=-∂ψx,y,t∂y;y˙=∂ψx,y,t∂xwhere x˙ is the zonal (eastward) and y˙ is the meridional (northward) drift of the sensor in time t. The stream-function which represents a jet-like current is given by [43](5)ψx,y,t=-tanh⁡y-Btsin⁡kx-ct1+k2B2tcos2(kx-ctwhere c and k are the phase speed, and wave-number, respectively. The function B(t) indicates the amplitude of the meanders which is given by(6)Bt=B0+εcos⁡ωtwhere B0 is the average meander width. The parameters ε and ω determine the amplitude and frequency of the modulation, respectively.


## 3.4. Shadow Zone and Variable Propagation Delays

The speed of sound is one of the main factors which can affect the performance of an underwater routing protocol. The speed of sound can vary from 1450 to 1540m/s in underwater depending on the changes in pressure, temperature, and salinity [44]. In [45], the speed of sound in the underwater environment in different operating conditions is calculated by(7)c=1449+4.6T+0.055T2+0.003T3+1.39-0.012s-35+0.017dwhere T is the water temperature in ∘C, s is the water salinity in parts per million, and d is the node depth in meters.The water temperature variation at different depth is investigated in [46]. The ocean temperature profile is accordingly represented by(8)Td=TB+T0e-d/Hwhere TB and T0 are the water temperature of the deep isothermal layer, and shifted extrapolated surface temperature, respectively. H is also a thickness scale of the main thermocline in meters.Furthermore, many works assume that the salinity is constant which can be justified by the fact that the amount of salinities is small in the open ocean [47]. Based on these facts, the speed of sound is mostly a function of depth due to varying pressure and temperature. The speed of sound decreases whenever depth and temperature decrease [48]. The direction of an acoustic signal can change when its speed changes, due to the refraction of acoustic signals. This may result in a phenomenon called shadow zone. In a shadow zone, the signals from a sending node cannot be received by the receiving node due to refraction [48]. The transmission loss with the presence of a shadow zone can be expressed as [46](9)TLTot=TLp+TLszwhere TLp is the transmission loss due to the propagation phenomena, and TLsz is the transmission loss imposed by the shadow zone. Because of the shadow zone occurrence, sometimes some neighbouring nodes cannot communicate although they are within the transmission range of each other. In Section 4.4, it will be discussed how the shadow zone and variable propagation delays are addressed in our proposed model.


## 4. SORP Details

In this section, our proposed routing protocol (SORP) is presented.


### 4.1. Problem Description

In the category of depth-based routing protocols, each forwarding node forwards the packets towards the neighbouring nodes with the lower depth than itself. Among the neighbouring nodes, those with lower distance from the surface have higher priority to forward the packet while void area and duplicate packets should be properly addressed [4]. Consider a set of sensors N=Ni∣0≤i≤n, and DNi indicates the depth of each node Ni. Furthermore, TNi is considered as the neighbouring set of Ni, and S=Si∣0≤i≤m denotes a set of sink nodes on the surface. The following definitions are presented to describe the SORP problem.Definition 1.
The reachability relationR(x,y) indicates that y is reachable from x in a depth-based greedy forwarding such that(10)Rx,y=1,ifyis  reachable  fromx0,otherwiseDefinition 2.
Regular node is defined as a node which has access to a neighbouring node with lower depth than itself and it is reachable to a sink on the surface. A regular node,NR, satisfies the following condition:(11)Nk∈N∣DNk<DNR,RNk,Si=1,∃Si∈S,∀Nk∈TNR≠⌀Definition 3.
Void node is defined as an underwater node which cannot find any qualified node with a lower depth towards the water surface [1]. The void problem occurs while there is a void node, NV, in the network such that(12)Nk∈N∣DNk<DNV,∀Nk∈TNV=⌀Definition 4.
Trapped node is defined as a node which can reach one or more nodes above; however, forwarding packets to these nodes eventually leads the packets to a void node [1]. There might be a trapped node, NT, in the network such that(13)Nk∈N∣DNk<DNT,∀Nk∈TNT≠⌀∧Nk∈N∣DNk<DNT,RNk,Si=1,∃Si∈S,∀Nk∈TNT=⌀To clarify these definitions, we consider an example shown in Figure2. Node c is a regular node because it can see another regular node j in its neighbourhood with the lower depth. Nodes f and t are the void nodes since there exist no nodes above them. Thus, in a greedy depth-based forwarding, when a void node is considered as one of the candidate forwarding nodes, it obtains higher priority to forward the packet since it has lower depth than other candidate nodes. Subsequently, transmission by a void node may suppress other candidate nodes from forwarding the packet, resulting in packet loss. For instance, when node j forwards a packet, nodes i and f are the potential candidate forwarding nodes because their depths are smaller than that of the current forwarding node. However, node f timer is expired earlier because it has the lowest depth. Therefore, node f forwards the packet while there exists no receiving node above it. It also may suppress node i from the packet forwarding which eventually leads to packet delivery failure.Figure 2
Void problem in depth-based routings [22].Nodese, d, m, and n in Figure 2 are trapped nodes. For example, if node b in Figure 2 forwards a packet to node e, instead of node h, the packet is eventually stuck in node t. The routing efficiency is certainly increased if the trapped nodes are also exempted from the packet forwarding. Although there are some soft-state approaches like VAPR [5], IVAR [36], and OVAR [20] which can bypass the trapped nodes by using the reachability information from the sink nodes, they are not scalable as a stateless approach. Our proposed routing protocol is, to the best of our knowledge, the first stateless routing protocol which is also able to bypass the trapped nodes.


#### 4.1.1. The Probability of Void Occurrence

LetPr(x) be the probability that there are exactly x neighbouring nodes at the upper hemisphere of the node coverage area with volume V=2πR3/3, where R is the transmission range of the node. The volume V denotes the amount of space that a node can cover in its coverage area towards the water surface. The total volume occupied by the UWSN in the region of interest is divided into a large amount of small virtual cubes, such that each cube is either occupied or emptied by a single node according to the binomial probability distribution. If we assume that the number of such cubes is large, Poisson approximation can be applied to the binomial distribution. The probability of x nodes occupying the volume V, the volume of the upper hemisphere of the node coverage area, can be denoted by [49](14)Prx=∫Vσdvxx!exp-∫Vσdvwhere σ is the volume density of the nodes. Here ∫V denotes the integral over volume V, and ∫Vσdv is equal to σV when the sensor density follows a uniform distribution. Therefore, for a uniform sensor density, Equation (14) reduces to(15)Prux=σVxx!exp-σVLet us assume the network density is uniform. The probability of at least one sensor exists above the forwarding can be determined from Equation (15) as follows:(16)Pru=∑x=1∞σVxx!exp-σV=1-exp-σVTherefore, the probability that a node be a void node which cannot find any neighbouring node withinV is given by(17)Prv=exp-σVThe probability of void occurrence depends on the value ofσ and V. It indicates that the probability of void occurrence for a node increases if either of these parameters (node density or node coverage) decreases.


### 4.2. Overview of SORP

SORP is a stateless routing protocol which only relies on the information received from one-hop neighbours for void detection and bypassing during the routing phase. In SORP, in addition to detecting the void nodes, the trapped nodes can also be locally detected and then become inactive in the routing phase to provide more chance for other regular nodes to forward the data packets. SORP has consisted of two phases: updating phase and routing phase.The updating phase is used to keep updating the nodes about the neighbouring nodes status. Periodical updating phase is designed to send an updating packet in each updating interval without the need to receive any ACK from the neighbouring nodes. Initially, all nodes are considered as regular nodes in the network. However, void and trapped nodes are detected using the received information from the neighbouring nodes over the time.In the routing phase, in a passive participation manner, all void and trapped nodes exclude themselves from the packet forwarding candidates, providing an opportunity for the regular nodes to increase the packet delivery probability in each transmission. SORP is a combination of receiver-based and sender-based approaches [14] in which the forwarding node selects the best candidate node in terms of the expected packet advancement and then other candidate forwarding nodes decide about their cooperation for packet forwarding based on their distance to the best candidate node. The expected packet advancement is somehow determined to trade-off between packet advancement and the packet delivery probability [4, 20].By using an adaptive forwarding area, the aims of suppressing the duplicate packets in a dense network, or including a greater number of candidate forwarding nodes in a sparse network, is achieved. In a sparse scenario, SORP may allow a duplicated transmission to increase the packet delivery probability; however, in a dense area, the candidate forwarding set is limited to suppress the duplicate packets. Furthermore, SORP takes advantage of the relative distance and two-hop depth difference information, i.e., one node below and one above, to further optimise the holding time calculation. Algorithm1 details the two phases of SORP: updating phase and routing phase. Table 1 also shows the notations used in this paper.Table 1
Notations used in Algorithm1.
Symbol Definition pkt Received packet dc Depth of current receiving node dp Depth of previous hop forwarding node dn Minimum depth in the neighbouring table Distance Distance between two neighbouring nodes Rec_RSSI RSSI of received packet NeighTable Table of neighbouring nodes EPA Expected packet advancement Cbest Best candidate node in terms of EPA range Range of the forwarding area IDb ID of best candidate node timenow Current time timeinv Invalidation time of neighbouring node timevoid Void detecting time of node Thold Holding time of packetAlgorithm 1:SORP Algorithm.
1:nodeireceives apkt 2:dp=pkt.depth 3:dc=nodei.depth 4:Δd=(dp-dc) 5: ComputeDistance according to difference between initial signal strength andRec_RSSI 6:Switch  pkt.type 7:Case 1: Control_Packet 8:if  pkt.nodetype=regular  then 9:timeinv=timenow+Tinv 10: Add or update the entry in nodei.NeighTable by using (dp, Distance, timenow, timeinv) 11:if  dp<dc  then 12:nodei.timevoid=timenow+Tvoid 13: Compute EPA according to Distance and Δd 14:if  EPA>EPAmax  then 15:EPAmax=EPA 16:nodei.Cbest=pkt.nodeID 17:end if 18:end if 19:end if 20:if (pkt.nodetype=void  or  pkt.nodetype=trapped) then 21: Remove nodepkt.nodeID from nodei.NeighTable 22: Recheck type of nodei and nodei.Cbest 23:if  (nodei.type=void  or  nodei.type=trapped) then 24:pkt.nodetype=nodei.type 25:pkt.nodeID=i 26: Broadcast pkt 27:end if 28:end if 29:EndCase 30:Case 2: Data 31:timeinv=timenow+Tinv 32: Add or update the entry innodei.NeighTable by using (dp, Distance, timenow, timeinv) 33:range=pkt.rangearea 34:IDb=pkt.Cbest 35: GetDistancei,IDb from nodei.NeighTable 36:if  (dc<dp  and  nodei.type=regular  and D i s t a n c e i , I D b < = r a n g e )  then 37: Search dn in nodei.NeighTable 38: Calculate Thold according to dc and dn 39: Set a forwarding timer with Thold 40:else 41:Droppkt 42:end if


### 4.3. Updating Phase

In this section, we describe the updating phase procedure and its impact on SORP.


#### 4.3.1. The Updating Phase Procedure

In SORP, each regular node periodically broadcasts a control packet including the packet type, node ID, node type, and node depth to inform the neighbouring nodes about its current status. Each node keeps a neighbouring table to maintain the required information about its neighbouring nodes. Upon receiving a control packet, each receiving node updates its neighbouring table based on the received control packets. Each receiving node also sets an invalidation timer for a neighbouring node after receiving a control or data packet. The invalidation timer is reset upon reception of new information from the node. Otherwise, the neighbouring node is removed from the neighbouring table when the invalidation timer is expired.Each entry of neighbouring table contains the neighbouring node ID and depth, the distance between the current node and the neighbouring node, time of receiving the packet, and invalidation time of the neighbouring node. The relative distance between each pair of nodes can be computed via the difference between the initial and received signals strengths (i.e., RSSI) [39]. If all the nodes are homogeneous in terms of the transmission power, the initial signal strength is known to each node. By using the Thorp propagation model [42], each node computes its distance to all neighbouring nodes and keeps it at the neighbouring table.For the updating phase, there are some issues which should be addressed properly to increase the network performance. First, broadcasting a control packet at the same time by regular nodes may result in collisions in the network. Thus, in order to prevent the collision problem, each node selects its transmission time randomly from a predefined interval. Second, if the updating operation is carried out very frequently, it may lead to increase in energy consumption. Thus, the updating phase period should be carefully specified depending mainly on the water current speed. Moreover, in our model, the nodes are exempt from sending back any ACK to the sender node which leads to more energy saving. Furthermore, in comparison to a data packet, the control packet size is so small which can be transmitted using a lower transmission power. The neighbouring table can also be updated by the information extracted from a data packet which contributes in extending the updating phase duration and consequently more energy saving.


#### 4.3.2. The Detection of Void and Trapped Nodes

In SORP, void node detection can be performed in a timer-based approach. In this way, each node can set a void-detection timer upon starting its operation. During this time, the node waits for a packet from the neighbouring nodes with lower depth. Upon receiving a control or data packet from a neighbouring node with lower depth, receiving node resets its void-detection timer. If no neighbouring node with lower pressure is sensed before the expiration of the void-detection timer, node announces itself as a void node by broadcasting a control packet without any delay for its neighbours which are located below. Sometimes nodes have already received some control packets from other nodes with lower depth; however, over time, topology is changed, and they may become a void node which again can be detected using the void-detection timer. A void detection can be announced immediately. There is no chance of collision between void announcement packets because void nodes are not within transmission range of each other. For example, if another void node is placed above nodet in Figure 2, it is no longer a void node but becomes a trapped node for this newcomer void node. Void-detection timer should be long enough, i.e., longer than the maximum range of the updating timer, to have a reliable outcome for the void and trapped node detection.Furthermore, trapped nodes can be detected using an event-driven approach. Upon receiving a control packet from a void node, each node updates its neighbouring table and checks whether it still has any regular neighbour with lower depth than itself or not. If the void node is the only neighbouring node with the lower depth in the neighbourhood, in a similar way, receiving node announces itself as a trapped node by broadcasting a control packet including its ID and its current status. Similarly, when a node receives a control packet from a trapped node, it will update the status of the trapped node in the neighbouring table and checks its current status. If its neighbouring table does not include any node with lower depth except the trapped node, it also marks itself as a trapped node and broadcast a control packet to inform other nodes. This procedure stops when all trapped nodes in a local area are detected. In this way, all void and trapped nodes in different places of the network topology can locally be identified without needing to know the network topology.


#### 4.3.3. Selection of the Best Candidate Node

During the updating phase, each regular node also selects the best candidate node in terms of the Expected Packet Advancement (EPA) among the neighbouring nodes with lower depth, to be used as a reference node in the opportunistic data forwarding. LetNa denote the neighbouring set with lower depth than node a; then the best candidate node, Cbest, can be selected by the following criterion:(18)Cbest=argmaxb∈NaEPAb=b∣EPAb≥EPAc,∀c∈NaIn other words,argmax gives a node at which EPA is maximised. The expected packet advancement of each neighbouring node can be measured by [50](19)EPA=P×Δdwhere Δd is the depth difference between a node and its neighbouring node, and P is the packet error probability over the distance between these two nodes. Based on this metric, the neighbouring node which can simultaneously maximise packet advancement and packet delivery probability is selected as the best candidate node. Using the model used in [51], the bit error probability over distance d can be computed by(20)Ped=121-SNRavgd,f1+SNRavgd,fwhere SNRavg(d,f) is the average signal-to-noise ratio over distance d with frequency f which can be calculated using Eq. (3). Accordingly, the delivery probability of a data packet with size n bits over distance d can be expressed as follows [4]:(21)P=1-PednThe packet delivery probability has an inverse relationship with the traversed distance. Thus, a neighbouring node with the lowest depth may not necessarily be a qualified node for relaying the packet due to its less chance to receive the data packet without any error. In order to find the best candidate node, upon reception of a control packet, each receiving node computes the EPA of the sending node and updates its best candidate node ID if it is required.


#### 4.3.4. The Updating Interval Length Decision

The updating time interval has a main impact on the SORP performance and should be determined precisely. In the updating phase, it is assumed that each node selects a random slot time to send a control packet. A distribution of picking a random time slot where all time slots have the same probability is called uniform distribution.Every control packet should be delivered to all 1-hop neighbouring nodes before none of these neighbours send their control packets. Let△DataProp denote the maximum propagation delay which can be calculated using(22)△DataProp=Rνsoundwhere R and νsound are the transmission range of the node (meters), and the propagation speed of sound in the water (meters per second), respectively. For instance, if R=100m, and νsound=1500m/s, the propagation delay is equal to 0.066 seconds. The delivery time of each control packet in one hop can be calculated as(23)T=△DataProp+Ptxwhere Ptx is the packet transmission duration, which can be given by Lcp/Brate, where Lcp is the control packet size and Brate is the bit rate of the acoustic receiver. If we divide the updating interval, Tupdate, by T, plus a guard time, Gt, the number of time slots can be calculated as(24)S=TupdateT+GtIf we assume that each node randomly broadcasts its data packets withinTupdate interval, there is a probability of collision which depends on how many nodes are involved in this particular interval. Let us assume that there are S choices (time slots) and n sensors in an overlap region. If there are only two sensors participating, the probability of collision for the second sensor is 1/k. If there are n sensors participating, the probability of collision for n-th node is n-1/S.In general, the probability of collision in an overlap region withn sensors transmitting data over S possible slots is given as(25)Pcol=1-S-1!Sn-1S-n!=1-∏i=1n-1S-iSand the probability of no collision is(26)Pncol=S-1!Sn-1S-n!=∏i=1n-1S-iSBy substituting from Equation (24), the probability of no collision among n neighbouring sensors during the updating interval can be written as(27)Pncol=∏i=1n-1Tupdate-iT+GtTupdateand the probability of collision is(28)Pcol=1-∏i=1n-1Tupdate-iT+GtTupdateThe probability of collisions depends on the value ofTupdate and n. The probability of collisions decreases if n is fixed and Tupdate increases, or Tupdate is fixed and n decreases. Hence, Tupdate should be determined based on the node density in a way that Pcol→0.


### 4.4. Routing Phase

The aim of the routing phase is to deliver a data packet to one of the sinks on the water surface. To accomplish a successful delivery, each packet is required to be delivered successfully at each hop towards one of the destinations. Thus, to demonstrate the routing phase, we investigate the packet forwarding at each hop. As an example in Figure3, when the current forwarding node f transmits a data packet, all the neighbouring nodes within its transmission range can receive this packet given that there is not transmission error and collision.Figure 3
Forwarding area in dense density [22].Due to high bit error rate, each forwarding node should take advantage of a group of candidate forwarding nodes at each hop to successfully relay the data packet [52–55]. Having only one candidate node to forward the packet may lead to the energy wastes, due to increasing in the number of retransmissions resulted from the high bit error probability [20]. At the other extreme, if all receiving nodes participate in the packet forwarding, it is a naive flooding which also wastes the network resources. Thus, an efficient routing protocol should employ some constraints to limit the number of participating nodes to obtain an ideal forwarding set in terms of expected packet advancement [50]. Moreover, during the routing phase, each node also can update the neighbouring table according to the information extracted from the data packet header. This feature aids to obtain fresh information about the neighbouring nodes and to extend the updating phase duration. Data header includes the packet type, node ID, node depth, the sequence number of the packet, the range of the forwarding area, and ID of the best candidate node.In the following, definitions and criteria to select the candidate forwarding set are presented. It is followed by a discussion about the forwarding area features and its advantages over some existing methods in the literature. Finally, the forwarding time calculation to prioritise the candidate forwarding set members is proposed.


#### 4.4.1. Candidate Forwarding Set Selection

In SORP, when a node receives a data packet, it first updates its neighbouring table and then checks its eligibility to whether participate in the packet forwarding or not. If it is not an eligible candidate node for packet forwarding, it only drops the received packet. For more energy saving, the nodes only read the header of the packet for early acceptance or rejection. In order to be placed in the candidate forwarding set, the receiving node should satisfy some conditions. First, the receiving node should have lower depth and be placed at the upper hemisphere of the current forwarding node transmission coverage area. For instance, in Figure3, nodes v and s are located below the current forwarding node f and for this reason they drop every received packet from node f. Second, the receiving node should be a regular node, not a trapped or void node. The trapped and void nodes, which have already been detected, only drop the received packet. For example, as can be seen in Figure 3, there is a void area after the second hop from the current forwarding node f, and therefore node h is a void node and nodes s and g are the trapped nodes. These nodes simply drop any data packet until their status is changed. Third, the receiving node should be placed within the forwarding area which requires that its relative distance to the best candidate node is smaller than a certain value. The receiving nodes outside of this area simply drop the received packets since they are located within the suppression region. For instance, as can be seen in Figure 3, some receiving nodes satisfy two above conditions like nodes o,r,m,k,t,l; however, they should drop the packet since they are not within the forwarding area which is determined hop by hop according to the density of area ahead. Thus, only the neighbouring nodes a,c,d,e,n along with the already selected node b participate in the packet forwarding.


#### 4.4.2. Forwarding Area Features

The size of forwarding area has a significant impact on duplicate packets suppression in a dense area and also on reliability enhancement in a sparse region. Therefore, the forwarding area is dynamically resized at each hop in SORP to respond to the demand according to local density. At each hop, each forwarding node can select a forwarding range according to the density of the area ahead. The number of nodes with the lower depth can be extracted from the neighbouring table to adopt the forwarding area size. If the number of regular nodes with lower depth is more than a maximum threshold, the minimum forwarding range, which is set toR/4 in our model, can be selected to store in the data packet header to suppress the largest possible number of duplicate transmissions. On the contrary, if the number of regular nodes with lower depth is less than a minimum threshold, the maximum forwarding range, which is set to R in our model, can be adjusted to increase the reliability of packet transmission. As an example in Figure 4, the number of eligible nodes is very limited. Thus, in order to maintain the transmission reliability, the maximum forwarding range is considered to include more candidate nodes in the forwarding set. For other cases, the forwarding range is selected from the interval [R/4,R] accordingly.Figure 4
Forwarding area in sparse density.It should be noted that there is no hidden node within the candidate forwarding set if the forwarding range is set less thanR/2 since all nodes are placed within the transmission range of each other. For instance, in Figure 3, all distances between each pair of candidate forwarding nodes are less than R, which leads to having a candidate forwarding set without including any hidden terminal node inside.The candidate forwarding set selection in SORP also has other advantages over some existing methods in the literature. First, in SORP, the forwarding area position can be changed adaptively depending on the relative position of regular nodes. Whereas in some routing protocols (e.g., FBR [31] and WDFAD-DBR [39]), the position of the forwarding area is fixed which decreases the chance of finding the routing paths with lower distances and more regular nodes. Second, in SORP, a candidate forwarding set without hidden node can be established using only one-hop neighbouring information; however, in some other opportunistic routing protocols (e.g., HydroCast [4], VAPR [5], and OVAR [20, 37]), two-hop neighbouring information is required to exclude the hidden nodes from the candidate forwarding set which resulted in higher overhead. Third, in sender-based routing protocols (e.g., HydroCast, VAPR, and OVAR), the current forwarding node should put the ID of all candidate forwarding nodes within the packet header which increases the packet length and consequently the packet failure probability [14]. However, SORP is a combination of sender-based and receiver-based approach which is required to include only the ID of the best candidate node within the packet header, not including the IDs of other candidate nodes. This feature contributes to achieve higher reliability at each transmission by decreasing the length of the data packet. Finally, in a group of opportunistic routing protocols (e.g., HydroCast, VAPR, and OVAR), the current forwarding node should perform a forwarding set selection which is a complex and time-consuming procedure and may affect the end-to-end delay. However, in SORP, the best candidate node has already been selected during the updating phase, and each receiving node only decides to join the candidate forwarding set based on the allowed distance to the best candidate node.


#### 4.4.3. Forwarding Time Calculation

Eventually, all members of candidate forwarding set should set a forwarding timer for packet transmission. Regarding the example in Figure3, if the priority of packet forwarding is granted to the candidate forwarding nodes based on the lowest depth, node n obtains the highest priority among the candidate nodes and its forwarding timer expires earlier. Although node b is the best candidate node in terms of the expected packet advancement, it can only forward the packet when no transmission is heard by other higher priority nodes n,e,d. The same forwarding time calculation is also used in some other protocols, such as DBR [33].However, in SORP, the forwarding time is computed using the two-hop advancement. Upon receipt of a data packet, each candidate forwarding node (cn) searches its neighbouring table to find a node with the lowest depth (cn+1) and then calculates the holding time based on the depth difference between the previous hop forwarding node (cn-1) and the next-hop neighbouring node (cn+1). It then updates the depth and ID of the best candidate node in the date packet header and sets a forwarding timer according to the holding time. If the forwarding timer expires and another transmission of this packet is not yet heard, it transmits the packet. Otherwise, the packet must be dropped.The holding time which is used to calculate the forwarding time should satisfy some conditions to prioritise the candidate forwarding set members and also suppressing the duplicate packets. First, the holding time should decrease with the increase of the depth difference from the current forwarding node. Second, the holding time should be long enough to let other candidate nodes hear the packet transmission before forwarding the same packet. In SORP, each candidate forwarding node calculates its holding time,Thold, using(29)Thold=R-HRTDelay+R-Dνsoundwhere R and νsound are the transmission range of the node, and the propagation speed of sound in the water, respectively. D is the relative distance between the current forwarding node to the candidate forwarding node which can be calculated based on the difference between initial signal strength and received RSSI [39]. H is the depth difference sum of two hops which can be calculated by(30)H=αhi+1-αhi+1where hi is the depth difference from the current forwarding node to the candidate node and hi+1 is the depth difference from the candidate node to the next-hop candidate node with the lowest depth and α is the weighting coefficient which is within the interval [0,1]. TDelay is the predefined maximum delay which should be long enough to be able to suppress the transmission of lower priority nodes before relaying the packet.The first part of Equation (29) is considered to ensure the priority among the candidate forwarding nodes for packet forwarding based on the two-hop advancement and, the second part of the equation is intended to compensate the propagation delays from the current forwarding node to all candidate forwarding nodes. If a high value is assigned to TDelay, the holding time of packets is increased which in turn leads to longer end-to-end delay and less transmission reliability; however, it contributes to more energy saving since a greater number of redundant packets can be suppressed. In contrast, if a low value is set for TDelay, the end-to-end delay and packet failure rate are decreased; however, energy consumption increases due to the inability to suppress some lower priority nodes. Therefore, there should be a trade-off between the energy consumption and latency in determining the amount of TDelay which can be set according to the performance objectives during the network operation.Let us take Figure5 as an example to describe the holding time calculation in SORP. Assume that node f is the current forwarding node and its best candidate node is b and the forwarding area range is set to the maximum value, i.e., R. Nodes a and c are also considered as candidate forwarding nodes since their distances to the node b is less than R. By considering α=0.5, D1=h1=h2=R, when node a receives the data packet, it forwards the packet without any delay because node a and its next-hop neighbouring node e, have the highest advancement upward. The farthest candidate forwarding node with distance D4=R to node a is node c which can be suppressed if only its holding time is more than R/νsound. Let h5=R/2 and h6=D3=R, then for node c, H=0.5R/2+(1-0.5)R=3R/4 and subsequently Thold=(R-3R/4)TDelay/R+(R-R)/νsound=1/4TDelay. Therefore, if TDelay is more than 4R/νsound, the packet transmission from node a can be heard by node c before sending a duplicate packet to node d. Furthermore, node b has the lowest priority among the candidate forwarding nodes because it only can see node a above itself. Let h3=h4=D2=D5=D6=R/2 and TDelay=4R/νsound, then for node b, H=R/2 and Thold=(R-R/2)4R/Rνsound+(R-R/2)/νsound=2.5R/νsound. Thus, the packet forwarding from node b can be suppressed in case of successful transmission from one of those high priority nodes a or c, because after receiving the packet from node f, it can hear the packet transmissions of node a or c after R/νsound and 2R/νsound, respectively.Figure 5
Holding time calculation in SORP.


#### 4.4.4. Dealing with Shadow Zone and Variable Propagation Delays

In the presence of the shadow zone, sometimes some neighbouring nodes cannot communicate although they are within the transmission range of each other [48]. To overcome the shadow zone, a node can increase the transmission power. This however leads to energy dissipation, and interference in the MAC layer [1]. Another approach is to change the depth of the acoustic transceiver to come out of the shadow zone area [48]; however, it consumes high energy which is only justifiable in long-term applications.SORP can inherently deal with the shadow zone problem without using the variable transmission powers or depth adjustment. Shadow zone is one of the main reasons that a void phenomenon occurs. A node placed in a shadow zone may not be able to communicate with the sensors with lower depth within its transmission range. In SORP, these kinds of nodes (and the trapped nodes below) are automatically excluded from the routing path using a void-detection timer. Thus, the data packets can be relayed from a more reliable path rather than facing a void or shadow zone area.Variable propagation delays in different depths and temperatures are another issue that may affect the performance of an underwater routing protocol. The speed of sound in underwater,νsound, can affect the end-to-end delay EED. As mentioned before, the speed of sound may vary from 1450 to 1540 m/s in an underwater environment. Thus, the distance between the source node and the sink can be traversed with variable speeds; however, this variation does not affect EED significantly because the speed value fluctuates around 1500 m/s.In SORP, the speed of sound can also affect the second term of Equation (29) which is used to calculate the holding time in the opportunistic data forwarding. In an underwater environment with variable propagation delays at different depths, the network can be divided into some layers based on the depth. During the deployment time, each node knows which layer it belongs to based on the depth information. Therefore, in each layer, the more accurate value of the sound speed can be considered in the holding time calculation to increase the opportunistic data forwarding performance in an underwater environment with variable propagation delays.


## 4.1. Problem Description

In the category of depth-based routing protocols, each forwarding node forwards the packets towards the neighbouring nodes with the lower depth than itself. Among the neighbouring nodes, those with lower distance from the surface have higher priority to forward the packet while void area and duplicate packets should be properly addressed [4]. Consider a set of sensors N=Ni∣0≤i≤n, and DNi indicates the depth of each node Ni. Furthermore, TNi is considered as the neighbouring set of Ni, and S=Si∣0≤i≤m denotes a set of sink nodes on the surface. The following definitions are presented to describe the SORP problem.Definition 1.
The reachability relationR(x,y) indicates that y is reachable from x in a depth-based greedy forwarding such that(10)Rx,y=1,ifyis  reachable  fromx0,otherwiseDefinition 2.
Regular node is defined as a node which has access to a neighbouring node with lower depth than itself and it is reachable to a sink on the surface. A regular node,NR, satisfies the following condition:(11)Nk∈N∣DNk<DNR,RNk,Si=1,∃Si∈S,∀Nk∈TNR≠⌀Definition 3.
Void node is defined as an underwater node which cannot find any qualified node with a lower depth towards the water surface [1]. The void problem occurs while there is a void node, NV, in the network such that(12)Nk∈N∣DNk<DNV,∀Nk∈TNV=⌀Definition 4.
Trapped node is defined as a node which can reach one or more nodes above; however, forwarding packets to these nodes eventually leads the packets to a void node [1]. There might be a trapped node, NT, in the network such that(13)Nk∈N∣DNk<DNT,∀Nk∈TNT≠⌀∧Nk∈N∣DNk<DNT,RNk,Si=1,∃Si∈S,∀Nk∈TNT=⌀To clarify these definitions, we consider an example shown in Figure2. Node c is a regular node because it can see another regular node j in its neighbourhood with the lower depth. Nodes f and t are the void nodes since there exist no nodes above them. Thus, in a greedy depth-based forwarding, when a void node is considered as one of the candidate forwarding nodes, it obtains higher priority to forward the packet since it has lower depth than other candidate nodes. Subsequently, transmission by a void node may suppress other candidate nodes from forwarding the packet, resulting in packet loss. For instance, when node j forwards a packet, nodes i and f are the potential candidate forwarding nodes because their depths are smaller than that of the current forwarding node. However, node f timer is expired earlier because it has the lowest depth. Therefore, node f forwards the packet while there exists no receiving node above it. It also may suppress node i from the packet forwarding which eventually leads to packet delivery failure.Figure 2
Void problem in depth-based routings [22].Nodese, d, m, and n in Figure 2 are trapped nodes. For example, if node b in Figure 2 forwards a packet to node e, instead of node h, the packet is eventually stuck in node t. The routing efficiency is certainly increased if the trapped nodes are also exempted from the packet forwarding. Although there are some soft-state approaches like VAPR [5], IVAR [36], and OVAR [20] which can bypass the trapped nodes by using the reachability information from the sink nodes, they are not scalable as a stateless approach. Our proposed routing protocol is, to the best of our knowledge, the first stateless routing protocol which is also able to bypass the trapped nodes.


### 4.1.1. The Probability of Void Occurrence

LetPr(x) be the probability that there are exactly x neighbouring nodes at the upper hemisphere of the node coverage area with volume V=2πR3/3, where R is the transmission range of the node. The volume V denotes the amount of space that a node can cover in its coverage area towards the water surface. The total volume occupied by the UWSN in the region of interest is divided into a large amount of small virtual cubes, such that each cube is either occupied or emptied by a single node according to the binomial probability distribution. If we assume that the number of such cubes is large, Poisson approximation can be applied to the binomial distribution. The probability of x nodes occupying the volume V, the volume of the upper hemisphere of the node coverage area, can be denoted by [49](14)Prx=∫Vσdvxx!exp-∫Vσdvwhere σ is the volume density of the nodes. Here ∫V denotes the integral over volume V, and ∫Vσdv is equal to σV when the sensor density follows a uniform distribution. Therefore, for a uniform sensor density, Equation (14) reduces to(15)Prux=σVxx!exp-σVLet us assume the network density is uniform. The probability of at least one sensor exists above the forwarding can be determined from Equation (15) as follows:(16)Pru=∑x=1∞σVxx!exp-σV=1-exp-σVTherefore, the probability that a node be a void node which cannot find any neighbouring node withinV is given by(17)Prv=exp-σVThe probability of void occurrence depends on the value ofσ and V. It indicates that the probability of void occurrence for a node increases if either of these parameters (node density or node coverage) decreases.


## 4.1.1. The Probability of Void Occurrence

LetPr(x) be the probability that there are exactly x neighbouring nodes at the upper hemisphere of the node coverage area with volume V=2πR3/3, where R is the transmission range of the node. The volume V denotes the amount of space that a node can cover in its coverage area towards the water surface. The total volume occupied by the UWSN in the region of interest is divided into a large amount of small virtual cubes, such that each cube is either occupied or emptied by a single node according to the binomial probability distribution. If we assume that the number of such cubes is large, Poisson approximation can be applied to the binomial distribution. The probability of x nodes occupying the volume V, the volume of the upper hemisphere of the node coverage area, can be denoted by [49](14)Prx=∫Vσdvxx!exp-∫Vσdvwhere σ is the volume density of the nodes. Here ∫V denotes the integral over volume V, and ∫Vσdv is equal to σV when the sensor density follows a uniform distribution. Therefore, for a uniform sensor density, Equation (14) reduces to(15)Prux=σVxx!exp-σVLet us assume the network density is uniform. The probability of at least one sensor exists above the forwarding can be determined from Equation (15) as follows:(16)Pru=∑x=1∞σVxx!exp-σV=1-exp-σVTherefore, the probability that a node be a void node which cannot find any neighbouring node withinV is given by(17)Prv=exp-σVThe probability of void occurrence depends on the value ofσ and V. It indicates that the probability of void occurrence for a node increases if either of these parameters (node density or node coverage) decreases.


## 4.2. Overview of SORP

SORP is a stateless routing protocol which only relies on the information received from one-hop neighbours for void detection and bypassing during the routing phase. In SORP, in addition to detecting the void nodes, the trapped nodes can also be locally detected and then become inactive in the routing phase to provide more chance for other regular nodes to forward the data packets. SORP has consisted of two phases: updating phase and routing phase.The updating phase is used to keep updating the nodes about the neighbouring nodes status. Periodical updating phase is designed to send an updating packet in each updating interval without the need to receive any ACK from the neighbouring nodes. Initially, all nodes are considered as regular nodes in the network. However, void and trapped nodes are detected using the received information from the neighbouring nodes over the time.In the routing phase, in a passive participation manner, all void and trapped nodes exclude themselves from the packet forwarding candidates, providing an opportunity for the regular nodes to increase the packet delivery probability in each transmission. SORP is a combination of receiver-based and sender-based approaches [14] in which the forwarding node selects the best candidate node in terms of the expected packet advancement and then other candidate forwarding nodes decide about their cooperation for packet forwarding based on their distance to the best candidate node. The expected packet advancement is somehow determined to trade-off between packet advancement and the packet delivery probability [4, 20].By using an adaptive forwarding area, the aims of suppressing the duplicate packets in a dense network, or including a greater number of candidate forwarding nodes in a sparse network, is achieved. In a sparse scenario, SORP may allow a duplicated transmission to increase the packet delivery probability; however, in a dense area, the candidate forwarding set is limited to suppress the duplicate packets. Furthermore, SORP takes advantage of the relative distance and two-hop depth difference information, i.e., one node below and one above, to further optimise the holding time calculation. Algorithm1 details the two phases of SORP: updating phase and routing phase. Table 1 also shows the notations used in this paper.Table 1
Notations used in Algorithm1.
Symbol Definition pkt Received packet dc Depth of current receiving node dp Depth of previous hop forwarding node dn Minimum depth in the neighbouring table Distance Distance between two neighbouring nodes Rec_RSSI RSSI of received packet NeighTable Table of neighbouring nodes EPA Expected packet advancement Cbest Best candidate node in terms of EPA range Range of the forwarding area IDb ID of best candidate node timenow Current time timeinv Invalidation time of neighbouring node timevoid Void detecting time of node Thold Holding time of packetAlgorithm 1:SORP Algorithm.
1:nodeireceives apkt 2:dp=pkt.depth 3:dc=nodei.depth 4:Δd=(dp-dc) 5: ComputeDistance according to difference between initial signal strength andRec_RSSI 6:Switch  pkt.type 7:Case 1: Control_Packet 8:if  pkt.nodetype=regular  then 9:timeinv=timenow+Tinv 10: Add or update the entry in nodei.NeighTable by using (dp, Distance, timenow, timeinv) 11:if  dp<dc  then 12:nodei.timevoid=timenow+Tvoid 13: Compute EPA according to Distance and Δd 14:if  EPA>EPAmax  then 15:EPAmax=EPA 16:nodei.Cbest=pkt.nodeID 17:end if 18:end if 19:end if 20:if (pkt.nodetype=void  or  pkt.nodetype=trapped) then 21: Remove nodepkt.nodeID from nodei.NeighTable 22: Recheck type of nodei and nodei.Cbest 23:if  (nodei.type=void  or  nodei.type=trapped) then 24:pkt.nodetype=nodei.type 25:pkt.nodeID=i 26: Broadcast pkt 27:end if 28:end if 29:EndCase 30:Case 2: Data 31:timeinv=timenow+Tinv 32: Add or update the entry innodei.NeighTable by using (dp, Distance, timenow, timeinv) 33:range=pkt.rangearea 34:IDb=pkt.Cbest 35: GetDistancei,IDb from nodei.NeighTable 36:if  (dc<dp  and  nodei.type=regular  and D i s t a n c e i , I D b < = r a n g e )  then 37: Search dn in nodei.NeighTable 38: Calculate Thold according to dc and dn 39: Set a forwarding timer with Thold 40:else 41:Droppkt 42:end if


## 4.3. Updating Phase

In this section, we describe the updating phase procedure and its impact on SORP.


### 4.3.1. The Updating Phase Procedure

In SORP, each regular node periodically broadcasts a control packet including the packet type, node ID, node type, and node depth to inform the neighbouring nodes about its current status. Each node keeps a neighbouring table to maintain the required information about its neighbouring nodes. Upon receiving a control packet, each receiving node updates its neighbouring table based on the received control packets. Each receiving node also sets an invalidation timer for a neighbouring node after receiving a control or data packet. The invalidation timer is reset upon reception of new information from the node. Otherwise, the neighbouring node is removed from the neighbouring table when the invalidation timer is expired.Each entry of neighbouring table contains the neighbouring node ID and depth, the distance between the current node and the neighbouring node, time of receiving the packet, and invalidation time of the neighbouring node. The relative distance between each pair of nodes can be computed via the difference between the initial and received signals strengths (i.e., RSSI) [39]. If all the nodes are homogeneous in terms of the transmission power, the initial signal strength is known to each node. By using the Thorp propagation model [42], each node computes its distance to all neighbouring nodes and keeps it at the neighbouring table.For the updating phase, there are some issues which should be addressed properly to increase the network performance. First, broadcasting a control packet at the same time by regular nodes may result in collisions in the network. Thus, in order to prevent the collision problem, each node selects its transmission time randomly from a predefined interval. Second, if the updating operation is carried out very frequently, it may lead to increase in energy consumption. Thus, the updating phase period should be carefully specified depending mainly on the water current speed. Moreover, in our model, the nodes are exempt from sending back any ACK to the sender node which leads to more energy saving. Furthermore, in comparison to a data packet, the control packet size is so small which can be transmitted using a lower transmission power. The neighbouring table can also be updated by the information extracted from a data packet which contributes in extending the updating phase duration and consequently more energy saving.


### 4.3.2. The Detection of Void and Trapped Nodes

In SORP, void node detection can be performed in a timer-based approach. In this way, each node can set a void-detection timer upon starting its operation. During this time, the node waits for a packet from the neighbouring nodes with lower depth. Upon receiving a control or data packet from a neighbouring node with lower depth, receiving node resets its void-detection timer. If no neighbouring node with lower pressure is sensed before the expiration of the void-detection timer, node announces itself as a void node by broadcasting a control packet without any delay for its neighbours which are located below. Sometimes nodes have already received some control packets from other nodes with lower depth; however, over time, topology is changed, and they may become a void node which again can be detected using the void-detection timer. A void detection can be announced immediately. There is no chance of collision between void announcement packets because void nodes are not within transmission range of each other. For example, if another void node is placed above nodet in Figure 2, it is no longer a void node but becomes a trapped node for this newcomer void node. Void-detection timer should be long enough, i.e., longer than the maximum range of the updating timer, to have a reliable outcome for the void and trapped node detection.Furthermore, trapped nodes can be detected using an event-driven approach. Upon receiving a control packet from a void node, each node updates its neighbouring table and checks whether it still has any regular neighbour with lower depth than itself or not. If the void node is the only neighbouring node with the lower depth in the neighbourhood, in a similar way, receiving node announces itself as a trapped node by broadcasting a control packet including its ID and its current status. Similarly, when a node receives a control packet from a trapped node, it will update the status of the trapped node in the neighbouring table and checks its current status. If its neighbouring table does not include any node with lower depth except the trapped node, it also marks itself as a trapped node and broadcast a control packet to inform other nodes. This procedure stops when all trapped nodes in a local area are detected. In this way, all void and trapped nodes in different places of the network topology can locally be identified without needing to know the network topology.


### 4.3.3. Selection of the Best Candidate Node

During the updating phase, each regular node also selects the best candidate node in terms of the Expected Packet Advancement (EPA) among the neighbouring nodes with lower depth, to be used as a reference node in the opportunistic data forwarding. LetNa denote the neighbouring set with lower depth than node a; then the best candidate node, Cbest, can be selected by the following criterion:(18)Cbest=argmaxb∈NaEPAb=b∣EPAb≥EPAc,∀c∈NaIn other words,argmax gives a node at which EPA is maximised. The expected packet advancement of each neighbouring node can be measured by [50](19)EPA=P×Δdwhere Δd is the depth difference between a node and its neighbouring node, and P is the packet error probability over the distance between these two nodes. Based on this metric, the neighbouring node which can simultaneously maximise packet advancement and packet delivery probability is selected as the best candidate node. Using the model used in [51], the bit error probability over distance d can be computed by(20)Ped=121-SNRavgd,f1+SNRavgd,fwhere SNRavg(d,f) is the average signal-to-noise ratio over distance d with frequency f which can be calculated using Eq. (3). Accordingly, the delivery probability of a data packet with size n bits over distance d can be expressed as follows [4]:(21)P=1-PednThe packet delivery probability has an inverse relationship with the traversed distance. Thus, a neighbouring node with the lowest depth may not necessarily be a qualified node for relaying the packet due to its less chance to receive the data packet without any error. In order to find the best candidate node, upon reception of a control packet, each receiving node computes the EPA of the sending node and updates its best candidate node ID if it is required.


### 4.3.4. The Updating Interval Length Decision

The updating time interval has a main impact on the SORP performance and should be determined precisely. In the updating phase, it is assumed that each node selects a random slot time to send a control packet. A distribution of picking a random time slot where all time slots have the same probability is called uniform distribution.Every control packet should be delivered to all 1-hop neighbouring nodes before none of these neighbours send their control packets. Let△DataProp denote the maximum propagation delay which can be calculated using(22)△DataProp=Rνsoundwhere R and νsound are the transmission range of the node (meters), and the propagation speed of sound in the water (meters per second), respectively. For instance, if R=100m, and νsound=1500m/s, the propagation delay is equal to 0.066 seconds. The delivery time of each control packet in one hop can be calculated as(23)T=△DataProp+Ptxwhere Ptx is the packet transmission duration, which can be given by Lcp/Brate, where Lcp is the control packet size and Brate is the bit rate of the acoustic receiver. If we divide the updating interval, Tupdate, by T, plus a guard time, Gt, the number of time slots can be calculated as(24)S=TupdateT+GtIf we assume that each node randomly broadcasts its data packets withinTupdate interval, there is a probability of collision which depends on how many nodes are involved in this particular interval. Let us assume that there are S choices (time slots) and n sensors in an overlap region. If there are only two sensors participating, the probability of collision for the second sensor is 1/k. If there are n sensors participating, the probability of collision for n-th node is n-1/S.In general, the probability of collision in an overlap region withn sensors transmitting data over S possible slots is given as(25)Pcol=1-S-1!Sn-1S-n!=1-∏i=1n-1S-iSand the probability of no collision is(26)Pncol=S-1!Sn-1S-n!=∏i=1n-1S-iSBy substituting from Equation (24), the probability of no collision among n neighbouring sensors during the updating interval can be written as(27)Pncol=∏i=1n-1Tupdate-iT+GtTupdateand the probability of collision is(28)Pcol=1-∏i=1n-1Tupdate-iT+GtTupdateThe probability of collisions depends on the value ofTupdate and n. The probability of collisions decreases if n is fixed and Tupdate increases, or Tupdate is fixed and n decreases. Hence, Tupdate should be determined based on the node density in a way that Pcol→0.


## 4.3.1. The Updating Phase Procedure

In SORP, each regular node periodically broadcasts a control packet including the packet type, node ID, node type, and node depth to inform the neighbouring nodes about its current status. Each node keeps a neighbouring table to maintain the required information about its neighbouring nodes. Upon receiving a control packet, each receiving node updates its neighbouring table based on the received control packets. Each receiving node also sets an invalidation timer for a neighbouring node after receiving a control or data packet. The invalidation timer is reset upon reception of new information from the node. Otherwise, the neighbouring node is removed from the neighbouring table when the invalidation timer is expired.Each entry of neighbouring table contains the neighbouring node ID and depth, the distance between the current node and the neighbouring node, time of receiving the packet, and invalidation time of the neighbouring node. The relative distance between each pair of nodes can be computed via the difference between the initial and received signals strengths (i.e., RSSI) [39]. If all the nodes are homogeneous in terms of the transmission power, the initial signal strength is known to each node. By using the Thorp propagation model [42], each node computes its distance to all neighbouring nodes and keeps it at the neighbouring table.For the updating phase, there are some issues which should be addressed properly to increase the network performance. First, broadcasting a control packet at the same time by regular nodes may result in collisions in the network. Thus, in order to prevent the collision problem, each node selects its transmission time randomly from a predefined interval. Second, if the updating operation is carried out very frequently, it may lead to increase in energy consumption. Thus, the updating phase period should be carefully specified depending mainly on the water current speed. Moreover, in our model, the nodes are exempt from sending back any ACK to the sender node which leads to more energy saving. Furthermore, in comparison to a data packet, the control packet size is so small which can be transmitted using a lower transmission power. The neighbouring table can also be updated by the information extracted from a data packet which contributes in extending the updating phase duration and consequently more energy saving.


## 4.3.2. The Detection of Void and Trapped Nodes

In SORP, void node detection can be performed in a timer-based approach. In this way, each node can set a void-detection timer upon starting its operation. During this time, the node waits for a packet from the neighbouring nodes with lower depth. Upon receiving a control or data packet from a neighbouring node with lower depth, receiving node resets its void-detection timer. If no neighbouring node with lower pressure is sensed before the expiration of the void-detection timer, node announces itself as a void node by broadcasting a control packet without any delay for its neighbours which are located below. Sometimes nodes have already received some control packets from other nodes with lower depth; however, over time, topology is changed, and they may become a void node which again can be detected using the void-detection timer. A void detection can be announced immediately. There is no chance of collision between void announcement packets because void nodes are not within transmission range of each other. For example, if another void node is placed above nodet in Figure 2, it is no longer a void node but becomes a trapped node for this newcomer void node. Void-detection timer should be long enough, i.e., longer than the maximum range of the updating timer, to have a reliable outcome for the void and trapped node detection.Furthermore, trapped nodes can be detected using an event-driven approach. Upon receiving a control packet from a void node, each node updates its neighbouring table and checks whether it still has any regular neighbour with lower depth than itself or not. If the void node is the only neighbouring node with the lower depth in the neighbourhood, in a similar way, receiving node announces itself as a trapped node by broadcasting a control packet including its ID and its current status. Similarly, when a node receives a control packet from a trapped node, it will update the status of the trapped node in the neighbouring table and checks its current status. If its neighbouring table does not include any node with lower depth except the trapped node, it also marks itself as a trapped node and broadcast a control packet to inform other nodes. This procedure stops when all trapped nodes in a local area are detected. In this way, all void and trapped nodes in different places of the network topology can locally be identified without needing to know the network topology.


## 4.3.3. Selection of the Best Candidate Node

During the updating phase, each regular node also selects the best candidate node in terms of the Expected Packet Advancement (EPA) among the neighbouring nodes with lower depth, to be used as a reference node in the opportunistic data forwarding. LetNa denote the neighbouring set with lower depth than node a; then the best candidate node, Cbest, can be selected by the following criterion:(18)Cbest=argmaxb∈NaEPAb=b∣EPAb≥EPAc,∀c∈NaIn other words,argmax gives a node at which EPA is maximised. The expected packet advancement of each neighbouring node can be measured by [50](19)EPA=P×Δdwhere Δd is the depth difference between a node and its neighbouring node, and P is the packet error probability over the distance between these two nodes. Based on this metric, the neighbouring node which can simultaneously maximise packet advancement and packet delivery probability is selected as the best candidate node. Using the model used in [51], the bit error probability over distance d can be computed by(20)Ped=121-SNRavgd,f1+SNRavgd,fwhere SNRavg(d,f) is the average signal-to-noise ratio over distance d with frequency f which can be calculated using Eq. (3). Accordingly, the delivery probability of a data packet with size n bits over distance d can be expressed as follows [4]:(21)P=1-PednThe packet delivery probability has an inverse relationship with the traversed distance. Thus, a neighbouring node with the lowest depth may not necessarily be a qualified node for relaying the packet due to its less chance to receive the data packet without any error. In order to find the best candidate node, upon reception of a control packet, each receiving node computes the EPA of the sending node and updates its best candidate node ID if it is required.


## 4.3.4. The Updating Interval Length Decision

The updating time interval has a main impact on the SORP performance and should be determined precisely. In the updating phase, it is assumed that each node selects a random slot time to send a control packet. A distribution of picking a random time slot where all time slots have the same probability is called uniform distribution.Every control packet should be delivered to all 1-hop neighbouring nodes before none of these neighbours send their control packets. Let△DataProp denote the maximum propagation delay which can be calculated using(22)△DataProp=Rνsoundwhere R and νsound are the transmission range of the node (meters), and the propagation speed of sound in the water (meters per second), respectively. For instance, if R=100m, and νsound=1500m/s, the propagation delay is equal to 0.066 seconds. The delivery time of each control packet in one hop can be calculated as(23)T=△DataProp+Ptxwhere Ptx is the packet transmission duration, which can be given by Lcp/Brate, where Lcp is the control packet size and Brate is the bit rate of the acoustic receiver. If we divide the updating interval, Tupdate, by T, plus a guard time, Gt, the number of time slots can be calculated as(24)S=TupdateT+GtIf we assume that each node randomly broadcasts its data packets withinTupdate interval, there is a probability of collision which depends on how many nodes are involved in this particular interval. Let us assume that there are S choices (time slots) and n sensors in an overlap region. If there are only two sensors participating, the probability of collision for the second sensor is 1/k. If there are n sensors participating, the probability of collision for n-th node is n-1/S.In general, the probability of collision in an overlap region withn sensors transmitting data over S possible slots is given as(25)Pcol=1-S-1!Sn-1S-n!=1-∏i=1n-1S-iSand the probability of no collision is(26)Pncol=S-1!Sn-1S-n!=∏i=1n-1S-iSBy substituting from Equation (24), the probability of no collision among n neighbouring sensors during the updating interval can be written as(27)Pncol=∏i=1n-1Tupdate-iT+GtTupdateand the probability of collision is(28)Pcol=1-∏i=1n-1Tupdate-iT+GtTupdateThe probability of collisions depends on the value ofTupdate and n. The probability of collisions decreases if n is fixed and Tupdate increases, or Tupdate is fixed and n decreases. Hence, Tupdate should be determined based on the node density in a way that Pcol→0.


## 4.4. Routing Phase

The aim of the routing phase is to deliver a data packet to one of the sinks on the water surface. To accomplish a successful delivery, each packet is required to be delivered successfully at each hop towards one of the destinations. Thus, to demonstrate the routing phase, we investigate the packet forwarding at each hop. As an example in Figure3, when the current forwarding node f transmits a data packet, all the neighbouring nodes within its transmission range can receive this packet given that there is not transmission error and collision.Figure 3
Forwarding area in dense density [22].Due to high bit error rate, each forwarding node should take advantage of a group of candidate forwarding nodes at each hop to successfully relay the data packet [52–55]. Having only one candidate node to forward the packet may lead to the energy wastes, due to increasing in the number of retransmissions resulted from the high bit error probability [20]. At the other extreme, if all receiving nodes participate in the packet forwarding, it is a naive flooding which also wastes the network resources. Thus, an efficient routing protocol should employ some constraints to limit the number of participating nodes to obtain an ideal forwarding set in terms of expected packet advancement [50]. Moreover, during the routing phase, each node also can update the neighbouring table according to the information extracted from the data packet header. This feature aids to obtain fresh information about the neighbouring nodes and to extend the updating phase duration. Data header includes the packet type, node ID, node depth, the sequence number of the packet, the range of the forwarding area, and ID of the best candidate node.In the following, definitions and criteria to select the candidate forwarding set are presented. It is followed by a discussion about the forwarding area features and its advantages over some existing methods in the literature. Finally, the forwarding time calculation to prioritise the candidate forwarding set members is proposed.


### 4.4.1. Candidate Forwarding Set Selection

In SORP, when a node receives a data packet, it first updates its neighbouring table and then checks its eligibility to whether participate in the packet forwarding or not. If it is not an eligible candidate node for packet forwarding, it only drops the received packet. For more energy saving, the nodes only read the header of the packet for early acceptance or rejection. In order to be placed in the candidate forwarding set, the receiving node should satisfy some conditions. First, the receiving node should have lower depth and be placed at the upper hemisphere of the current forwarding node transmission coverage area. For instance, in Figure3, nodes v and s are located below the current forwarding node f and for this reason they drop every received packet from node f. Second, the receiving node should be a regular node, not a trapped or void node. The trapped and void nodes, which have already been detected, only drop the received packet. For example, as can be seen in Figure 3, there is a void area after the second hop from the current forwarding node f, and therefore node h is a void node and nodes s and g are the trapped nodes. These nodes simply drop any data packet until their status is changed. Third, the receiving node should be placed within the forwarding area which requires that its relative distance to the best candidate node is smaller than a certain value. The receiving nodes outside of this area simply drop the received packets since they are located within the suppression region. For instance, as can be seen in Figure 3, some receiving nodes satisfy two above conditions like nodes o,r,m,k,t,l; however, they should drop the packet since they are not within the forwarding area which is determined hop by hop according to the density of area ahead. Thus, only the neighbouring nodes a,c,d,e,n along with the already selected node b participate in the packet forwarding.


### 4.4.2. Forwarding Area Features

The size of forwarding area has a significant impact on duplicate packets suppression in a dense area and also on reliability enhancement in a sparse region. Therefore, the forwarding area is dynamically resized at each hop in SORP to respond to the demand according to local density. At each hop, each forwarding node can select a forwarding range according to the density of the area ahead. The number of nodes with the lower depth can be extracted from the neighbouring table to adopt the forwarding area size. If the number of regular nodes with lower depth is more than a maximum threshold, the minimum forwarding range, which is set toR/4 in our model, can be selected to store in the data packet header to suppress the largest possible number of duplicate transmissions. On the contrary, if the number of regular nodes with lower depth is less than a minimum threshold, the maximum forwarding range, which is set to R in our model, can be adjusted to increase the reliability of packet transmission. As an example in Figure 4, the number of eligible nodes is very limited. Thus, in order to maintain the transmission reliability, the maximum forwarding range is considered to include more candidate nodes in the forwarding set. For other cases, the forwarding range is selected from the interval [R/4,R] accordingly.Figure 4
Forwarding area in sparse density.It should be noted that there is no hidden node within the candidate forwarding set if the forwarding range is set less thanR/2 since all nodes are placed within the transmission range of each other. For instance, in Figure 3, all distances between each pair of candidate forwarding nodes are less than R, which leads to having a candidate forwarding set without including any hidden terminal node inside.The candidate forwarding set selection in SORP also has other advantages over some existing methods in the literature. First, in SORP, the forwarding area position can be changed adaptively depending on the relative position of regular nodes. Whereas in some routing protocols (e.g., FBR [31] and WDFAD-DBR [39]), the position of the forwarding area is fixed which decreases the chance of finding the routing paths with lower distances and more regular nodes. Second, in SORP, a candidate forwarding set without hidden node can be established using only one-hop neighbouring information; however, in some other opportunistic routing protocols (e.g., HydroCast [4], VAPR [5], and OVAR [20, 37]), two-hop neighbouring information is required to exclude the hidden nodes from the candidate forwarding set which resulted in higher overhead. Third, in sender-based routing protocols (e.g., HydroCast, VAPR, and OVAR), the current forwarding node should put the ID of all candidate forwarding nodes within the packet header which increases the packet length and consequently the packet failure probability [14]. However, SORP is a combination of sender-based and receiver-based approach which is required to include only the ID of the best candidate node within the packet header, not including the IDs of other candidate nodes. This feature contributes to achieve higher reliability at each transmission by decreasing the length of the data packet. Finally, in a group of opportunistic routing protocols (e.g., HydroCast, VAPR, and OVAR), the current forwarding node should perform a forwarding set selection which is a complex and time-consuming procedure and may affect the end-to-end delay. However, in SORP, the best candidate node has already been selected during the updating phase, and each receiving node only decides to join the candidate forwarding set based on the allowed distance to the best candidate node.


### 4.4.3. Forwarding Time Calculation

Eventually, all members of candidate forwarding set should set a forwarding timer for packet transmission. Regarding the example in Figure3, if the priority of packet forwarding is granted to the candidate forwarding nodes based on the lowest depth, node n obtains the highest priority among the candidate nodes and its forwarding timer expires earlier. Although node b is the best candidate node in terms of the expected packet advancement, it can only forward the packet when no transmission is heard by other higher priority nodes n,e,d. The same forwarding time calculation is also used in some other protocols, such as DBR [33].However, in SORP, the forwarding time is computed using the two-hop advancement. Upon receipt of a data packet, each candidate forwarding node (cn) searches its neighbouring table to find a node with the lowest depth (cn+1) and then calculates the holding time based on the depth difference between the previous hop forwarding node (cn-1) and the next-hop neighbouring node (cn+1). It then updates the depth and ID of the best candidate node in the date packet header and sets a forwarding timer according to the holding time. If the forwarding timer expires and another transmission of this packet is not yet heard, it transmits the packet. Otherwise, the packet must be dropped.The holding time which is used to calculate the forwarding time should satisfy some conditions to prioritise the candidate forwarding set members and also suppressing the duplicate packets. First, the holding time should decrease with the increase of the depth difference from the current forwarding node. Second, the holding time should be long enough to let other candidate nodes hear the packet transmission before forwarding the same packet. In SORP, each candidate forwarding node calculates its holding time,Thold, using(29)Thold=R-HRTDelay+R-Dνsoundwhere R and νsound are the transmission range of the node, and the propagation speed of sound in the water, respectively. D is the relative distance between the current forwarding node to the candidate forwarding node which can be calculated based on the difference between initial signal strength and received RSSI [39]. H is the depth difference sum of two hops which can be calculated by(30)H=αhi+1-αhi+1where hi is the depth difference from the current forwarding node to the candidate node and hi+1 is the depth difference from the candidate node to the next-hop candidate node with the lowest depth and α is the weighting coefficient which is within the interval [0,1]. TDelay is the predefined maximum delay which should be long enough to be able to suppress the transmission of lower priority nodes before relaying the packet.The first part of Equation (29) is considered to ensure the priority among the candidate forwarding nodes for packet forwarding based on the two-hop advancement and, the second part of the equation is intended to compensate the propagation delays from the current forwarding node to all candidate forwarding nodes. If a high value is assigned to TDelay, the holding time of packets is increased which in turn leads to longer end-to-end delay and less transmission reliability; however, it contributes to more energy saving since a greater number of redundant packets can be suppressed. In contrast, if a low value is set for TDelay, the end-to-end delay and packet failure rate are decreased; however, energy consumption increases due to the inability to suppress some lower priority nodes. Therefore, there should be a trade-off between the energy consumption and latency in determining the amount of TDelay which can be set according to the performance objectives during the network operation.Let us take Figure5 as an example to describe the holding time calculation in SORP. Assume that node f is the current forwarding node and its best candidate node is b and the forwarding area range is set to the maximum value, i.e., R. Nodes a and c are also considered as candidate forwarding nodes since their distances to the node b is less than R. By considering α=0.5, D1=h1=h2=R, when node a receives the data packet, it forwards the packet without any delay because node a and its next-hop neighbouring node e, have the highest advancement upward. The farthest candidate forwarding node with distance D4=R to node a is node c which can be suppressed if only its holding time is more than R/νsound. Let h5=R/2 and h6=D3=R, then for node c, H=0.5R/2+(1-0.5)R=3R/4 and subsequently Thold=(R-3R/4)TDelay/R+(R-R)/νsound=1/4TDelay. Therefore, if TDelay is more than 4R/νsound, the packet transmission from node a can be heard by node c before sending a duplicate packet to node d. Furthermore, node b has the lowest priority among the candidate forwarding nodes because it only can see node a above itself. Let h3=h4=D2=D5=D6=R/2 and TDelay=4R/νsound, then for node b, H=R/2 and Thold=(R-R/2)4R/Rνsound+(R-R/2)/νsound=2.5R/νsound. Thus, the packet forwarding from node b can be suppressed in case of successful transmission from one of those high priority nodes a or c, because after receiving the packet from node f, it can hear the packet transmissions of node a or c after R/νsound and 2R/νsound, respectively.Figure 5
Holding time calculation in SORP.


### 4.4.4. Dealing with Shadow Zone and Variable Propagation Delays

In the presence of the shadow zone, sometimes some neighbouring nodes cannot communicate although they are within the transmission range of each other [48]. To overcome the shadow zone, a node can increase the transmission power. This however leads to energy dissipation, and interference in the MAC layer [1]. Another approach is to change the depth of the acoustic transceiver to come out of the shadow zone area [48]; however, it consumes high energy which is only justifiable in long-term applications.SORP can inherently deal with the shadow zone problem without using the variable transmission powers or depth adjustment. Shadow zone is one of the main reasons that a void phenomenon occurs. A node placed in a shadow zone may not be able to communicate with the sensors with lower depth within its transmission range. In SORP, these kinds of nodes (and the trapped nodes below) are automatically excluded from the routing path using a void-detection timer. Thus, the data packets can be relayed from a more reliable path rather than facing a void or shadow zone area.Variable propagation delays in different depths and temperatures are another issue that may affect the performance of an underwater routing protocol. The speed of sound in underwater,νsound, can affect the end-to-end delay EED. As mentioned before, the speed of sound may vary from 1450 to 1540 m/s in an underwater environment. Thus, the distance between the source node and the sink can be traversed with variable speeds; however, this variation does not affect EED significantly because the speed value fluctuates around 1500 m/s.In SORP, the speed of sound can also affect the second term of Equation (29) which is used to calculate the holding time in the opportunistic data forwarding. In an underwater environment with variable propagation delays at different depths, the network can be divided into some layers based on the depth. During the deployment time, each node knows which layer it belongs to based on the depth information. Therefore, in each layer, the more accurate value of the sound speed can be considered in the holding time calculation to increase the opportunistic data forwarding performance in an underwater environment with variable propagation delays.


## 4.4.1. Candidate Forwarding Set Selection

In SORP, when a node receives a data packet, it first updates its neighbouring table and then checks its eligibility to whether participate in the packet forwarding or not. If it is not an eligible candidate node for packet forwarding, it only drops the received packet. For more energy saving, the nodes only read the header of the packet for early acceptance or rejection. In order to be placed in the candidate forwarding set, the receiving node should satisfy some conditions. First, the receiving node should have lower depth and be placed at the upper hemisphere of the current forwarding node transmission coverage area. For instance, in Figure3, nodes v and s are located below the current forwarding node f and for this reason they drop every received packet from node f. Second, the receiving node should be a regular node, not a trapped or void node. The trapped and void nodes, which have already been detected, only drop the received packet. For example, as can be seen in Figure 3, there is a void area after the second hop from the current forwarding node f, and therefore node h is a void node and nodes s and g are the trapped nodes. These nodes simply drop any data packet until their status is changed. Third, the receiving node should be placed within the forwarding area which requires that its relative distance to the best candidate node is smaller than a certain value. The receiving nodes outside of this area simply drop the received packets since they are located within the suppression region. For instance, as can be seen in Figure 3, some receiving nodes satisfy two above conditions like nodes o,r,m,k,t,l; however, they should drop the packet since they are not within the forwarding area which is determined hop by hop according to the density of area ahead. Thus, only the neighbouring nodes a,c,d,e,n along with the already selected node b participate in the packet forwarding.


## 4.4.2. Forwarding Area Features

The size of forwarding area has a significant impact on duplicate packets suppression in a dense area and also on reliability enhancement in a sparse region. Therefore, the forwarding area is dynamically resized at each hop in SORP to respond to the demand according to local density. At each hop, each forwarding node can select a forwarding range according to the density of the area ahead. The number of nodes with the lower depth can be extracted from the neighbouring table to adopt the forwarding area size. If the number of regular nodes with lower depth is more than a maximum threshold, the minimum forwarding range, which is set toR/4 in our model, can be selected to store in the data packet header to suppress the largest possible number of duplicate transmissions. On the contrary, if the number of regular nodes with lower depth is less than a minimum threshold, the maximum forwarding range, which is set to R in our model, can be adjusted to increase the reliability of packet transmission. As an example in Figure 4, the number of eligible nodes is very limited. Thus, in order to maintain the transmission reliability, the maximum forwarding range is considered to include more candidate nodes in the forwarding set. For other cases, the forwarding range is selected from the interval [R/4,R] accordingly.Figure 4
Forwarding area in sparse density.It should be noted that there is no hidden node within the candidate forwarding set if the forwarding range is set less thanR/2 since all nodes are placed within the transmission range of each other. For instance, in Figure 3, all distances between each pair of candidate forwarding nodes are less than R, which leads to having a candidate forwarding set without including any hidden terminal node inside.The candidate forwarding set selection in SORP also has other advantages over some existing methods in the literature. First, in SORP, the forwarding area position can be changed adaptively depending on the relative position of regular nodes. Whereas in some routing protocols (e.g., FBR [31] and WDFAD-DBR [39]), the position of the forwarding area is fixed which decreases the chance of finding the routing paths with lower distances and more regular nodes. Second, in SORP, a candidate forwarding set without hidden node can be established using only one-hop neighbouring information; however, in some other opportunistic routing protocols (e.g., HydroCast [4], VAPR [5], and OVAR [20, 37]), two-hop neighbouring information is required to exclude the hidden nodes from the candidate forwarding set which resulted in higher overhead. Third, in sender-based routing protocols (e.g., HydroCast, VAPR, and OVAR), the current forwarding node should put the ID of all candidate forwarding nodes within the packet header which increases the packet length and consequently the packet failure probability [14]. However, SORP is a combination of sender-based and receiver-based approach which is required to include only the ID of the best candidate node within the packet header, not including the IDs of other candidate nodes. This feature contributes to achieve higher reliability at each transmission by decreasing the length of the data packet. Finally, in a group of opportunistic routing protocols (e.g., HydroCast, VAPR, and OVAR), the current forwarding node should perform a forwarding set selection which is a complex and time-consuming procedure and may affect the end-to-end delay. However, in SORP, the best candidate node has already been selected during the updating phase, and each receiving node only decides to join the candidate forwarding set based on the allowed distance to the best candidate node.


## 4.4.3. Forwarding Time Calculation

Eventually, all members of candidate forwarding set should set a forwarding timer for packet transmission. Regarding the example in Figure3, if the priority of packet forwarding is granted to the candidate forwarding nodes based on the lowest depth, node n obtains the highest priority among the candidate nodes and its forwarding timer expires earlier. Although node b is the best candidate node in terms of the expected packet advancement, it can only forward the packet when no transmission is heard by other higher priority nodes n,e,d. The same forwarding time calculation is also used in some other protocols, such as DBR [33].However, in SORP, the forwarding time is computed using the two-hop advancement. Upon receipt of a data packet, each candidate forwarding node (cn) searches its neighbouring table to find a node with the lowest depth (cn+1) and then calculates the holding time based on the depth difference between the previous hop forwarding node (cn-1) and the next-hop neighbouring node (cn+1). It then updates the depth and ID of the best candidate node in the date packet header and sets a forwarding timer according to the holding time. If the forwarding timer expires and another transmission of this packet is not yet heard, it transmits the packet. Otherwise, the packet must be dropped.The holding time which is used to calculate the forwarding time should satisfy some conditions to prioritise the candidate forwarding set members and also suppressing the duplicate packets. First, the holding time should decrease with the increase of the depth difference from the current forwarding node. Second, the holding time should be long enough to let other candidate nodes hear the packet transmission before forwarding the same packet. In SORP, each candidate forwarding node calculates its holding time,Thold, using(29)Thold=R-HRTDelay+R-Dνsoundwhere R and νsound are the transmission range of the node, and the propagation speed of sound in the water, respectively. D is the relative distance between the current forwarding node to the candidate forwarding node which can be calculated based on the difference between initial signal strength and received RSSI [39]. H is the depth difference sum of two hops which can be calculated by(30)H=αhi+1-αhi+1where hi is the depth difference from the current forwarding node to the candidate node and hi+1 is the depth difference from the candidate node to the next-hop candidate node with the lowest depth and α is the weighting coefficient which is within the interval [0,1]. TDelay is the predefined maximum delay which should be long enough to be able to suppress the transmission of lower priority nodes before relaying the packet.The first part of Equation (29) is considered to ensure the priority among the candidate forwarding nodes for packet forwarding based on the two-hop advancement and, the second part of the equation is intended to compensate the propagation delays from the current forwarding node to all candidate forwarding nodes. If a high value is assigned to TDelay, the holding time of packets is increased which in turn leads to longer end-to-end delay and less transmission reliability; however, it contributes to more energy saving since a greater number of redundant packets can be suppressed. In contrast, if a low value is set for TDelay, the end-to-end delay and packet failure rate are decreased; however, energy consumption increases due to the inability to suppress some lower priority nodes. Therefore, there should be a trade-off between the energy consumption and latency in determining the amount of TDelay which can be set according to the performance objectives during the network operation.Let us take Figure5 as an example to describe the holding time calculation in SORP. Assume that node f is the current forwarding node and its best candidate node is b and the forwarding area range is set to the maximum value, i.e., R. Nodes a and c are also considered as candidate forwarding nodes since their distances to the node b is less than R. By considering α=0.5, D1=h1=h2=R, when node a receives the data packet, it forwards the packet without any delay because node a and its next-hop neighbouring node e, have the highest advancement upward. The farthest candidate forwarding node with distance D4=R to node a is node c which can be suppressed if only its holding time is more than R/νsound. Let h5=R/2 and h6=D3=R, then for node c, H=0.5R/2+(1-0.5)R=3R/4 and subsequently Thold=(R-3R/4)TDelay/R+(R-R)/νsound=1/4TDelay. Therefore, if TDelay is more than 4R/νsound, the packet transmission from node a can be heard by node c before sending a duplicate packet to node d. Furthermore, node b has the lowest priority among the candidate forwarding nodes because it only can see node a above itself. Let h3=h4=D2=D5=D6=R/2 and TDelay=4R/νsound, then for node b, H=R/2 and Thold=(R-R/2)4R/Rνsound+(R-R/2)/νsound=2.5R/νsound. Thus, the packet forwarding from node b can be suppressed in case of successful transmission from one of those high priority nodes a or c, because after receiving the packet from node f, it can hear the packet transmissions of node a or c after R/νsound and 2R/νsound, respectively.Figure 5
Holding time calculation in SORP.


## 4.4.4. Dealing with Shadow Zone and Variable Propagation Delays

In the presence of the shadow zone, sometimes some neighbouring nodes cannot communicate although they are within the transmission range of each other [48]. To overcome the shadow zone, a node can increase the transmission power. This however leads to energy dissipation, and interference in the MAC layer [1]. Another approach is to change the depth of the acoustic transceiver to come out of the shadow zone area [48]; however, it consumes high energy which is only justifiable in long-term applications.SORP can inherently deal with the shadow zone problem without using the variable transmission powers or depth adjustment. Shadow zone is one of the main reasons that a void phenomenon occurs. A node placed in a shadow zone may not be able to communicate with the sensors with lower depth within its transmission range. In SORP, these kinds of nodes (and the trapped nodes below) are automatically excluded from the routing path using a void-detection timer. Thus, the data packets can be relayed from a more reliable path rather than facing a void or shadow zone area.Variable propagation delays in different depths and temperatures are another issue that may affect the performance of an underwater routing protocol. The speed of sound in underwater,νsound, can affect the end-to-end delay EED. As mentioned before, the speed of sound may vary from 1450 to 1540 m/s in an underwater environment. Thus, the distance between the source node and the sink can be traversed with variable speeds; however, this variation does not affect EED significantly because the speed value fluctuates around 1500 m/s.In SORP, the speed of sound can also affect the second term of Equation (29) which is used to calculate the holding time in the opportunistic data forwarding. In an underwater environment with variable propagation delays at different depths, the network can be divided into some layers based on the depth. During the deployment time, each node knows which layer it belongs to based on the depth information. Therefore, in each layer, the more accurate value of the sound speed can be considered in the holding time calculation to increase the opportunistic data forwarding performance in an underwater environment with variable propagation delays.


## 5. Experimental Results

In this section, the detailed results of our simulation study using Aqua-Sim [56], an NS-2 based simulating software for underwater acoustic networks, to evaluate the performance of SORP against those of DBR and WDFAD-DBR in a multisink architecture are presented.


### 5.1. Simulation Setup

The underwater acoustic communication channel described in Section3 is employed in our simulation model. For the sake of simplicity, we summarise the simulation parameters in Table 2.Table 2
Simulation parameters.
Parameter Value Channel model Underwater acoustic channel Transmission power 90dBreμPa Receiving power threshold 10dBreμPa Sending energy 2W Receiving energy 0.75W Idle energy 8mW Transmission range 100m Packet generation rate Every 1 s Bit rate 10 kbps Weighting coefficientα 0.6 Predefined maximum delay 0.2s Node number 400-800 Deployment region 500∗ 500 ∗ 1000 Movement Model MCM (0.3m/s) Source node position Randomly placed at the bottom Sink number 5 Data packet size 50 Bytes Acoustic propagation speed 1500m/s Tupdate 50s Tinvalid 60s Tvoid 60s Simulation time for one round 1000sIn our simulation model, we use CSMA MAC protocol without using its RTS/CTS and ACK mechanism to offset the effects of high propagation delay in the underwater environment. When a forwarding node senses a free channel, it forwards the packet; otherwise, a back-off algorithm is invoked. After three times back-off, the forwarding node discards the data packet. The nodes also need to listen to the channel continuously to suppress any duplicate packet which is already relayed by another candidate forwarding node. We also use the implicit ACK to reduce the energy consumption of the SORP model since no extra packet is required to confirm the delivery. In the implicit ACK model, when a sending node overhears that one of its neighbouring node forwards a packet which is already in its buffer, it can consider it as an ACK [57, 58]. The packet is dropped after three retransmissions.We deploy the relay nodes (ranging from 400 to 800) randomly in a500m×500m×1000m 3D field. The transmission power and the receiving power threshold for a packet are set to 90 dBreμPa and 10 dBreμPa, respectively. Each node also consumes 2 W and 0.75 W energy for sending and receiving a packet, respectively, while the idle power consumption is equal to 8 mW. The transmission range of each node is considered as 100 meters. Each node generates a data packet every 1 second which is long enough to prevent the interference of two continuous packets. The bit rate is set to 10 kbps. The value of weighting coefficient α is set to 0.6 to make the routing decision more dependent on the current node depth, to obtain a forwarding area with more unvisited candidate forwarding nodes, which can improve the reliability of routing. The TDelay in Eq. (29) is set as 0.2s. We adopt Meandering Current Mobility (MCM) with the main jet stream speed of 0.3 m/s [43] to model the motility of each sensor node.The source node is randomly placed at the bottom of the ocean with depth 1000m and its position is fixed by the end of each simulation run. Furthermore, we consider 5 sink nodes to collect the information at locations (250; 250; 0), (125; 125; 0), (125; 375; 0), (375; 125; 0), (375; 375; 0). The data packet size is fixed at 50 Byte, because at each hop, only the ID of the best candidate node is included in the data packet header, not all candidate forwarding nodes IDs. The acoustic signal propagation speed is set to 1500 m/s for a deep underwater environment. The updating interval varies randomly in a range from Tupdate to (Tupdate+Tupdate×20%) where Tupdate is set to 50 s based on (28) and the node density. The node invalidation time, Tinvalid, and node void-detection timer, Tvoid, are also considered as 60 seconds. All the results are averaged over 25 runs for randomly generated topologies while the simulation time for each round is set to 1000 seconds.


### 5.2. Results and Analysis

In this section, we assess the performance of SORP against those of DBR, and WDFAD-DBR in terms of packet delivery ratio, energy tax, end-to-end delay, forwarding number, and traversed distance.


#### 5.2.1. Packet Delivery Ratio (PDR)

It is defined as the ratio of the number of packets successfully received by the sink nodes to the number of packets sent by the source node. The results for the packet delivery ratio in different node density are shown in Figure6(a). For all these protocols, PDR increases by increasing the number of nodes, since the network topology becomes more connected which reduces the probability of void occurrence, as it has been discussed in Section 4.1.1. Equation (17) indicates that the probability of void occurrence decreases if the node density increases.Figure 6
The impact of node density on the routing protocols.
(a)
Packet delivery ratio versus node density [22] (b)
Energy consumption per message versus node density [22] (c)
Average end-to-end delay versus node density [22] (d)
Forwarding number versus node density [22] (e)
Average traversed distance versus node density [22]As can be seen, SORP always has higher PDR than those of DBR and WDFAD-DBR. It is because SORP can exclude all the routes leading to a trapped or void area, and give the chance of packet delivery to the regular nodes. On the other hand, DBR does not have any void-handling technique, and there is also no mechanism for the trapped area avoidance in WDFAD-DBR. Furthermore, SORP can adjust the size of forwarding area according to the node density of area ahead which increases the chance of packet delivery by including more candidate forwarding nodes when density is low or by reducing the number of collisions when density is high. WDFAD-DBR also has the similar flexibility to cope with the different node density; however, its primary forwarding area is a fixed auxiliary area which may not cover the best possible forwarding nodes in terms of expected packet advancement. Finally, the updating phase in SORP can be performed more frequently which can provide the fresher information for the packet forwarding. However, due to high overhead of WDFAD-DBR in sending and receiving the ACK packets, the updating phase should be performed less frequently leading to performance reduction for packet delivery.


#### 5.2.2. Energy Tax

The energy tax is measured in millijoule (mj) in terms of the average energy consumed per node and per message to successfully deliver a packet to a sink node. The energy tax of routing protocols in different node density is shown in Figure6(b). As can be seen, the energy tax of routing protocols mostly intends to decrease with the increase of node number, as more data packets can successfully be delivered in a well-connected dense network.SORP has the lowest energy consumption among the routing protocols. First of all, in SORP, when a forwarding node encounters a dense area, its forwarding area size and position can be adjusted to suppress the redundant packet transmissions. However, in a dense network, many nodes may be placed in the upper hemisphere of DBR and also in the fixed primary area of WDFAD-DBR (auxiliary area) leading to increase in the number of packet receptions, transmissions, and collisions. Thus, using a fixed location forwarding area for opportunistic routing is not able to achieve an appropriate trade-off between lower energy consumption and higher packet delivery ratio. Second, in a sparse density for DBR and WDFAD-DBR, many packets are dropped due to get stuck in the trapped and void area resulting in more energy waste. However, SORP can reduce the energy waste of stuck packets by excluding the routes leading to the void nodes. Third, the updating phase in SORP is performed at significantly lower energy cost compared to WDFAD-DBR. This is because the number of control packets in SORP is efficiently reduced by eliminating the need for ACK packets; however, WDFAD-DBR consumes high energy at updating phase by requiring the nodes to send and receive the ACK packets.


#### 5.2.3. End-to-End Delay

It is defined as the average delay time taken from the moment of the creation of packets at the source node until successfully being delivered to the sink node. In a multisink architecture, due to the fact that a packet may be delivered to different sink nodes at different times, the shortest end-to-end delay is used in the simulation results. As can be observed from Figure6(c), the end-to-end delay for each protocol decreases with the increase of node number because each forwarding node can find more qualified nodes with greater advancement towards the surface when the network is dense. The nodes with more advancement also have shorter holding time which reduces the total holding time of the packet.For instance, by tracing the simulation process, we can observe that the average end-to-end delay for SORP is about2.7s for the case of 800 nodes. From Figure 6(e), the average traversed distance of each packet is about 1213m with 800 nodes. With a distance of 1213m, the propagation time is 1213/1500=0.8s. Since the transmission range is 100m, it would seem that each packet needs to go through at least 12-13 hops. For a packet length of 50 bytes, and a bit rate of 10kbps, each packet takes about 0.04s. Since the transmission is based on store-and-forward mechanism, it takes 13×0.04s=0.52s for the total transmission time by each intermediate node.On the other hand, the average holding time value for each intermediate node is0.07 for the case of 800 nodes. The holding time is small when the network is dense. This is because more suitable nodes with the higher progress to the surface can be found in the forwarding area. Thus, the total holding time at 12 intermediate nodes is 0.84s. This leaves 2.7-0.8-0.52-0.84=0.54s for any possible CSMA back-off and retransmission.It should be noted that we only consider a single source at each simulation run to mitigate the impact of a MAC protocol on our routing protocol performance. Due to the fact that there is only one source at each simulation run, there is no other routing path generated from another source that can interfere in the MAC layer to access the channel. For the case of having one source in the network, there is almost no competition between nodes to access the channel at each forwarding hop. Therefore, when an intermediate node receives a data packet, it senses a free channel and forwards the data packet. According to this fact, we can consider that the time for any CSMA back-off is negligible in our simulation setup.In SORP, the number of retransmissions also reaches the least amount possible. This is because SORP utilises the opportunistic routing by using an adjustable forwarding area in different network densities. Furthermore, when the network is dense, more suitable nodes with the higher EPA can be placed on our forwarding area which can reduce the retransmission possibility to the minimum.As shown in Figure6(c), the latency of SORP is lower than other protocols. First of all, SORP and WDFAD-DBR take advantage of two-hop advancements to calculate the holding time, but DBR uses only one-hop advancement. Second, as the traversed distance and hop number for SORP are lower than other protocols, its end-to-end delay also becomes less compared to other protocols. Third, in SORP, the candidate forwarding nodes with higher expected packet advancement are selected without regarding their locations which are beneficial to reduce the latency; however, in WDFAD-DBR, most of the packets forwarding are limited within a fixed primary forwarding region which reduces the flexibility and consequently increases the latency. In other words, the candidate forwarding nodes with better progress towards the sink may be located on the outside of the primary forwarding region, and ignoring them may increase the latency in WDFAD-DBR. Fourth, the holding time calculation in SORP is more optimised compared to WDFAD-DBR, because SORP takes into account the exact value of propagation delay from the forwarding node to all candidate forwarding nodes and not only the worst case value for the holding time calculation, as it can be observed from the second part of (29). Finally, in SORP, the number of collisions and retransmissions reaches the least amount possible which is useful to reduce the packet delivery time.


#### 5.2.4. Forwarding Number

It shows the average number of transmissions by each node during the simulation time. The forwarding number has a considerable impact on the energy expenditure and number of packet collisions. The results for the forwarding number are shown in Figure6(d).The forwarding number in SORP is always lower than other protocols. First of all, SORP has more flexibility to resize and place the forwarding area in a particular position. However, DBR uses all neighbouring nodes with lower depth at each hop, and WDFAD-DBR only can resize its auxiliary areas and not its primary forwarding area. Second, SORP can also suppress the packet transmissions from all voids and trapped nodes. However, DBR cannot deprive the void and trapped nodes from packet forwarding and WDFAD-DBR can only prevent the void nodes from the packet transmissions and not the trapped nodes. Third, finding the shortest path for each data packet towards a destination in SORP also has the contribution in the reduction of forwarding number in comparison to DBR and WDFAD-DBR.


#### 5.2.5. Traversed Distance

The traversed distance is defined as the average total traversed distance by each packet from the source to the sink node. Due to the fact that each packet may be delivered to different sinks with various paths, the shortest traversed path is used in the simulation results. The traversed distance has an impact on other parameters, in particular on the amount of end-to-end delay. The results for traversed distance are shown in Figure6(e). As can be observed, the average traversed distance decreases by increasing the node density. In sparse scenarios, the shortest path to the sink is not always covered by some nodes, and consequently, a longer path may be taken to reach the destination. On the other hand, in dense scenarios, the chance of finding the shorter routes is higher.SORP is able to find the shorter routes for delivering the packets in comparison to other protocols. First of all, considering the two-hop advancements in WDFAD-DBR and SORP contributes to finding the shorter routing path compared to DBR, which uses only one-hop advancement. Second, SORP has the flexibility to place its forwarding area everywhere to cover more candidate forwarding nodes with greater advancement; however, other protocols are deprived of such ability. For instance, the primary forwarding area of WDFAD-DBR is confined to the vertical movement with less tendencies to move diagonally upward; however, SORP does not have this limitation.


### 5.3. Network Parameters Impacts

In this section, we investigate the impact of each network parameter on the SORP performance, by changing the value of parameter while other parameters are constant.


#### 5.3.1. Impact of Updating Interval

In order to evaluate the impact of updating intervals on SORP performance, we conduct extensive simulations at varied updating intervals of 25 s, 50 s, and 75 s, and their results for packet delivery ratio, average end-to-end delay, and energy consumption are shown in Figures7(a)–7(c), respectively. When the updating interval is lowest (e.g., 25 s), it means that the control packets can be exchanged more frequently, resulting in providing fresher information for the nodes. Thus, when the network is sparse, and the updating interval is lowest, the packet delivery ratio increases, and the latency and energy also decrease. However, by increasing the network density, the performance improvement is degraded. This is because, in a dense network, the number of packet collisions is increased by the high frequently control packet transmissions, resulting in performance degradation in packet delivery and end-to-end delay. Most importantly, the energy consumption is highly increased because sending a large number of control packets more frequently.Figure 7
The impact of updating time interval on the SORP performance.
(a)
Impact of updating time interval on the PDR (b)
Impact of updating time interval on the average end-to-end delay (c)
Impact of updating time interval on the energy taxOn the other hand, when the updating interval is highest (e.g., 75 s), the packet delivery ratio is reduced because the neighbouring tables gradually become outdated with the passing of time. Moreover, all of the information about the void and trapped nodes may become obsolete due to node movement. The latency also increases because of relaying the packets over the nonoptimal paths using the outdated information. Although the energy of updating phase decreases by reducing the number of control packets, the total energy is still high due to inefficiency in suppressing the duplicate packets. Thus, the updating time should be set carefully to reach the best performance metrics trade-off for SORP.


#### 5.3.2. Impact of Sink Number

In order to investigate the impact of various sink number on SORP performance, we set the number of sinks at 1, 3, and 5, respectively. The simulation results for packet delivery ratio, average end-to-end delay, and energy consumption are shown in Figures8(a)–8(c), respectively. By having more the number of sinks on the surface, the number of void and trapped nodes is decreased. Thus, as can be observed from Figure 8(a), the PDR is higher with more sinks. On the other hand, with only one sink, a lot of nodes become a void or trapped node which reduces the chance of each forwarding node to find more qualified regular nodes at each hop. With having more sink nodes, the latency is also lower because a packet should traverse a lower path to reach the closest sink. However, with one sink, the packet should traverse a longer distance, especially when the source node is placed at the corner of the network topology, resulted in a higher end-to-end delay. With more sinks, the energy consumption decreases because packets can be delivered to a sink in a shorter path and with the minimum number of hops. On the contrary, with fewer sinks, energy consumption increases because a packet should traverse a longer distance to reach a sink.Figure 8
The impact of sink number on the SORP performance.
(a)
PDR at various sink numbers (b)
The average end-to-end delay at various sink numbers (c)
The energy tax at various sink numbers


#### 5.3.3. Impact of ParameterTDelay

The parameterTDelay decides the holding time of packets at each node. The simulation results for packet delivery ratio, average end-to-end delay and energy consumption in different TDelay values are plotted in Figures 9(a)–9(c), respectively. The parameter TDelay is set with three different values of 0.2s, 0.4s, and 0.6s. With a larger TDelay, a node holds a packet for a longer time which increases the average end-to-end delay; however, more duplicate packets can be suppressed, which results in more energy saving. With a smaller TDelay, the average end-to-end delay is reduced; however, more nodes may relay the same packet, resulting in more energy consumption. In terms of packet delivery ratio, when TDelay is smaller, it lets the transmission of more duplicate packets which can increase the reliability in the sparse scenarios. On the other hand, with larger TDelay, there is plenty of time to suppress more duplicate packets which can decrease the packet delivery chance in the sparse areas.Figure 9
The impact of parameterTDelay on the SORP performance.
(a)
PDR at variousTDelay values (b)
The average end-to-end delay at variousTDelay values (c)
The energy tax at variousTDelay values


## 5.1. Simulation Setup

The underwater acoustic communication channel described in Section3 is employed in our simulation model. For the sake of simplicity, we summarise the simulation parameters in Table 2.Table 2
Simulation parameters.
Parameter Value Channel model Underwater acoustic channel Transmission power 90dBreμPa Receiving power threshold 10dBreμPa Sending energy 2W Receiving energy 0.75W Idle energy 8mW Transmission range 100m Packet generation rate Every 1 s Bit rate 10 kbps Weighting coefficientα 0.6 Predefined maximum delay 0.2s Node number 400-800 Deployment region 500∗ 500 ∗ 1000 Movement Model MCM (0.3m/s) Source node position Randomly placed at the bottom Sink number 5 Data packet size 50 Bytes Acoustic propagation speed 1500m/s Tupdate 50s Tinvalid 60s Tvoid 60s Simulation time for one round 1000sIn our simulation model, we use CSMA MAC protocol without using its RTS/CTS and ACK mechanism to offset the effects of high propagation delay in the underwater environment. When a forwarding node senses a free channel, it forwards the packet; otherwise, a back-off algorithm is invoked. After three times back-off, the forwarding node discards the data packet. The nodes also need to listen to the channel continuously to suppress any duplicate packet which is already relayed by another candidate forwarding node. We also use the implicit ACK to reduce the energy consumption of the SORP model since no extra packet is required to confirm the delivery. In the implicit ACK model, when a sending node overhears that one of its neighbouring node forwards a packet which is already in its buffer, it can consider it as an ACK [57, 58]. The packet is dropped after three retransmissions.We deploy the relay nodes (ranging from 400 to 800) randomly in a500m×500m×1000m 3D field. The transmission power and the receiving power threshold for a packet are set to 90 dBreμPa and 10 dBreμPa, respectively. Each node also consumes 2 W and 0.75 W energy for sending and receiving a packet, respectively, while the idle power consumption is equal to 8 mW. The transmission range of each node is considered as 100 meters. Each node generates a data packet every 1 second which is long enough to prevent the interference of two continuous packets. The bit rate is set to 10 kbps. The value of weighting coefficient α is set to 0.6 to make the routing decision more dependent on the current node depth, to obtain a forwarding area with more unvisited candidate forwarding nodes, which can improve the reliability of routing. The TDelay in Eq. (29) is set as 0.2s. We adopt Meandering Current Mobility (MCM) with the main jet stream speed of 0.3 m/s [43] to model the motility of each sensor node.The source node is randomly placed at the bottom of the ocean with depth 1000m and its position is fixed by the end of each simulation run. Furthermore, we consider 5 sink nodes to collect the information at locations (250; 250; 0), (125; 125; 0), (125; 375; 0), (375; 125; 0), (375; 375; 0). The data packet size is fixed at 50 Byte, because at each hop, only the ID of the best candidate node is included in the data packet header, not all candidate forwarding nodes IDs. The acoustic signal propagation speed is set to 1500 m/s for a deep underwater environment. The updating interval varies randomly in a range from Tupdate to (Tupdate+Tupdate×20%) where Tupdate is set to 50 s based on (28) and the node density. The node invalidation time, Tinvalid, and node void-detection timer, Tvoid, are also considered as 60 seconds. All the results are averaged over 25 runs for randomly generated topologies while the simulation time for each round is set to 1000 seconds.


## 5.2. Results and Analysis

In this section, we assess the performance of SORP against those of DBR, and WDFAD-DBR in terms of packet delivery ratio, energy tax, end-to-end delay, forwarding number, and traversed distance.


### 5.2.1. Packet Delivery Ratio (PDR)

It is defined as the ratio of the number of packets successfully received by the sink nodes to the number of packets sent by the source node. The results for the packet delivery ratio in different node density are shown in Figure6(a). For all these protocols, PDR increases by increasing the number of nodes, since the network topology becomes more connected which reduces the probability of void occurrence, as it has been discussed in Section 4.1.1. Equation (17) indicates that the probability of void occurrence decreases if the node density increases.Figure 6
The impact of node density on the routing protocols.
(a)
Packet delivery ratio versus node density [22] (b)
Energy consumption per message versus node density [22] (c)
Average end-to-end delay versus node density [22] (d)
Forwarding number versus node density [22] (e)
Average traversed distance versus node density [22]As can be seen, SORP always has higher PDR than those of DBR and WDFAD-DBR. It is because SORP can exclude all the routes leading to a trapped or void area, and give the chance of packet delivery to the regular nodes. On the other hand, DBR does not have any void-handling technique, and there is also no mechanism for the trapped area avoidance in WDFAD-DBR. Furthermore, SORP can adjust the size of forwarding area according to the node density of area ahead which increases the chance of packet delivery by including more candidate forwarding nodes when density is low or by reducing the number of collisions when density is high. WDFAD-DBR also has the similar flexibility to cope with the different node density; however, its primary forwarding area is a fixed auxiliary area which may not cover the best possible forwarding nodes in terms of expected packet advancement. Finally, the updating phase in SORP can be performed more frequently which can provide the fresher information for the packet forwarding. However, due to high overhead of WDFAD-DBR in sending and receiving the ACK packets, the updating phase should be performed less frequently leading to performance reduction for packet delivery.


### 5.2.2. Energy Tax

The energy tax is measured in millijoule (mj) in terms of the average energy consumed per node and per message to successfully deliver a packet to a sink node. The energy tax of routing protocols in different node density is shown in Figure6(b). As can be seen, the energy tax of routing protocols mostly intends to decrease with the increase of node number, as more data packets can successfully be delivered in a well-connected dense network.SORP has the lowest energy consumption among the routing protocols. First of all, in SORP, when a forwarding node encounters a dense area, its forwarding area size and position can be adjusted to suppress the redundant packet transmissions. However, in a dense network, many nodes may be placed in the upper hemisphere of DBR and also in the fixed primary area of WDFAD-DBR (auxiliary area) leading to increase in the number of packet receptions, transmissions, and collisions. Thus, using a fixed location forwarding area for opportunistic routing is not able to achieve an appropriate trade-off between lower energy consumption and higher packet delivery ratio. Second, in a sparse density for DBR and WDFAD-DBR, many packets are dropped due to get stuck in the trapped and void area resulting in more energy waste. However, SORP can reduce the energy waste of stuck packets by excluding the routes leading to the void nodes. Third, the updating phase in SORP is performed at significantly lower energy cost compared to WDFAD-DBR. This is because the number of control packets in SORP is efficiently reduced by eliminating the need for ACK packets; however, WDFAD-DBR consumes high energy at updating phase by requiring the nodes to send and receive the ACK packets.


### 5.2.3. End-to-End Delay

It is defined as the average delay time taken from the moment of the creation of packets at the source node until successfully being delivered to the sink node. In a multisink architecture, due to the fact that a packet may be delivered to different sink nodes at different times, the shortest end-to-end delay is used in the simulation results. As can be observed from Figure6(c), the end-to-end delay for each protocol decreases with the increase of node number because each forwarding node can find more qualified nodes with greater advancement towards the surface when the network is dense. The nodes with more advancement also have shorter holding time which reduces the total holding time of the packet.For instance, by tracing the simulation process, we can observe that the average end-to-end delay for SORP is about2.7s for the case of 800 nodes. From Figure 6(e), the average traversed distance of each packet is about 1213m with 800 nodes. With a distance of 1213m, the propagation time is 1213/1500=0.8s. Since the transmission range is 100m, it would seem that each packet needs to go through at least 12-13 hops. For a packet length of 50 bytes, and a bit rate of 10kbps, each packet takes about 0.04s. Since the transmission is based on store-and-forward mechanism, it takes 13×0.04s=0.52s for the total transmission time by each intermediate node.On the other hand, the average holding time value for each intermediate node is0.07 for the case of 800 nodes. The holding time is small when the network is dense. This is because more suitable nodes with the higher progress to the surface can be found in the forwarding area. Thus, the total holding time at 12 intermediate nodes is 0.84s. This leaves 2.7-0.8-0.52-0.84=0.54s for any possible CSMA back-off and retransmission.It should be noted that we only consider a single source at each simulation run to mitigate the impact of a MAC protocol on our routing protocol performance. Due to the fact that there is only one source at each simulation run, there is no other routing path generated from another source that can interfere in the MAC layer to access the channel. For the case of having one source in the network, there is almost no competition between nodes to access the channel at each forwarding hop. Therefore, when an intermediate node receives a data packet, it senses a free channel and forwards the data packet. According to this fact, we can consider that the time for any CSMA back-off is negligible in our simulation setup.In SORP, the number of retransmissions also reaches the least amount possible. This is because SORP utilises the opportunistic routing by using an adjustable forwarding area in different network densities. Furthermore, when the network is dense, more suitable nodes with the higher EPA can be placed on our forwarding area which can reduce the retransmission possibility to the minimum.As shown in Figure6(c), the latency of SORP is lower than other protocols. First of all, SORP and WDFAD-DBR take advantage of two-hop advancements to calculate the holding time, but DBR uses only one-hop advancement. Second, as the traversed distance and hop number for SORP are lower than other protocols, its end-to-end delay also becomes less compared to other protocols. Third, in SORP, the candidate forwarding nodes with higher expected packet advancement are selected without regarding their locations which are beneficial to reduce the latency; however, in WDFAD-DBR, most of the packets forwarding are limited within a fixed primary forwarding region which reduces the flexibility and consequently increases the latency. In other words, the candidate forwarding nodes with better progress towards the sink may be located on the outside of the primary forwarding region, and ignoring them may increase the latency in WDFAD-DBR. Fourth, the holding time calculation in SORP is more optimised compared to WDFAD-DBR, because SORP takes into account the exact value of propagation delay from the forwarding node to all candidate forwarding nodes and not only the worst case value for the holding time calculation, as it can be observed from the second part of (29). Finally, in SORP, the number of collisions and retransmissions reaches the least amount possible which is useful to reduce the packet delivery time.


### 5.2.4. Forwarding Number

It shows the average number of transmissions by each node during the simulation time. The forwarding number has a considerable impact on the energy expenditure and number of packet collisions. The results for the forwarding number are shown in Figure6(d).The forwarding number in SORP is always lower than other protocols. First of all, SORP has more flexibility to resize and place the forwarding area in a particular position. However, DBR uses all neighbouring nodes with lower depth at each hop, and WDFAD-DBR only can resize its auxiliary areas and not its primary forwarding area. Second, SORP can also suppress the packet transmissions from all voids and trapped nodes. However, DBR cannot deprive the void and trapped nodes from packet forwarding and WDFAD-DBR can only prevent the void nodes from the packet transmissions and not the trapped nodes. Third, finding the shortest path for each data packet towards a destination in SORP also has the contribution in the reduction of forwarding number in comparison to DBR and WDFAD-DBR.


### 5.2.5. Traversed Distance

The traversed distance is defined as the average total traversed distance by each packet from the source to the sink node. Due to the fact that each packet may be delivered to different sinks with various paths, the shortest traversed path is used in the simulation results. The traversed distance has an impact on other parameters, in particular on the amount of end-to-end delay. The results for traversed distance are shown in Figure6(e). As can be observed, the average traversed distance decreases by increasing the node density. In sparse scenarios, the shortest path to the sink is not always covered by some nodes, and consequently, a longer path may be taken to reach the destination. On the other hand, in dense scenarios, the chance of finding the shorter routes is higher.SORP is able to find the shorter routes for delivering the packets in comparison to other protocols. First of all, considering the two-hop advancements in WDFAD-DBR and SORP contributes to finding the shorter routing path compared to DBR, which uses only one-hop advancement. Second, SORP has the flexibility to place its forwarding area everywhere to cover more candidate forwarding nodes with greater advancement; however, other protocols are deprived of such ability. For instance, the primary forwarding area of WDFAD-DBR is confined to the vertical movement with less tendencies to move diagonally upward; however, SORP does not have this limitation.


## 5.2.1. Packet Delivery Ratio (PDR)

It is defined as the ratio of the number of packets successfully received by the sink nodes to the number of packets sent by the source node. The results for the packet delivery ratio in different node density are shown in Figure6(a). For all these protocols, PDR increases by increasing the number of nodes, since the network topology becomes more connected which reduces the probability of void occurrence, as it has been discussed in Section 4.1.1. Equation (17) indicates that the probability of void occurrence decreases if the node density increases.Figure 6
The impact of node density on the routing protocols.
(a)
Packet delivery ratio versus node density [22] (b)
Energy consumption per message versus node density [22] (c)
Average end-to-end delay versus node density [22] (d)
Forwarding number versus node density [22] (e)
Average traversed distance versus node density [22]As can be seen, SORP always has higher PDR than those of DBR and WDFAD-DBR. It is because SORP can exclude all the routes leading to a trapped or void area, and give the chance of packet delivery to the regular nodes. On the other hand, DBR does not have any void-handling technique, and there is also no mechanism for the trapped area avoidance in WDFAD-DBR. Furthermore, SORP can adjust the size of forwarding area according to the node density of area ahead which increases the chance of packet delivery by including more candidate forwarding nodes when density is low or by reducing the number of collisions when density is high. WDFAD-DBR also has the similar flexibility to cope with the different node density; however, its primary forwarding area is a fixed auxiliary area which may not cover the best possible forwarding nodes in terms of expected packet advancement. Finally, the updating phase in SORP can be performed more frequently which can provide the fresher information for the packet forwarding. However, due to high overhead of WDFAD-DBR in sending and receiving the ACK packets, the updating phase should be performed less frequently leading to performance reduction for packet delivery.


## 5.2.2. Energy Tax

The energy tax is measured in millijoule (mj) in terms of the average energy consumed per node and per message to successfully deliver a packet to a sink node. The energy tax of routing protocols in different node density is shown in Figure6(b). As can be seen, the energy tax of routing protocols mostly intends to decrease with the increase of node number, as more data packets can successfully be delivered in a well-connected dense network.SORP has the lowest energy consumption among the routing protocols. First of all, in SORP, when a forwarding node encounters a dense area, its forwarding area size and position can be adjusted to suppress the redundant packet transmissions. However, in a dense network, many nodes may be placed in the upper hemisphere of DBR and also in the fixed primary area of WDFAD-DBR (auxiliary area) leading to increase in the number of packet receptions, transmissions, and collisions. Thus, using a fixed location forwarding area for opportunistic routing is not able to achieve an appropriate trade-off between lower energy consumption and higher packet delivery ratio. Second, in a sparse density for DBR and WDFAD-DBR, many packets are dropped due to get stuck in the trapped and void area resulting in more energy waste. However, SORP can reduce the energy waste of stuck packets by excluding the routes leading to the void nodes. Third, the updating phase in SORP is performed at significantly lower energy cost compared to WDFAD-DBR. This is because the number of control packets in SORP is efficiently reduced by eliminating the need for ACK packets; however, WDFAD-DBR consumes high energy at updating phase by requiring the nodes to send and receive the ACK packets.


## 5.2.3. End-to-End Delay

It is defined as the average delay time taken from the moment of the creation of packets at the source node until successfully being delivered to the sink node. In a multisink architecture, due to the fact that a packet may be delivered to different sink nodes at different times, the shortest end-to-end delay is used in the simulation results. As can be observed from Figure6(c), the end-to-end delay for each protocol decreases with the increase of node number because each forwarding node can find more qualified nodes with greater advancement towards the surface when the network is dense. The nodes with more advancement also have shorter holding time which reduces the total holding time of the packet.For instance, by tracing the simulation process, we can observe that the average end-to-end delay for SORP is about2.7s for the case of 800 nodes. From Figure 6(e), the average traversed distance of each packet is about 1213m with 800 nodes. With a distance of 1213m, the propagation time is 1213/1500=0.8s. Since the transmission range is 100m, it would seem that each packet needs to go through at least 12-13 hops. For a packet length of 50 bytes, and a bit rate of 10kbps, each packet takes about 0.04s. Since the transmission is based on store-and-forward mechanism, it takes 13×0.04s=0.52s for the total transmission time by each intermediate node.On the other hand, the average holding time value for each intermediate node is0.07 for the case of 800 nodes. The holding time is small when the network is dense. This is because more suitable nodes with the higher progress to the surface can be found in the forwarding area. Thus, the total holding time at 12 intermediate nodes is 0.84s. This leaves 2.7-0.8-0.52-0.84=0.54s for any possible CSMA back-off and retransmission.It should be noted that we only consider a single source at each simulation run to mitigate the impact of a MAC protocol on our routing protocol performance. Due to the fact that there is only one source at each simulation run, there is no other routing path generated from another source that can interfere in the MAC layer to access the channel. For the case of having one source in the network, there is almost no competition between nodes to access the channel at each forwarding hop. Therefore, when an intermediate node receives a data packet, it senses a free channel and forwards the data packet. According to this fact, we can consider that the time for any CSMA back-off is negligible in our simulation setup.In SORP, the number of retransmissions also reaches the least amount possible. This is because SORP utilises the opportunistic routing by using an adjustable forwarding area in different network densities. Furthermore, when the network is dense, more suitable nodes with the higher EPA can be placed on our forwarding area which can reduce the retransmission possibility to the minimum.As shown in Figure6(c), the latency of SORP is lower than other protocols. First of all, SORP and WDFAD-DBR take advantage of two-hop advancements to calculate the holding time, but DBR uses only one-hop advancement. Second, as the traversed distance and hop number for SORP are lower than other protocols, its end-to-end delay also becomes less compared to other protocols. Third, in SORP, the candidate forwarding nodes with higher expected packet advancement are selected without regarding their locations which are beneficial to reduce the latency; however, in WDFAD-DBR, most of the packets forwarding are limited within a fixed primary forwarding region which reduces the flexibility and consequently increases the latency. In other words, the candidate forwarding nodes with better progress towards the sink may be located on the outside of the primary forwarding region, and ignoring them may increase the latency in WDFAD-DBR. Fourth, the holding time calculation in SORP is more optimised compared to WDFAD-DBR, because SORP takes into account the exact value of propagation delay from the forwarding node to all candidate forwarding nodes and not only the worst case value for the holding time calculation, as it can be observed from the second part of (29). Finally, in SORP, the number of collisions and retransmissions reaches the least amount possible which is useful to reduce the packet delivery time.


## 5.2.4. Forwarding Number

It shows the average number of transmissions by each node during the simulation time. The forwarding number has a considerable impact on the energy expenditure and number of packet collisions. The results for the forwarding number are shown in Figure6(d).The forwarding number in SORP is always lower than other protocols. First of all, SORP has more flexibility to resize and place the forwarding area in a particular position. However, DBR uses all neighbouring nodes with lower depth at each hop, and WDFAD-DBR only can resize its auxiliary areas and not its primary forwarding area. Second, SORP can also suppress the packet transmissions from all voids and trapped nodes. However, DBR cannot deprive the void and trapped nodes from packet forwarding and WDFAD-DBR can only prevent the void nodes from the packet transmissions and not the trapped nodes. Third, finding the shortest path for each data packet towards a destination in SORP also has the contribution in the reduction of forwarding number in comparison to DBR and WDFAD-DBR.


## 5.2.5. Traversed Distance

The traversed distance is defined as the average total traversed distance by each packet from the source to the sink node. Due to the fact that each packet may be delivered to different sinks with various paths, the shortest traversed path is used in the simulation results. The traversed distance has an impact on other parameters, in particular on the amount of end-to-end delay. The results for traversed distance are shown in Figure6(e). As can be observed, the average traversed distance decreases by increasing the node density. In sparse scenarios, the shortest path to the sink is not always covered by some nodes, and consequently, a longer path may be taken to reach the destination. On the other hand, in dense scenarios, the chance of finding the shorter routes is higher.SORP is able to find the shorter routes for delivering the packets in comparison to other protocols. First of all, considering the two-hop advancements in WDFAD-DBR and SORP contributes to finding the shorter routing path compared to DBR, which uses only one-hop advancement. Second, SORP has the flexibility to place its forwarding area everywhere to cover more candidate forwarding nodes with greater advancement; however, other protocols are deprived of such ability. For instance, the primary forwarding area of WDFAD-DBR is confined to the vertical movement with less tendencies to move diagonally upward; however, SORP does not have this limitation.


## 5.3. Network Parameters Impacts

In this section, we investigate the impact of each network parameter on the SORP performance, by changing the value of parameter while other parameters are constant.


### 5.3.1. Impact of Updating Interval

In order to evaluate the impact of updating intervals on SORP performance, we conduct extensive simulations at varied updating intervals of 25 s, 50 s, and 75 s, and their results for packet delivery ratio, average end-to-end delay, and energy consumption are shown in Figures7(a)–7(c), respectively. When the updating interval is lowest (e.g., 25 s), it means that the control packets can be exchanged more frequently, resulting in providing fresher information for the nodes. Thus, when the network is sparse, and the updating interval is lowest, the packet delivery ratio increases, and the latency and energy also decrease. However, by increasing the network density, the performance improvement is degraded. This is because, in a dense network, the number of packet collisions is increased by the high frequently control packet transmissions, resulting in performance degradation in packet delivery and end-to-end delay. Most importantly, the energy consumption is highly increased because sending a large number of control packets more frequently.Figure 7
The impact of updating time interval on the SORP performance.
(a)
Impact of updating time interval on the PDR (b)
Impact of updating time interval on the average end-to-end delay (c)
Impact of updating time interval on the energy taxOn the other hand, when the updating interval is highest (e.g., 75 s), the packet delivery ratio is reduced because the neighbouring tables gradually become outdated with the passing of time. Moreover, all of the information about the void and trapped nodes may become obsolete due to node movement. The latency also increases because of relaying the packets over the nonoptimal paths using the outdated information. Although the energy of updating phase decreases by reducing the number of control packets, the total energy is still high due to inefficiency in suppressing the duplicate packets. Thus, the updating time should be set carefully to reach the best performance metrics trade-off for SORP.


### 5.3.2. Impact of Sink Number

In order to investigate the impact of various sink number on SORP performance, we set the number of sinks at 1, 3, and 5, respectively. The simulation results for packet delivery ratio, average end-to-end delay, and energy consumption are shown in Figures8(a)–8(c), respectively. By having more the number of sinks on the surface, the number of void and trapped nodes is decreased. Thus, as can be observed from Figure 8(a), the PDR is higher with more sinks. On the other hand, with only one sink, a lot of nodes become a void or trapped node which reduces the chance of each forwarding node to find more qualified regular nodes at each hop. With having more sink nodes, the latency is also lower because a packet should traverse a lower path to reach the closest sink. However, with one sink, the packet should traverse a longer distance, especially when the source node is placed at the corner of the network topology, resulted in a higher end-to-end delay. With more sinks, the energy consumption decreases because packets can be delivered to a sink in a shorter path and with the minimum number of hops. On the contrary, with fewer sinks, energy consumption increases because a packet should traverse a longer distance to reach a sink.Figure 8
The impact of sink number on the SORP performance.
(a)
PDR at various sink numbers (b)
The average end-to-end delay at various sink numbers (c)
The energy tax at various sink numbers


### 5.3.3. Impact of ParameterTDelay

The parameterTDelay decides the holding time of packets at each node. The simulation results for packet delivery ratio, average end-to-end delay and energy consumption in different TDelay values are plotted in Figures 9(a)–9(c), respectively. The parameter TDelay is set with three different values of 0.2s, 0.4s, and 0.6s. With a larger TDelay, a node holds a packet for a longer time which increases the average end-to-end delay; however, more duplicate packets can be suppressed, which results in more energy saving. With a smaller TDelay, the average end-to-end delay is reduced; however, more nodes may relay the same packet, resulting in more energy consumption. In terms of packet delivery ratio, when TDelay is smaller, it lets the transmission of more duplicate packets which can increase the reliability in the sparse scenarios. On the other hand, with larger TDelay, there is plenty of time to suppress more duplicate packets which can decrease the packet delivery chance in the sparse areas.Figure 9
The impact of parameterTDelay on the SORP performance.
(a)
PDR at variousTDelay values (b)
The average end-to-end delay at variousTDelay values (c)
The energy tax at variousTDelay values


## 5.3.1. Impact of Updating Interval

In order to evaluate the impact of updating intervals on SORP performance, we conduct extensive simulations at varied updating intervals of 25 s, 50 s, and 75 s, and their results for packet delivery ratio, average end-to-end delay, and energy consumption are shown in Figures7(a)–7(c), respectively. When the updating interval is lowest (e.g., 25 s), it means that the control packets can be exchanged more frequently, resulting in providing fresher information for the nodes. Thus, when the network is sparse, and the updating interval is lowest, the packet delivery ratio increases, and the latency and energy also decrease. However, by increasing the network density, the performance improvement is degraded. This is because, in a dense network, the number of packet collisions is increased by the high frequently control packet transmissions, resulting in performance degradation in packet delivery and end-to-end delay. Most importantly, the energy consumption is highly increased because sending a large number of control packets more frequently.Figure 7
The impact of updating time interval on the SORP performance.
(a)
Impact of updating time interval on the PDR (b)
Impact of updating time interval on the average end-to-end delay (c)
Impact of updating time interval on the energy taxOn the other hand, when the updating interval is highest (e.g., 75 s), the packet delivery ratio is reduced because the neighbouring tables gradually become outdated with the passing of time. Moreover, all of the information about the void and trapped nodes may become obsolete due to node movement. The latency also increases because of relaying the packets over the nonoptimal paths using the outdated information. Although the energy of updating phase decreases by reducing the number of control packets, the total energy is still high due to inefficiency in suppressing the duplicate packets. Thus, the updating time should be set carefully to reach the best performance metrics trade-off for SORP.


## 5.3.2. Impact of Sink Number

In order to investigate the impact of various sink number on SORP performance, we set the number of sinks at 1, 3, and 5, respectively. The simulation results for packet delivery ratio, average end-to-end delay, and energy consumption are shown in Figures8(a)–8(c), respectively. By having more the number of sinks on the surface, the number of void and trapped nodes is decreased. Thus, as can be observed from Figure 8(a), the PDR is higher with more sinks. On the other hand, with only one sink, a lot of nodes become a void or trapped node which reduces the chance of each forwarding node to find more qualified regular nodes at each hop. With having more sink nodes, the latency is also lower because a packet should traverse a lower path to reach the closest sink. However, with one sink, the packet should traverse a longer distance, especially when the source node is placed at the corner of the network topology, resulted in a higher end-to-end delay. With more sinks, the energy consumption decreases because packets can be delivered to a sink in a shorter path and with the minimum number of hops. On the contrary, with fewer sinks, energy consumption increases because a packet should traverse a longer distance to reach a sink.Figure 8
The impact of sink number on the SORP performance.
(a)
PDR at various sink numbers (b)
The average end-to-end delay at various sink numbers (c)
The energy tax at various sink numbers


## 5.3.3. Impact of ParameterTDelay

The parameterTDelay decides the holding time of packets at each node. The simulation results for packet delivery ratio, average end-to-end delay and energy consumption in different TDelay values are plotted in Figures 9(a)–9(c), respectively. The parameter TDelay is set with three different values of 0.2s, 0.4s, and 0.6s. With a larger TDelay, a node holds a packet for a longer time which increases the average end-to-end delay; however, more duplicate packets can be suppressed, which results in more energy saving. With a smaller TDelay, the average end-to-end delay is reduced; however, more nodes may relay the same packet, resulting in more energy consumption. In terms of packet delivery ratio, when TDelay is smaller, it lets the transmission of more duplicate packets which can increase the reliability in the sparse scenarios. On the other hand, with larger TDelay, there is plenty of time to suppress more duplicate packets which can decrease the packet delivery chance in the sparse areas.Figure 9
The impact of parameterTDelay on the SORP performance.
(a)
PDR at variousTDelay values (b)
The average end-to-end delay at variousTDelay values (c)
The energy tax at variousTDelay values


## 6. Conclusion

Addressing the void problem and the energy-reliability trade-off during opportunistic data forwarding are perhaps the most challenging factors when designing routing protocols. In this paper, we have proposed SORP, a depth-based stateless routing protocol which can bypass both void and trapped areas by applying a novel preventative void-handling technique. SORP exploits the local information obtained from the updating phase, detects the void and trapped nodes for exclusion from the candidate forwarding set, adjusts the forwarding area based on the network density and, finally, calculates the holding time for each forwarding node based on the energy-reliability trade-off constraints. We also analysed the SORP performance in the presence of shadow zone and variable propagation delays, and we discussed that how SORP can inherently deal with these issues as well. The simulation results have demonstrated that SORP significantly decreases packet loss, energy consumption, end-to-end delay, forwarding number and traversed distance in sparse to dense scenarios. As our future work, we plan to design a cross-layer protocol to share the load of the updating phase with a reservation-based duty-cycle MAC protocol in order to increase the energy efficiency.



---

*Source: 8237351-2018-11-11.xml*