ASDSR: An Adaptive Stable DSR Routing Protocol for Mobile Ad-hoc Networks

—The process of finding a route between the transmitter and the receiver node in the Mobile Adhoc Networks (MANets) is a renewed issue that is becoming more and more interesting to the researchers as this type of networks grow and expand. The dynamic nature of MANET and the limited capabilities of wireless nodes in terms of memory size and battery charge are the most important obstacles to the routing (path-finding) process between nodes. In this research, we introduced a new protocol based on the well-known DSR protocol. The proposed routing protocol adds a mechanism to control the RREQ Flooding process; this aims to reach more stable routes while reducing the overhead of routing process caused by link breakage between nodes, and reduces the overhead of network flooding with RREQ messages with each attempt to find a path. In this proposed mechanism, RREQ messages are sent to subset of the devices that are adjacent to the transmitter node, this selection depends on a stability evaluation criterion calculated based on three weighted factors: the speed of the node, the out-degree value (the number of adjacent nodes), and the number of tracks stored in the nodes' memory. The proportion of devices selected is automatically changed adaptively to ensure the achievement of the expected throughput for this network. The proposed protocol was tested using simulation where results showed that ASDSR proved an enhancement in route stability about (0.13), and a decrease in the number of deleted routes by (9%), while maintaining the expected packet delivery ratio of the original DSR by about (0.86).


Introduction
Mobile Ad hoc network, a term considering networks in which nodes are free to move from location to another while there is no infrastructure to connect and manage transaction between them [16].Due to its lack of underlining infrastructure, nodes connect with each other in a decentralized manner, where each node expected to participate in the routing process of transmitting messages from source node to the destination node and they are assumed to work collaboratively while routing messages in order to accomplish an accepted level of service [3].
Finding an efficient route between two requires a routing process that depends on a specific routing algorithm.The routing algorithms is a set of rules that are responsible for finding the more appropriate route between two nodes in a network according to specific efficiency metric.Different proactive and reactive routing algorithms are introduced in the literature, where routes between two hosts may consist of many hops through other hosts in the network.Proactive protocols [7,13,18,22] suggests storing routing table in each node's memory resulting in minimum transmission time while sending packets since the route already known, but it consumes mobiles storage capacity.On the other hand, Reactive protocols [12] [27] find routes on demand; if the node wants to send packet, it will search for the route and store it in its memory.Reactive protocols give better storage utilization while there is a delay in the process of searching for suitable route.
Due to the nature of MANET, link breakage between nodes occurs when two adjacent nodes go far from the range of each other because of nodes mobility and frequent changes in their locations.This is considered one of the most expected problems in mobile ad hoc networks [25].Hence, a stable, efficient, and less overhead routing protocol is needed to facilitate finding stable routes from source to destination node.

