Keywords

1 Introduction

Wireless Sensor Networks (WSNs) is collection of geographically dispersed autonomous sensor nodes which have limited computation and sensing capabilities. Interestingly, there are vast heterogeneity of WSN applications, specifically, environment or terrain observation, war terrain, smart home automation, etc. To ensure reliable transfer and timely communication of data packets from resource-bounded sensor devices to control unit, i.e., sink is a major challenging task in WSNs.

One such challenge is unreliable link of WSN: In real environments, because of interference, attenuation, and channel fading of the unreliable links the traditional routing approaches are not suitable for WSNs. In multipath routing, the data packets are usually copied multiple times and sent to the network. And these packets interfere with each other that reduces the bandwidth, incur congestion at the forwarding nodes. The wireless sensor networks have higher error rate and lower bandwidth than the optical networks. For the recurrent environment describing application, it is a difficult task to successfully deliver the packets on time. Timely and reliable transmission of sensory data is necessary in target tracking and emergency alarm applications. Further, the destination node also expects successful data transmission to be reliable and energy efficient. To accomplish timely and reliable transmission, an accurate and timely update of path quality and routing information are essential. In MMSPEED [1] and MCMP [2], routing algorithms utilize multiple routes between the source and sink pairs. The disjoint multiple routes concept is used to enhance packet delivery in a reliable manner where the end-to-end delay obligation is satisfied as long as an instance of packet reaches the sink within the time limit. Though multipath routing approach provides latency and reliability requirements, it has following two disadvantages: First, RREQ route request packets are broadcast to the entire network that leads to high communication overhead, channel contentions increases packet end-to-end delay and depletes sensor node energy quickly. Second, redundancy of data packet on multiple paths though it achieve required reliability but induces significant energy cost, collisions of packets, and congestion in the networks [3].

Motivation: Industrial Wireless Sensor Networks (IWSN) application expect routing protocol to achieve an evenness between energy efficiency, data packet delivery delay and reliable transmission of packet. However, the sensor nodes have limited memory and processing capability. It is essential to develop routing algorithms that have minimum time complexity in potential forwarder set construction and prioritization of forwarding nodes. The existing research routing protocol transmits data over multiple paths to achieve multiobjective [1]. However, the method adopted in these protocols to forward data turns out to be of high-energy consumption. Second, multiple paths result in contention among channels and also introduces interference that increases in delay as well as packet collision [3]. Cheng et al. [4] determine single-hop packet forwarding nodes based on its knowledge of available one-hop neighbor nodes, latency, computation complexity, and energy constraints.

Contribution: Two-Hop packet Geographic Opportunistic Routing (THGOR) provides Expected Packet Progress (EPA) metrics for the selection of the forwarding nodes. The basic idea of selecting a forwarding node is to determine a subset of two-hop neighbors of sender that has expected packet advancement, high probability of successful delivery, and high residual energy. It also select a subset of one-hop neighbor that has ability to cover the selected two-hop forwarding node. THGOR demonstrates the use of optimal sum of forwarding sensor nodes, minimum overhead of control and data packets. With low packet replication overhead, THGOR achieves required reliability, low energy consumption, and end-to-end delay in an efficient way.

Organization: The chapter is organized as follows: A overview of relevant research is discussed in Sect. 2. Background work is explained in Sect. 3. The problem definition and Mathematical model is presented in Sect. 4. Two-Hop geographic opportunistic routing is explained in Sect. 5. Simulation parameters and performance analysis are discussed in Sects. 6 and 7 respectively. Section 8 contains the conclusions.

2 Literature Survey

Data packet routing is a difficult task due to several resource constraints in WSNs. There are several types of routing techniques in WSNs: (i) Hierarchical or tree-based routing, (ii) Heuristic routing and shortest path concepts, (iii) Geographic routing based on node position, and (iv) Operation-based routing. In the tree-based routing, the routing tree is constructed based on QoS parameters and the packets are routed along vertices of tree. However, when the two nodes are in mutual transmission range which belong to different branches that cannot communicate with each other. The sensor nodes near the root node have more energy depletion than others. Therefore, tree-based routing techniques are not energy efficient, even though it is simple and easy to implement.