Dynamic source routing protocol (DSR)
DSR is one of the reactive routing protocols in MANET, DSR relies on searching for the route once it is required [27].This process involves two stages: route discovery; which includes flooding of a packet called Route Request (RREQ) message that passes through the network looking for a route to the destination node.The second stage is route maintenance, which begins when the communication between two nodes is interrupted, and then a Route Error (RERR) packet is sent by nodes surrounding the failed link to inform other nodes about this change.Many challenges lie in the process of routing in MANET, such as, the limited nodes storage and battery, the burden of overflow of messages during the process of establishing the route, and the continues movement of network nodes causes frequent interconnection of nodes.In DSR, if node ni want to send a packet to node nj the method is illustrated as follows: 1. Node ni will search for a route in its memory which leads to node nj.If there is a route, the message will be sent directly through the saved route, otherwise, step2 will be performed.2. ni will try to find the path that fulfill its demand.The process of finding route starts by generating a special message called Route Request (RREQ), this message contains information about the source ni and destination nj of the transmission and additional information about the intermediary nodes passed-through by this RREQ in order to keep track of the found path.3. The RREQ message will be broadcasted to all surrounding nodes.If node ng received the RREQ, and it is not the desired destination, it will re-broadcast the RREQ again to its neighbors.The process continued until RREQ received by the destination node nj 4. If nj received the RREQ, then nj will generate another message called Route Reply (RREP) message.RREP will contain the same information about ni and nj from RREQ just received.5. RREP will be sent back through the found route from one node to another until reaching the sender node ni. 6.The initiator node of RREQ and any node within the route will save the new discovered route to nj in its cache memory.
Link breakage between nodes occurs when two adjacent nodes go far from the range of each other because of nodes mobility and frequent changes in their locations.This is considered one of the most expected problems in mobile ad hoc networks [25].In DSR, if link breakage occurs, each node realized the failure will generate a Route Error (RERR) message and broadcast it over all nodes to delete any route depends on this failed link.Fig1.shows an example of using DSR in the process of broadcasting RREQ message starting from the sender node (N1) searching for a route to a destination node (N21).All neighbors of (N1) will receive the RREQ message (N2,N3,N4,N5,N6), unfortunately, none of them is the desired recipient, as a result, each of the neighbors have to participate in the routing protocol and re-broadcast the message to its neighbors.If a node received the same RREQ another time it will not re-broadcast it.This process continues until reaching (N21).You many notice that there are many paths guide to the destination node (N21).The first RREQ received by (N21) will be considered as the desired route and then node (N21) in its role, will generate Route Reply Message (RREP) and send it back through the found path until reaching the sender N1.During this process, each node inside this route will save the route to (N21) in its memory.Here, (N1) will save the route (N3, N10, N22, N21), (N3) will save a route to node (N21) too, which is (N10, N22, N21), and (N10) will also save the route (N22, N21).

Related work
In this section we will describe techniques and directions used by other researchers in the area of routing protocols in MANET.Our proposed method is actually based on DSR routing protocol; therefore, we will explore some of the existing DSR enhancement techniques observed from previous researches.
Since the battery limitation is one of the most challenges in Ad-Hoc networks, [19] proposed a route discovery mechanism taking into account nodes' energy consumption in order to increase node life time.When a neighboring node received the RREQ message through a route discovery process, it will add its node ID in the request packet and update its total energy field in the RREQ and then rebroadcast the RREQ message.The simulation result showed that their Modified DSR protocol achieved less energy consumption when compared to the original DSR protocol.
[5] Proposed an enhancement to the route discovery process considering nodes energy consumption for transmission and reception of single packet rather than considering minimum number of hops in the network.When a destination node receives the RREQ message, it will send the RREP message via only nodes having less energy consumption.The authors simulate their ideas and prove its effectiveness regarding the average throughput and energy consumption compared with DSR and other routing protocols.DSR comparisons showed an enhancement about 0.48 achieved in nodes' energy consumption, and about 0.75 enhancements in network throughput for 50 nodes test.
In [9], a multipath energy aware routing for wireless ad hoc network was presented.All possible paths between a source-destination are stored, the destination replies to all route requests (RREQ)s that arrive, and the source stores all the paths of received route reply (RREP)s.The paths are ordered by an energy-based metric.An enhancement about 0.10 in achieved in packet delivery ratio showed by the simulation, while network overhead incremented nearly by 0.01.iJIM -Vol.14, No. 8, 2020 [6] Proposed an enhancement on a DSR protocol in order to increase network throughput by increasing the number of maximum retransmission requests size.The authors performed this by setting the value of the maximum retransmission parameter to 32.From simulation, throughput results are analyzed showing that the initial value of throughput is increased by 8.08% of updated DSR and final value is increased by 4.43%.The sample mean value is increased by 5.85%.
In [28] an algorithm was suggested to reduce the flooding of RREQ packets in the network.The basic idea states that while route discovering process, the node receives a RREQ packet will check the following parameters: its own residual battery, received signal strength, and speed.If the defined thresholds for the node for these mentioned parameters satisfy, then the RREQ packet will be forwarded in the network, otherwise, the RREQ packet will be discarded.Evaluation method using Qualnet simulator showed that it results in an increased throughput and average residual battery of the node and decreased the average end to end delay and jitter.
In [8], the authors developed a caching strategy to reduce the flooding overhead by avoiding route discovery as much as possible.In their strategy, the available path is preferred rather than the optimal one; nodes update their cache quickly to minimize end-to-end delay for short-lived traffic by using active packets.The correct information in caches allows to speed up the route discovery and even to avoid it.The packet delivery ratio of the proposed strategy is 99%, which indicates that their proposed approach successfully updated nodes caches and significantly reduced the chance of packet loss due to a route failure.
[2] Proposed a modified DSR termed as Mobile internetwork broadcast infrastructure technique (MIKBIT).In this approach, broadcasting aims to reduce the high overhead involved in flooding while route discovery.Simulation showed an increase in throughput by 130%, and the average end to end delay is less by 90%, jitter is reduced and packet delivery ratio is improved than that of DSR protocol.
In [26] authors applied the Genetic algorithm and Ant Colony swarm intelligence method on DSR protocol to find the optimal path taking into account the misbehaving nodes in the network since the selfish and incapable nodes are some of the causes of network low performance.In their proposed algorithm, any path from the source node to the destination node is a feasible solution; the optimal solution is the shortest one.Another research by [14] also proposed an ant-based hierarchical routing protocol that uses Ant colony optimization algorithm to meet the application-specific Quality of service requirements of heterogeneous traffic generated by the source nodes.Simulation results approved that their protocol outperforms other protocols in terms of energy efficiency, end to end delay, and packet delivery ratio.
[11] Proposed an optimized DSR routing protocol with ant algorithm.Evaluation and Analysis for the proposed approach was done with various scenarios.DSR ant has 48% smaller delay, 1.37 times smaller hop count, and throughput up to 3.6 times larger than the standard DSR, but DSR-ant has routing overhead 58% larger than standard DSR.
[1] Used clustering approach to select only a subset of nodes that need to forward the packet to (RREQ flooding) through route discovery process.This approach aimed to reduce network overhead by eliminating the unnecessary flood.Simulation results showed that their optimized DSR algorithm enhances the packet delivery ratio by minimum of 20% and reduces the RREQ flooding by a minimum of 30% by integrating passive clustering with DSR, the number of unnecessary flooding of RREQ packet reduced by minimum 30% in mobile ad hoc networks.The number of Route Errors (RERR) was reduced by 17 %.The packet delivery ratio was improved by a minimum of 20% as well.
[15] Proposed an improved DSR protocol which adopts adaptive routing shortening method through introducing time parameters; routing quality is decided by routing survival time.Adaptive automatic routing shortening can produce routes with small amount of hops and guarantee remaining survival time of new route.The performance of this method compared with the DSR protocol using simulation, and enhancement is noticed in the throughput metric and the delivered packets ratio, while there is a bit increase in the delay metric.
[17] Proposed an algorithm for modifying DSR protocol, which is referred to as Modified DSR (MDSR).A memory management algorithm also proposed; in which packets are transmitted with minimum required energy.Results reveal that this algorithm achieved 47% less number of control packets in the networks of low mobility and 4% less number of control packets for the network of highly mobility nodes.
[4] Proposed a QoS-based (Quality of Service based) protocol to improve the performance of the DSR protocol and enhance the reliability of the network.This protocol considered the QoS of the paths in route discovery process in which the path with highest QoS value is selected.The QoS function depends on the factors: the available bandwidth of a node, connectivity level, distance ratio and velocity ratio.Using simulation, nearly 0.40 enhancements was achieved in packet delivery ratio metric.
In our proposed ASDSR, the aim is to find the more stable route while decreasing routing process overhead by introducing an enhancement to the DSR algorithm.During route discovery process, flooding is done by selecting a subset of neighbor nodes to send RREQ message to them rather than broadcasting it to all network nodes.This selection is performed according to a computed stability value depending on three weighted factors: node speed, number of its out-going links, and the number of stored routes in its memory, weight values depends on network requirements.Routes found and stored in nodes' caches will be stable as much time as possible due to taking nodes stability into account during route construction.The remaining of the paper is organized as follows: in the next section a discussion of the proposed ASDSR and its algorithm is presented, then we described the stability function and the evaluation method of our enhancement followed by results discussion and analysis.At the end of the paper a conclusion is presented.