QoS-aware optimal path is determined using heuristic approach based on shortest path principle. By extended Dijkstra algorithm, least-cost paths are determined which satisfies timeliness and energy requirements. Routing algorithms based on this approach have contention-based scheduling, variable-duty cycle, and traffic-adoptable energy dissipation. However, packet collision overhead leads to retransmission and low packet delivery ratio. Further, enormous number of routing algorithms have been designed in [5,6,7,8]. The Geographic Routing is the most encouraging approach for WSNs. Location of the sensor node is utilized to transmit data packets from the source sensor device to the destination or sink [9]. Sensor nodes use immediate neighbors location information to determine the potential forwarder which forwards data packets to the sink node [10,11,12]. The location details of sensor device and distance among neighboring sensor nodes are determined by received signal strength or GPS of nodes in the network.

In Geographical Adaptive Fidelity (GAF) [12] algorithm, the nodes deployed area is divided into tiny virtual grids. In each virtual grid, all nodes are ranked based on their residual energy. A node with high rank is chosen as an active node, while other nodes turn off their radio. The active sensor node forwards the data packets. Similar to GAF algorithm, Geographic and Energy-Aware Routing (GEAR) algorithm [13] publicize its query directly to a target region through hop-by-hop from the sink node. Each sensor node updates its residual energy and geographical distance to the sink while forwarding the query packets towards the target region. However, recursive geographic query packet forwarding technique may reach dead end or loop forever.

GEographic DIstance Routing (GEDIR) algorithm [14] and Compass Routing [15] use greedy approach to determine the path and ensure that sink receive packets. The QoS provisioning in WSN guarantees that routing layer satisfies various applications requirement like latency, reliability, availability, and security. There are several QoS-aware routing protocols that achieve certain levels of reliability, energy efficiency, and delay requirements by multiple routes among the source and sink node [1, 2, 16, 17]. To maintain data packets confidentiality, data packets over multipath are encrypted using a digital signature crypt system [18,19,20]. Although, multipath routing reduces routing table updates and enhances packet delivery rate, it results in channel contention and interference [3].

To overcome the limitations of multipath routing, there are several geographic opportunistic routing protocols that shows network performance improvement. In geographic opportunistic routing, any sensor node that overhears the transmission can participate in forwarding the data packets. A set of forwarding nodes at the network layer and one relay node at MAC layer improves the network reliability [21,22,23,24]. A set of forwarding nodes are available to forward data packets, but only one forwarding node is selected to forward the data packets; choosing one among them is based on one closest to the sink or one having higher residual energy [25, 26]. Energy efficient and QoS-aware Multipath Routing protocol(EQSR) [27] selects the next forwarding node on basis of the sensor node energy available, available buffer space, and Signal-to-Noise Ratio(SNR). Similarly, forwarding nodes are prioritized based on one-hop progress and reliability [4]. In [28], forwarding nodes are chosen on basis of angle of inclination and distance. Energy-Efficient QoS Assurance Routing (EEQAR) [29] constructs cluster head among the forwarding nodes and achieve evenness in energy utilization by cluster head rotation. WSNs are more susceptible to various attacks because of its broadcast nature and has high error rate than optical communication [30, 31]. Therefore, routing protocol in [32] achieves evenness in energy consumption, and ensures secure data packet delivery. Pratap et al. [33] have analyzed different WSN applications in terms of their significant QOS requirements while Manjula et al. [34] have analyzed different mobility models and its impact on routing algorithm. It is known that a large number of routing algorithms are designed using information on one-hop neighbor. However, every sensor node can have two-hop neighbor information through its one-hop neighbor nodes. The two-hop information based routing algorithms have minimum hop count between the source and sink, the minimum deadline miss ratio, and optimal latency [35]. However, two-hop information-based routing protocols have control packets overhead and high computing complexity for obtaining two-hop neighborhood information [36]. The comparison of related works is given in Table 1 and Bird’s eye view of different geographic routing algorithms in WSN is given in Table 2.

Table 1 Comparison of related works
Table 2 Bird’s eye view of different geographic routing algorithms in WSN

The proposed routing protocol THGOR obtains information of two-hop neighborhood in circumference of the forwarding area, therefore, proposed routing protocol has average control overhead and computing complexity.

3 Background

Geographic Random Forwarding (GeRaF) [25] assigns rank among forwarding candidates based on the single-hop packet advancement. Efficient QoS-aware Geographic Opportunistic Routing (EQGOR) [4] also selects forwarding candidates on the basis of packet reception ratio (PRR), single-hop packet advancement and communication delay. Forwarding candidates residual energy is not considered, while selecting one among the candidate nodes. Anas et al. [37] have evaluated the benefit of opportunistic routing in the presence of unreliable link, loss of DATA, and ACK packets. However, these works address geographic routing with one-hop packet progress toward destination for the multi-constrained WSNs.