2
The Proposed Adaptive Stable DSR Protocol (ASDSR) In DSR protocol, when an initiator node starts route discovery stage, it will send the control packet RREQ to each neighbor node.The process of flooding RREQ iJIM -Vol.14, No. 8, 2020 through the network and rebroadcasting it will generate routing overhead through the network which will affect nodes energy-consumption and the overall performance of the network.Unfortunately, this process will be repeated for each time a new route is needed.Thus, frequent link breakage makes this type of flooding is a main concern.
Our proposed ASDSR protocol aims to find a more stable route while decreasing route discovery overhead on the network.The following steps illustrate how the proposed ASDSR protocol behaves when node ni wants to send a packet to node nj that are depicted in figure 2: Step 1: Checking cache memory: Node ni will search for the route in its cache memory.If a stored route found, the message will be sent, otherwise, step2 will be performed.
Step 2: Generating RREQ message: Node ni will try to find the path that fulfills its demand.The process of discovering a route starts by generating a special message called Route Request (RREQ).This message contains information about the source ni and destination nj of the transmission and additional information about all intermediary nodes that received and re-transmit the RREQ during the routing process in order to keep track of the found path to the destination node.
Step 3: Flooding RREQ based on stability: Node ni reads the stability value for each neighbor node.Assuming each node in a network calculates the stability value periodically and make available to other nodes.The RREQ message will be send to a subset of neighbor nodes that have greater stability values.If node ng received the RREQ, since ng is not the required destination, it will re-send the RREQ again to a subset of its neighbors according to their stability values.The process continued until RREQ received by the destination node nj.
Step 4: Reach the destination: If nj received the RREQ, then nj will generate another message called Route Reply (RREP) message that contains the same information from RREQ just received.
Step 5: Sending back the RREP: RREP will be sent back through the found route from one node to another until reaching the sender node ni.
Step 6: Saving a rout: The initiator node of RREQ and any node within the route will save the new discovered route to nj in its cache memory.http://www.i-jim.org

Fig. 2. ASDSR routing process
Note that sending RREQ to just a set of neighbors will shorten the process and reduce RREQ flooding (s in the figure denotes the computed stability value for a node).The selection of these neighbors related to a computed stability value; for example, node (N1) sent the RREQ to node (N2) and node (N6) and node (N4) because they have the largest stability values among all N1 neighbors.The route found may differ from that found by the Original DSR (refer to example in section 1.2).According to Figure 3; the route found is not the shortest path (N2, N8, N19, N18, N21).This path has a length of (5 hubs) compared with (4 hubs) path found before, In this protocol, we can achieve our goal of finding routes that stay for longer duration while decreasing the routing process overhead, the shortest path is not our goal here.
Figure 3show the process of searching for a route from the sender node (N1) to the recipient node (N21).iJIM -Vol.14, No. 8, 2020

Fig. 3. ASDSR RREQ message flooding based on stability
In the proposed ASDSR a dynamic percent of neighbor nodes will be selected each time to send RREQ message to them; this percent is adaptive with a defined threshold for the accepted average for packet-dropping percent.If the percent of the dropped packets exceeded this threshold, the percent of neighbors that will receive the RREQ message will increase by 0.10 until the average for packet-dropping rate decreased and ensure maintaining an accepted network throughput.To determine this threshold value, we had studied the performance of the original DSR, we noted that the percent of dropped packets wasn't exceed (0.14), therefore, we selected a threshold value which is (0.14) as an accepted value for the average packet-dropping rate, such that the total performance of the network should not exceed this value.Figure 4 shows the changes in the dynamically determined neighbors' percent value during a simulation of 50 time slots.
As noticed from the figure, neighbors selection percent start from (0.50), at time slot (15), the percent start to increase slightly to indicate that the number of dropped packets start exceeds the defined threshold value, it reaches (1) at time slot (20) and returns to decrease at time slot (22), and thus stays increasing and decreasing to ensure an acceptable network throughput.