4 System Model and Problem Definition

4.1 Definitions of Node’s Neighbor and Its Relationships

Sensor nodes form a sensor network G(SN, L) through self-organization, where SN denotes a group of sensors devices and L represents a collection of wireless links. The relationships of sensors nodes are categorized as follows: (i) Inward–outward-neighbor nodes, (ii) Inward-neighbor, (iii) Outward-neighbor, and (iv) outsider.

  1. (1)

    Let A, B be sensor nodes; if B is in data transmission range of A, and A is in data transmission range of B, then there is direct communication among A to B and B to A; A and B are classified as inward–outward-neighbors and denoted as A \(\leftrightarrow \) B.

  2. (2)

    If B is in the data transmission range of A then there is direct communication among A to B; hence, B is inward-neighbor of A and denoted as A \(\rightarrow \) B.

  3. (3)

    If A is not in the data transmission range of B then there is no communication between B to A, hence, A is outward-neighbor and denoted as A \(\nleftarrow \) B.

  4. (4)

    If there is no communication between A and B, then it is denoted as A \(\nleftrightarrow \) B.

4.2 Terminology: One-Hop and Two-Hop Receivers

Sensor device A’s one-hop neighbors are the A’s inward-neighbor or inward–outward-neighbor, and one-hop neighbors are in the transmission range \(r_1\). Sensor device A’s two-hop receiver are one-hop neighbor of A’s one-hop neighbors where two-hop neighbors are in transmission range \(r_2\). Each node determines its neighbor nodes by exchanging Hello messages. Two-hop neighbors information were used in [25, 26] for determining routing path.

4.3 Definition of Forwarding Area

A packet advances from one forwarding node to another forwarding node. Thus, each forwarding node has a transmission range which is denoted as a circle around forwarding node, In the given model, there are two typical forwarding areas. (i) Communication Area (CA), (ii) Degree Radian Area (DRA).

Definition: Communication Area: the range of data transmission for a sensor node is the region where any pair of sensor nodes can hear each other transmissions. \(r_2\): maximum range of transmission for a sensor node. \(r_1\): is minimum transmission range of node i and minimum distance among node i and one-hop neighbor node j.

Definition: Degree Region Area: It is a \(\varTheta \) degree spreading area on both sides of line connecting the sender and sink. The area between two dotted lines is DRA as shown in Fig. 1.

Fig. 1
figure 1

Node’s Degree Region Area(DRA)

5 Mathematical Model

Sensor node distribution is modeled as a spatial poisson process with a constant mean and variance of \(\lambda \) nodes per m\(^2\). Thus, the probability that k nodes present in the area of Am\(^2\) is denoted as

$$\begin{aligned} Pr{(k)}= \frac{(\lambda A)^k e^{-\lambda A} }{k!}, \end{aligned}$$
(1)

where \(\lambda \) is anticipated number nodes in an area.

In THGOR protocol, any two nodes in a communication area (CA) are able to overhear each other’s transmissions. The Degree Radian Area (DRA) packet progressing area is \(\frac{\pi r^2}{6}\). Thus, Probability of k nodes in DRA is defined as

$$\begin{aligned} Pr{(k)}= \frac{(\lambda \frac{\pi r^2}{6})^k e^{-\frac{\pi r^2}{6}} }{k!}, \end{aligned}$$
(2)

Thus, the average number of one-hop neighbor nodes for a node i (s.t i \(\epsilon \) N\(_1\)) within DRA is \(\rho \): \(\rho \) = \(\frac{\pi r^2\lambda }{6}\).

All nodes j belongs \(\rho \) are called as Potential Nodes (PN). The inclination angle \(\phi \) is determined for each node of PN. The inclination angle \(\phi \) is the angle between line connecting node i to sink(D) and line connecting node i to node j. If node j inclination angle \(\phi \) does not exceed the degree \(\frac{\varTheta }{2}\) and node j is in r1, r2 then j is identified as Candidate Node (CN\(_i\)). The inclination angle is determined as: (Dist\(_{i, D}\), Dist\(_{i,j}\)) = \(\mid \) Dist\(_{i, D}\) \(\mid \). \(\mid \)Dist\(_{i,j}\))\(\mid \). \(\cos \) \(\phi \)