Stability Function
Node stability value is an indicator to how much this node is trusted to establish a long-life route rout passing through it.In our proposed approach we used three main factors as indicators to nodes' stability; node speed, out-degree value, and the number of stored routes.
Node speed, the first factor, is the most critical factor which affects route stability, when node moves in high mobility speed it will not be effective decision to create a route passing through it, since the probability of link breakage will be very high.The second factor is the out-degree value; this factor indicates the number of out-going edges (number of neighbors) for this node.Neighbor node with higher number of outdegree value is more dependable compared with isolated nodes; a node with lowspeed and few number of surrounding nodes will not be a good choice for route selection.The third factor is the number of stored routes in nodes' cache memory; the node with more routes stored in its cache memory is considered as an active node and has a strong social network with other nodes, then it will be a good choice for route construction.Stability values will be computed according to Equation (1): where Sni is the stability factor value computed for node ni.M is the maximum speed value defined for nodes movement in the simulator.SPni is the speed of node ni.Oni is the number of outgoing links for node ni.Rni is the number of routes stored in node ni memory.α is the weight for the node speed factor, β is the weight for the outdegree factor, and γ is the weight for stored routes factor, where the summation of all of these weights equals 1 as shown in Equation (2): iJIM -Vol.14, No. 8, 2020 The values chosen for the weights α, β, and γ can be determined depending on several network features, such as nodes transition speed (high, low), mobility model, nodes distribution, nodes battery and memory capacities, and many others indicators variables for network state.For the purpose of analysis, we tested our algorithm using several combinations of values of α, β, and γ.Each of these combinations is biased towards one of the three factors as will be mentioned in section 4.

4
The Proposed ASDSR Protocol Modeling Assume that N represents the set of network nodes N={ni,nj,….,,nk} and L represents the set of links between nodes, for example L={<ni,nj>,<nj,nk>} if there is a direct link between ni and nj and a direct link between nj and nk.The direct link indicates that the two nodes are in the transmission range of each other and thus they can communicate directly and send data without requiring any hubs over intermediary nodes.∀n∈N, it has properties such as its position, speed, transmission range, movement direction, and stability value.∀l∈ L, l connects two nodes (ex, ni and nj) if the distance between ni and nj less than or equals nodes' transmission range.We call ni and nj adjacent nodes and the link l incident to the nodes ni and nj.
In MANET, sending data between nodes occurs all the time.If node ni want to send data to node nj, then ni is called the initiating (transmitter) node and node nj is called the terminating (receiver, recipient) node The sequence of edges (links) connecting intermediary nodes from ni until reaching nj is called the "path".In a path, the number of included edges represents the "path length" between ni and nj, the path relation between ni and nj is defined as: p(ni,nj), if there exist a path from ni to nj.Minimal path length between ni and nj is the path which involves the least number of edges, in this research we are not interested with finding the shortest path; instead we are looking for the more stable path.
Links between nodes are transitive, such that, If p(ni,nj) exists, and the distance d(ni,nj)!=0, and p(nj,nk) exists and d(nj,nk)!=0,this infers that there exist a path between ni and nk p(n1,n3) where d(ni,nk) != 0. If ∀ni,nj∈N, Ǝp(ni,nj), then G is a connected network.In real mobile networks we cannot ensure fully connectedness between nodes all the time due to nodes mobility behavior.
In our model the broadcasting graph G \ is actually a sub-graph from the actual network graph G, such that G \ = (N \, L \ ) where N \ ⊂ N and L \ ⊂ L. ∀ l =<ni, nj>, l ∈ L \ if and only if the stability value for node nj is within the highest values compared with all ni neighbors.For a graph G= (N, L), where N= {ni,nj,……nk}, we represent the direct connections between nodes by using the n * n adjacency matrix adj whose elements aij is given by the definition:

Simulation and analysis
MANET in its nature is continues system, where the state variables that describe the system (such as mobile nodes locations, speeds, links between nodes…) changes during the time, link failure occurs when nodes get outside from the coverage area of another node.In order to study the system as it evolves over time and collect statistical variables that evaluate our proposed ASDSR, simulation experiments were performed.
According to the definitions in section B, we built a continuous stochastic simulator for Mobile Ad-hoc Network using Random Walk (RW) mobility model.Modeling starts by dispersing nodes through a predetermined rectangular area with dimension (D), nodes move continuously, each time slot, a node may change its speed or direction according to a pre-defined probability.The new speed for node (i) at time slot (t) is chosen by uniform distribution between speed minimum and maximum values [Smin, Smax], we use the notation (SPni(t)) to denote speed of node ni at time slot t.The direction is chosen randomly by selecting a random angle (Ø) from the interval (0, 2π).During the interval, a node moves with a velocity vector (SPni(t) cos Ø, SPni (t) sin Ø).According to this model we built a simulator using (C++) programming language.
We assumed that all nodes wishing to communicate with others, and within the ad hoc network all nodes are willing to participate fully in the protocols of the network.In particular, each node participating in the network should also welcome to forward packets for other nodes in the network.To represent our model by a simulator we assumed that (k) is the number of nodes in the network, where (n1, n2, n3, …., k) are the nodes.The new location for a moving node at time slot (t+1) is computed according to the following equation: niy(t+1)=niy(t)+SPni(t)*sinØni(t) where, nix(t): x location of node (i) at time slot (t), niy(t): y location of node (i) at time slot (t), SPni(t): speed of node (i) at time slot (t), Øni(t): angle of movement for node (i) at time slot (t) In order to determine if two nodes are adjacent to each other or not, we should determine if the distance between them not go beyond their transmission range, this is done by computing the distance between these two nodes (assume, ni and nj) according to the following equation: When a route deleted from nodes' cache memory due to link breakage, we can compute the average routes stability according to Eq.7: iJIM -Vol.Simulation of the proposed ASDSR algorithm has been performed on a mobile simulated environment, where nodes move all the time according to Random Walk (RW) mobility model.Simulation results are analyzed and compared with the original DSR protocol in three main dimensions: average route stability, number of deleted routes, and packet delivery ratio.

Routes stability
We define route stability value as the period of time between two time slots; the time slot at which the route was created and the time slot when it was deleted.Within simulation of fifty time slots, routes stayed for average (14.1)time slots in the original DSR, While they were exist for average (16) time slots in the ASDSR for all weights, an enhancement about (0.125) time slots was achieved by ASDSR.Fig. 5 shows the average route stability over 10 runs.Because of the unified values for network state variables, the different combinations of weights resulted in a close stability values, the EDW slightly outperforms the other combinations of weights.

Number of deleted routes
The results of stability are supported with gaining less overhead caused by the routing algorithm, this could be noticed from the number of the deleted routes, where the number of the deleted routes were decreased by nearly by 1400 routes in our ASDSR protocol as shown in Fig. 6.This enhancement gained although the network environment and mobility model applied including the average link breakage was the same in all simulation experiments and node mobility was random and uniformly distributed.

Fig. 6. The Number of Deleted Routes
From a deeper look to the curve, we notice that the number of stored routes in nodes' memory had a significant role in decreasing the number of deleted routes; therefore, establishing routes passing through nodes that have more routes stored in their memories will decrease the routing process overhead since the number of deleted routes will be minimized and there will be no need to search for a new route every time.

Packet delivery ratio
Packet delivery ratio could be defined as the number of packets successfully sent during a specified period of time relative to all sending attempts.Results are very close between the original DSR and our proposed ASDSR, this indicates that we can achieve the same throughput while decreasing network overhead and getting more stable routes using our proposed enhancement.These results are shown in Fig. 7 below.The closest value was achieved by OF; outgoing links factor, where the number of neighbors for a node give it higher priority to be selected.

Conclusion
In this paper, we proposed ASDSR protocol as an enhancement on the DSR protocol, where the most stable route is found by restricting flooding Route Request Message (RREQ) to a subset of each node's neighbors according to a computed stability value based on three weighted factors; node speed, out-going degree, and the number of stored routes in nodes' cache memory.A dynamic and adaptive process was applied for selecting the percent of the neighbor nodes based on monitoring the packet delivery ratio and adjust the percent of neighbors included in the RREQ flooding process in a way that achieve an accepted packet delivery ratio.Our proposed ASDSR was evaluated using simulation; results were collected and compared with the original DSR protocol showed an enhancement in the overall routes stability about (0.13), and a decrease in the number of deleted routes by (9%), while maintaining an accepted value for the packet delivery ratio (0.86).
In the next study, we will make an exploratory study about network features that affect the selection process of weight values for each of the three factors and what are the suggested values for these weights at various scenarios.