$$\begin{aligned} \phi =\bigg [\frac{\small (Dist_{i,D} , Dist_{i,j}\small )}{\mid \mid Dist_{i,D}\mid \mid .\mid \mid Dist_{i,j}\mid \mid }\bigg ] \end{aligned}$$
(3)

When node i decides to transmit data packets to the sink node D, the node i selects j based on the reliability of link. The reliability of link among node i and j is the packet reception ratio among node i and j. This packet reception ratio is calculated on basis of Window Mean Exponential Weighted Moving Average (WMEWMA) [50]. The prr is calculated as follows:

$$\begin{aligned} prr_{i,j}=\beta \times prr_{i,j} + (1-\beta )\times +\frac{rc}{rc+m}, \end{aligned}$$
(4)

where rc is the received packets count, m the group of all lost packets and \(\beta \) = 0.6. The node j is called One-Hop Forwarding Nodes (FN\(_1\)) if link reliability among node i and node j is more than the threshold point (0.5).

$$\begin{aligned} RL_{i,j}=prr_{i,j} \end{aligned}$$
(5)

To ensure that node j \(\epsilon \) FN\(_1\), it is in region of DRA and it is closer to destination. The distance from node i to node D is greater than transmission range. The following equation is used to ascertain node j \(\epsilon \) FN\(_1\) is in region of DRA.

$$\begin{aligned} Pr(j)&=Pr((dist(i,D)>r )\cap I =1)\nonumber \\&=\int _{0}^{x} Pr((dist(i,D)>r )\cap I =1) d(dist(i,D))\nonumber \\&= \int _{r}^{x} Pr(at least one FN_1 in DRA) d(dist(i,D))\nonumber \\&= \int _{r}^{x} (1-e^{-\frac{\pi r^2}{6}}) \frac{2dist(i,D)}{x^2} d(dist(i,D))\nonumber \\&=1-\frac{r^2}{x^2}-\frac{2}{x^2} \int _{r}^{x} dist(i,D)e^{-\frac{\pi r^2}{6}} d(dist(i,D), \end{aligned}$$
(6)

where I is random variable, and I = 1 if atleast one FN\(_1\) in the DRA and x is the network range. After ascertaining one-hop Forwarding Node j such that j \(\epsilon \) CN\(_i\) is in DRA. Next, to determine FN\(_2\)(i) from two hop neighbors of node i

$$\begin{aligned} N_2(i)=\{k:(j,k) \ \epsilon E \ and \ j \epsilon \ FN_1(i), \ k\ne i\}. \end{aligned}$$
(7)

For all one-hop neighbors (say node k) of one-hop Forwarding Node (FN\(_1\)(i)) that belongs to \(\rho \), the inclination angle \(\phi \) is determined. The inclination angle \(\phi \) is the angle between line connecting node i to sink(D) and line connecting node i to node k. If node k inclination angle \(\phi \) does not exceed the degree \(\frac{\varTheta }{2}\) and link reliability (RL\(_{i,k}\)) is greater than two-hop threshold link reliability (0.25) then two-hop neighbor k is included in the candidate nodes set \(CN_2\). The sum of all link reliability of (\(FN_1(i)\), k) is computed, where node \(k\,\epsilon \,CN_2 (i)\), resulting sum is multiplied with link reliability between node i and FN\(_1(i)\), and the obtained result is subtracted with number of one-hop neighbor of FN\(_1(i)\) \(\times \) 0.25.

$$\begin{aligned} TRL_{j \epsilon FN_1(i)} =\{\{prr_{i,j}\times \{ \Sigma _{k\epsilon CN_2(i),j\epsilon FN_1(i)} prr_{j,k} \}\}- \mid {N(FN_1(i))}\mid \times 0.25\} \end{aligned}$$
(8)

From Eq. (8), link reliability TRL\(_{j \epsilon FN_1(i)}\) between node i and its two-hop neighbor nodes nodes belongs to candidate node (\(CN_2\)) is determined. Now, potential forwarder is determined by

$$\begin{aligned} FN_1(i) = Max\{TRL_j\}. \end{aligned}$$
(9)

In case, two or more nodes of CN\(_1\)(i) have same TRL\(_j\) then a node is selected from CN\(_1\)(i) that cover the maximum number of nodes. Let k nodes be neighbor nodes of FN\(_1\)(i) which is denoted as

$$ ({\mathrm{k}}_1,{\mathrm{k}}_2,\ldots ,{\mathrm{k}}_n) =\pi N(FN(i)). $$

A node \(FN_1(i)\) selects the next forwarding based on maximum residual energy at node (N(FN\(_1\)(i))). The residual energy at the neighboring nodes of \((FN_1(i))\) is calculated based on Eq. (11).

The media delay of each node that belongs to N(FN(i)) is derived in Eq. (10). The medium propagation delay is described as time interval from the sender node i broadcasting the packet to the k\(\mathrm{th}\,\epsilon \,CN_2(i)\) and forwarding node (k\(\mathrm{th}\,\epsilon \,CN_2(i)\)) assertion that it has received data packet. This medium propagation delay varies for different MAC protocols and is divided into two parts: (i) Sender delay and (ii) k\(\mathrm{th}\,\epsilon \,FN_2(i)\) forwarding node acknowledgement delay. Thus, the medium propagation is given by

$$\begin{aligned} md = T_c+Tr_d+T_{SIFS}+T_{ack}, \end{aligned}$$
(10)

where \(T_c\) is contention delay, \(Tr_d\) is transmission delay, \(T_{SIFS}\) is Small InterFrame Space, \(T_{ack}\) is acknowledgement delay.

For each forwarding node \(k\,\epsilon \,CN_2(i)\), the consumption of energy involves the energy utilized to receive and retransmit packets of prior to forwarding sensor nodes to its neighboring node. The available residual energy at two-hop forwarding node \(k\,\epsilon \,CN_2(i)\) is determined using Eq. (10)

$$\begin{aligned} E^{re}_{k\epsilon N(FN_1(i))}(t) = E^{i}_{k \epsilon N(FN_1(i))}-((E^{rc}_{k \epsilon N(FN_1(i))}(t)+E^{tr}_{k \epsilon N(FN_1(i))}(t)) * N_{pkt}) \end{aligned}$$
(11)
$$\begin{aligned} FN_2(i)=Max\bigg (E^{re}_{k \epsilon N(FN_1(i))}(t)\pi \bigg ( N(FN_1(i)) \bigg ) \bigg ). \end{aligned}$$
(12)

By Eq. (11), the node \(FN_2(i)\) is selected as two-hop forwarding node, since this node \(FN_2(i)\) satisfies the required reliability and has maximum residual energy. The process of determining next two hops, forwarding sensor nodes is continued iteratively at each two-hop node and routing from the source sensor node to the sink node is through a set of two-hop forwarding nodes.

When the selected two-hop forwarding node fails to deliver packet due to hardware failure then its FN\(_1\)(i) selects one of its candidate set as next two-hop forwarding node based on maximum residual energy.

6 Proposed Algorithm

In this section, Two-Hop Geographic Opportunistic Routing(THGOR) is presented. The THGOR determines and prioritizes the two-hop forwarding node using link reliability and optimal energy strategy on each two-hop neighbor of node i, it chooses the optimal one-hop forwarding node as a relay node among candidate nodes CN\(_1\)(i).

When node i decides to transmit data packets to the destination node, it identifies its Degree Radian Area (DRA) and one-hop and two-hop neighbor nodes within DRA, and it determines the inclination angle \(\phi \) for each node that belongs to the DRA region. All the nodes having inclination angle less than or equal to \(\frac{\varTheta }{2}\) and that satisfies link reliability threshold are included in the candidate set \(CN_1(i)\) of node i. Further, node i selects and prioritizes the nodes (say \(j_1, j_2 ...\, j_n\)) from the available one-hop neighboring nodes that satisfy link reliability threshold value from node i to node \(j_n\) and it is called as one-hop forwarding node of node i denoted as \(FN_1(i)\). The transmitted data packet from node i has a flag bit in its header. The one-hop forwarding node j \(\epsilon \) FN\(_1\)(i) can distinguish the incoming data packets by tracing the ID of sender and flag bit (line 3), if the flag bit is set to 1 then the received data packets are transmitted to its two-hop forwarding node eventually without adding into the queue and resets the flag bit (line 37).

In the next step, a group of one-hop neighboring nodes of node \(FN_1(i)\) and their inclination angle \(\phi \) is determined. The nodes are included into \(CN_2(i)\), if \(N(FN_1(i))\)’s inclination angle is less than or equal to \(\frac{\varTheta }{2}\). All the nodes that belongs to \(CN_2(i)\) and fulfill the threshold value of link reliability and residual energy are ranked (lines 25–30). From \(CN_2(i)\), a two-hop forwarding node is selected based on Eq. (12).

The two-hop forwarder node broadcasts its data packet along header setting the flag bit to 1, ID of receiver node, and each two-hop forwarder node in turn iterates the process. On arrival of data packet at one-hop forwarding node, it checks whether a flag bit is set to 1 or 0. If it is set, then the received data packets are transmitted to its two-hop forwarding node eventually without adding into the queue and resets the flag bit. On arrival of data packet at each two-hop forwarder, the routing proceeds and mechanism is repeated to find its two-hop forwarding node.

Estimation of Link Reliability: Function 2 uses exponential weighted moving average based on the window mean [50] to estimate the reliability of link, RecPkt is the packets received count, Pkt.seq is sequence number of current packet received, f is the packets lost count, LastPkt is last packet received, \(\frac{RecPkt}{RecPkt+f}\) is the newly determined reliability value. The Rel (N\(_i\), N\(_j\)) value is renewed at the receiving node N\(_j\) for every size of window.

figure a
figure b

7 Simulation Setup

To assess the performance of proposed protocol THGOR, the protocol is simulated in NS-2 [51] with C++ code for a different node density. The performance of the proposed protocol is compared with EQGOR [4] and GPSR [11]. The common simulator parameters used during simulations are listed in Table 3. A sink is located at (400, 400 m) and a source sensor node is placed at (0, 0 m). The following performance metrics are used for performance comparison:

  • On time Packet Delivery Ratio. The ratio of total count of data packets arrived at sink successfully to the total count of packets transmitted by source sensor node.

  • Packet Replication. Number of redundant packets used to deliver a packet successfully.

  • Two-hop Packet Progress. Two-hop distance traversed by packets toward destination.

  • Control Packets Overhead. Number of control packets required in route-discovery process.

Table 3 Simulation parameters

8 Performance Analysis

Figure 2 illustrates the effect of number of forwarding nodes on THGOR’s performance. It is observed from Fig. 1 that the set of forwarding nodes increases linearly as required reliability increases in GOR and EQGOR [4]. Larger set of forwarding nodes make these protocol more robust since forwarding nodes serve as backup. However, a large set of forwarding nodes result in high percentage of duplicate packets, overhead, and impact of wireless interference. The proposed THGOR protocol yields higher packet delivery ratio with a small set of forwarding nodes with increased reliability. reasons are (i) average data transmision link quality, residual energy, and inclination angle of forwarding nodes are taken into account while the selecting forwarding nodes, (i) when the forwarding node link reliability is below the threshold value then such node is not considered. The next prioritized forwarding node that is in forwarding area and satisfying the threshold value condition is chosen without backtracking.

Fig. 2
figure 2

Number of forwarding nodes versus Reliability Expectation; the reliability expectation is set 0.99, end-to-end delay is set to 0.12 s, and range of transmission for each node is set to 50 m

Fig. 3
figure 3

Average number of packets replication under different network nodes, number of nodes varying from 20 to 120 with a step 20. Node transmission range is set to 50 m

Optimal packets replication overhead helps to choose forwarding nodes among the two-hop neighborhood in the route-discovery process is shown in Fig. 3. THGOR has the optimum overhead of packet replication. An optimal packet replication overhead is due to probabilistic strategy to choose forwarding nodes with two-hop neighbor information. The reason is that it uses neighborhood information of every two hops for determining the forwarding node (it does not use one hop information). When the node count varies from 20 to 100, the packet replication overhead for one-hop neighbor information increases since routing decision is made at every one-hop. The packet replication overhead for three-hop information is most stable. However, complexity involved in gathering three-hop information is high. The packet replication overhead with two-hop information is stable with average complexity in gathering information and results in lower end-to-end delay.

Fig. 4
figure 4

On time packet delivery ratio under different reliability expectation. The reliability Expectation is set 0.99, end-to-end delay is set to 0.12 s, and range transmission for each node is set to 50 m

Figure 4 illustrates the end-to-end packet successful delivery ratio of EQGOR and THGOR protocol. In the proposed protocol, the packet successful delivery ratio is high. In EQGOR, end-to-end packet delivery ratio is about 70 and 76% when the required reliability is 0.66 and 0.80, respectively, whereas in THGOR, packet delivery ratio is about 73 and 83%. One reason is that the proposed protocol prevents packets from deviating too far toward destination. Another reason is that path length is optimal compared to existing protocol and the routing decision is made at two-hop. EQGOR achieves lower end-to-end packet delivery ratio due to deviation of packets and one-hop routing decision which results in multiplier effect.

Figure 5 shows that the packet successful delivery ratio grows more or less linearly with the nodes count. The reason is due to the priority assigned among two-hop forwarding nodes based on two-hop packet progress, expected media delay, and residual energy at each forwarding nodes. Compared with the single-hop packet advancement scheme EQGOR, the Two-hop packet progress approach used in THGOR improves the delivery ratio by 6–9% due to selection of two-hop forwarding nodes from Degree Radian forwarding Area(DRA) that are in direction of destination node. Another reason is the probability of void decreases quickly as packet progress at rate of two-hops and probability of collision is less. When the node density is about 60–120, maximum number of nodes are available in forwarding area to become next two-hop forwarding nodes and yields higher packet delivery ratio.

Fig. 5
figure 5

On time packet successful delivery ratio under a various number of nodes in the network. The number of node varying from 20 to 120, end-to-end delay is set to 0.12 s, and transmission range of each node is set to 50 m

Fig. 6
figure 6

Comparison of Two-hop packet progress under different reliability requirement. The reliability expectation is set 0.99, delay is set to 0.12 s, and range of transmission of each node is set to 50 m

Figure 6 illustrates the packet progress toward intended destination. EQGOR uses single-hop packet progress and achieves progress toward the destination is about 36–31 m when reliability requirement varies from 0.5 to 0.99. For the same reliability, in THGOR, the packet progress toward destination is about 46–44 m, the selected forwarding nodes are selected the most reliable link. Another reason is when forwarding node (say k) fails to transmit a packet successfully, a retransmission is initiated from the immediate previous node instead of going back to the source node. As the packet progresses faster towards the destination, the sender locates more of forwarding nodes to forward the packets which result in low end-to-end delay.

Fig. 7
figure 7

Comparison of On time packet successful delivery ratio under different node density. The number of node varying from 20 to 120, end-to-end delay is set to 0.12 s, and transmission range of each node is set to 50 m

Fig. 8
figure 8

Average number of control packet over under different node density, Control packets include HELLO, RTS,CTS, and ACK packets

It is observed that in Fig. 7, two-hop progress with the two-hop information performs better in terms of reachability with less number of transmissions, since the proximity of two-hop neighbor information is considered during routing decisions. The packet progress significantly increases at the low density (from 20 to 70 nodes). As the number of nodes increase (from 71 to 120 nodes), packet progress is low, the void distance between the two nodes decreases, improving the quality of link between the two nodes. In EQGOR, the routing decision is made at each node and it neglects the reliability of links, hence the packet progress is comparatively lower than THGOR wherein proximity of two-hop node information and the link quality is taken into the account. The two-hop packet advancement from the source sensor node to destination node is a crucial factor in view of the delay, consumption of energy and hop count. Figure 8 illustrates the average number of control packets exchange between the forwarding nodes. The control packets include RTS, CTS, ACK, and HELLO messages to identify neighbors and its corresponding PRR value. The control packets cost is directly proportional to the number of data transmissions. In EQGOR, the overhead of control packets increases linearly with the number of nodes in the network for the following reasons:

  • More nodes are involved in its periodic flooding to determine neighbor node information and a forwarding node sends data packets in random directions,

  • The number of updates on neighboring node and link quality in EQGOR is larger than THGOR since only nodes that are in forwarding area have to update its neighboring nodes, inclination angle, and link quality,

  • The link reliability update is quite small in THGOR compared to the number of link quality update in EQGOR.

9 Conclusions

Simple geographic opportunistic routing uses its local knowledge of next-hop to forward the packets. However, this may lead to transmission failure due to low link reliability, and more retransmissions. The proposed protocol THGOR uses two-hop reliability and residual energy packet progress. The results of simulation shows there is a clear fast packet progress towards destination and decline in the average number of transmissions with low end-to-end delay while selecting the next forwarding nodes. THGOR strikes balance between packet progress, computation complexity. Extensive simulation results show that THGOR outperforms the EQGOR [4] and GOR [25] protocols.