A Novel Effective Multipath Routing Technique Providing High Availability in Wireless Networks

: Wireless networks, such as mobile ad hoc networks (MANETs) or wireless sensor networks (WSNs), usually suffer link failures and topology changes, due to the mobility of wireless nodes, the insufﬁcient power of wireless nodes, the unstable state of wireless links, and unpredictable environmental interference. If any link or node failure occurs, a lack of fault-tolerant mechanisms may lead to the interruption of active communication between the source and destination nodes. Multipath routing protocols have been proposed to solve the problem. In this paper, we propose a novel multipath routing approach called node-disjoint multipath routing (NDMR) for discovering and establishing two node-disjoint paths between a source and a destination in a wireless network. The proposed approach uses the request-reply mechanism to ﬁnd the node-disjoint paths. However, it discards duplicates of request messages instead of re-broadcasting them as occurs in several existing approaches. Additionally, NDMR uses a two-way handshake or three-way handshake process for discovering the node-disjoint paths. If the destination can ﬁnd two node-disjoint paths in the ﬁrst route discovery, it uses the two-way handshake process. Otherwise, it applies the three-way handshake process. By decreasing the number of steps in the route discovery process, NDMR reduces the route discovery time achieved by existing techniques. These advantages make NDMR very useful for applications that demand high availability and fault tolerance in MANETs and WSNs. The performance of NDMR has been analyzed, evaluated, and compared with that of several existing approaches. Various simulations were conducted to validate the analyzed results. The analyzed and simulated results show that NDMR signiﬁcantly reduces the control overhead as well as the time required, by existing approaches, for route discovery.


Introduction
A wireless network is a collection of wireless nodes that communicate with each other using wireless links. A node can communicate only with other nodes in its wireless transmission range. A mobile ad hoc network (MANET) is a wireless network typically characterized by node mobility and topology change. In a MANET, nodes exchange data among themselves without reliance on any additional infrastructure, such as a base station or a wired backbone network, and the network topology may dynamically and unpredictably change since the nodes are free to move [1]. A wireless sensor network (WSN) consists of many nodes, each of which is connected to one (or several) sensors. These sensors monitor and sense changes in environmental or physical conditions and then transmit this data to a main location, called a sink node. WSNs can be considered a special type of ad hoc wireless network with reduced or no mobility [1,2]. Nodes in MANETs and WSNs are constrained route discovery process, NDMR significantly reduces the control overhead as well as the time needed to discover and establish routes compared with existing node-disjoint route discovery approaches, such as AODVM and MP-AODV. Additionally, with its traffic distribution strategy, NDMR can provide seamless communications with fault tolerance for MANETs and WSNs.
The rest of this paper is organized as follows: Section 2 contains reports on several related studies. In Section 3, we describe NDMR. In Section 4, the performance of NDMR is analyzed, evaluated, and compared to that of existing approaches. Section 5 contains descriptions of various simulations and their results to evaluate and validate the performance analysis of NDMR. Finally, we provide our conclusions in Section 6.

Related Works
AODV is one of the most popular on-demand routing protocols in wireless networks. AODV uses the request-reply mechanism plus hop-by-hop routing to discover and establish a path between a source and destination in a wireless network. When a source needs to communicate with a destination for which it has no routing information in its route table, it initiates a route discovery process by sending a route request (RREQ) message and waiting for a route reply (RREP) message. When an intermediate node receives an RREQ, the node first sets up a reverse path to the source using the previous hop of the RREQ as the next hop on the reverse path. If the intermediate node has a valid route to the destination, it sends an RREP back to the source. Otherwise, the node re-broadcasts the RREQ. When the destination receives an RREQ, it generates an RREP. The RREP is sent back to the source via the reverse path. When the source receives the RREP, the forward path is established. AODV is designed for single path routing and does not support multipath routing. Several approaches have been proposed to provide multipath routing for wireless networks [8][9][10][11][12][13][14][15][16][17][18]. Out of the proposed multipath routing approaches, AOMDV, AODVM, and MP-AODV are multipath routing variants of AODV. AOMDV is a link-disjoint multipath routing approach that discovers link-disjoint paths whereas AODVM and MP-AODV can set up multiple node-disjoint paths in wireless networks.

AOMDV
AOMDV [8] computes and establishes multiple link-disjoint paths between a source and a destination in a wireless network. AOMDV consists of two main activities: computing multiple loop-free paths and finding link-disjoint paths. Unlike AODV, which discards duplicates of RREQ messages at intermediate nodes, AOMDV allows an intermediate node to accept and process duplicates of the RREQs if the duplicates arrive via a trajectory that does not already include the intermediate node. This mechanism establishes multiple loop-free paths at every node.
Each RREQ carries an additional field called firsthop to indicate the first hop taken by it. Each node also maintains a firsthop-list for each RREQ to keep track of the list of neighbors of the source through which the node has received a copy of the RREQ. When an intermediate node receives a duplicate of an RREQ, it does not immediately discard the duplicate. Instead, the intermediate node checks the RREQ copy to see if it provides a new node-disjoint path to the source by comparing the firsthop field in the RREQ copy and the firsthop-list in the node for the RREQ. If it provides a new path, AOMDV invokes the route update rule to check if a reverse path can be set up. If a reverse path is set up and a valid route to the destination is available, the intermediate node sends an RREP back to the source. RREPs are sent for each received RREQ. The multiple routes are made by RREPs that follow the reverse routes previously set up in intermediate nodes. At the destination, reverse routes are set up just as in the case of intermediate nodes.
Since there are many copies of RREQ and RREP messages sent in the network, AOMDV has high control overhead for discovering and establishing multiple paths.

AODVM
AODVM [9] is another modification of AODV that discovers multiple node-disjoint paths between a source and a destination in a wireless network. As with AOMDV, intermediate nodes under AODVM receive duplicates of RREQs, record the information contained in these copies in the RREQ table, and re-transmit the received RREQ copies instead of discarding them. Information stored in the RREQ table includes the source that generated the RREQ, the intended destination of the RREQ, the neighbor who transmitted the RREQ, and some additional information. However, unlike the original AODV and AOMDV, intermediate nodes do not send an RREP back to the source even if they have routes to the destination. Instead, the destination sends an RREP to the source for each received RREQ copy though the path traversed by the RREQ copy.
When the destination receives the first RREQ copy from one of its neighbors, it updates its sequence number, generates an RREP, and sends the RREP back to the source. When the destination receives duplicates of the RREQ from other neighbors, it updates the sequence number and sends RREPs for each of them. The RREP contains a last_hop_ID field to indicate the neighbor from which the corresponding RREQ was received. When an intermediate node receives an RREP from one of its neighbors, it removes the corresponding entry to this neighbor from its RREQ  RREQ table is empty), the node sends a route discovery error (RDER) message back to the neighbor that forwarded the RREP to this node. When the neighbor receives an RDER, it searches its RREQ table for the next shortest path to the source and attempts to forward the RREP to the source through the path. To confirm how many paths were discovered and established, the source sends a route confirmation (RRCM) message to the destination for each received RREP. The RRCM also contains information about the hop count of the route and the first and last hops. Figure 1a shows the process of route discovery of AODVM. The route discovery is a three-way handshake process. Since many control messages, including RREQs, RREPs, RDERs, and RRCMs, are used to discover and establish routes, and because duplicates of RREQs are not discarded at intermediate nodes, AODVM generates too many duplicates of the control messages in wireless networks, resulting in high control overhead for discovering and establishing routes in the networks.

MP-AODV
MP-AODV [10] is a modification of AODV that discovers and establishes two node-disjoint routes, two link-disjoint routes, or two hybrid routes between a source and a destination in a wireless network. MP-AODV divides the route discovery process into two phases: the main route discovery and the backup route discovery. MP-AODV first discovers and establishes the main route and then performs the second route discovery. MP-AODV maintains only one alternate path. The paths established between the source and destination are either node-disjoint or link-disjoint. MP-AODV first attempts to establish two node-disjoint routes. If it does not find two such routes, it then discovers and sets up two link-disjoint routes to improve the reliability of data transmission. MP-AODV uses an additional one-bit flag to distinguish between control messages in the main routes (RREQ, RREP) and the backup route (RREQ_2, RREP_2).
To establish the main route, the source broadcasts an RREQ. Upon receiving the RREQ, intermediate nodes store information about the RREQ's identification (RREQ ID) and the source node in a seen table. When the destination receives the RREQ, it sends an RREP back to the source along the reverse path. When an intermediate node that belongs to the main route receives the RREP, it increases the RREQ ID value in the seen table and then forwards the RREP to the source. When the source receives the RREP, the main route is established, and the source starts data transmission and initiates the route discovery process for the backup route by broadcasting an RREQ_2. When an intermediate node receives the RREQ_2, it compares the ID of the RREQ_2 with that stored in the seen table. If it is identical, the node discards the RREQ_2. Otherwise, the node re-broadcasts the RREQ_2. At intermediate nodes belonging to the main route, the ID of the RREQ_2 and the stored ID are the same because MP-AODV has already increased the stored ID during the main route discovery process. Therefore, these intermediate nodes discard the RREQ_2. When the RREQ_2 reaches the destination, the backup route is discovered, and the destination sends an RREP_2 back to the source. When the source receives the RREP_2, the backup route is established. Unlike in the main route discovery process, intermediate nodes in the backup route discovery process do not increase the RREQ ID value stored in the seen table when they receive the RREP_2. Therefore, intermediate nodes along the main route have a higher RREQ ID value than nodes in the backup route.
If a node-disjoint route does not exist, MP-AODV will find a link-disjoint route. The process of link-disjoint route discovery is similar to that of node-disjoint route discovery Figure 1b shows the process used by MP-AODV to discover and establish node-disjoint routes. The route discovery is a four-way handshake process. MP-AODV has high control overhead for discovering and establishing node-disjoint routes. Additionally, MP-AODV requires a long period to establish node-disjoint routes due to the four-way handshake route discovery process. Out of the existing multipath routing techniques, AOMDV is a link-disjoint multipath routing technique, whereas AODVM and MP-AODV node-disjoint multipath routing techniques. These techniques generate too many duplicates of control messages due to the use of many control messages and the distribution of the control messages. In addition, the node-disjoint multipath routing techniques, including AODVM and MP-AODV, use three-way and four-way route discovery process, respectively that take a long route discovery time. The motivation of this research is to propose a novel multipath routing variant of AODV that reduces the duplicates of control messages as well as decreases the route discovery time.
The main contributions of the proposed NDMR approach are as follows: • NDMR discovers and establishes two node-joint paths instead of many paths between a source and a destination in a wireless network to provide redundancy communications, resulting in reducing the number of network traffic frames sent between the source and the destination in the network compared with the existing multipath routing techniques.
• NDMR reduces duplicates of the control messages used for discovering and establishing paths between the source and destination nodes in wireless networks compared with the existing multipath routing techniques. • NDMR uses a two-way or three-way handshake route discovery process instead of four-way process, resulting in decreasing the route discovery period compared with the existing multipath routing techniques.

The NDMR Approach
NDMR is an on-demand multipath routing technique that can provide fault-tolerant capability for wireless networks, such as MANETs and WSNs. NDMR provides multipath routing in a wireless network by establishing two node-disjoint paths between a source node and a destination in the network.

Control Messages
NDMR uses control messages to discover and establish two node-disjoint paths between source and destination nodes in a wireless network. Figure 2 shows the structure of the control messages. NDMR uses PREQ and PREP messages for path discovery and path failure (PFLR) messages for path maintenance.

•
Path request message: A PREQ message is broadcast by the source node when it initiates a new path discovery process. The PREQ contains the following data field: + Node_list: the list of nodes through which the PREQ has been passed.
• Path reply message: A PREP message is used to report a path discovered. The PREP contains the following data field: + Discovered_path: the path discovered between the source and destination.
• Secondary path request message: A secondary path request (SPREQ) message is used to discover the second path. The SPREQ contains the following data fields: + Node_list: the list of nodes through which the SPREQ has been passed. + First path: the first path discovered and established between the source and destination.
The sequence number associated with the source address is used to uniquely identify each control message and detect duplicates of the message. To prevent control messages from being duplicated and circulated in wireless networks, intermediate nodes discard duplicates of the control messages.

NDMR Operations
The proposed NDMR approach includes the following steps: When a source node needs to communicate with a destination node for which it has no routing information in its route table, NDMR initiates the path discovery process by sending control messages to find two node-disjoint paths between the source and destination nodes. Upon receiving the control messages, intermediate nodes along the discovered paths build and maintain their route table. The source then forwards frames to the destination through the two established paths. During the communication, the path maintenance process is used to check and maintain the two active paths between the source and destination nodes.

Path Discovery
The path discovery process of NDMR is shown in Figure 3. The path discovery can be either a two-way handshake or three-way handshake process depending on the paths received and found at the destination. The path discovery process is initiated whenever the source needs to communicate with a destination for which the source has no routing information in its route table. To discover and establish two node-disjoint paths to the destination, the source broadcasts a PREQ. When an intermediate node receives a PREQ for the first time, the node adds a potential reverse route to its buffer. The potential route contains the following information: destination, source, next hop, and route_timeout. The intermediate node then adds itself to the node_list field of the received PREQ and rebroadcast the message. Since the PREQ was broadcast in the wireless network by the source, a node in the network may receive multiple copies of the PREQ from its various neighbors. The maximum number of PREQ copies received at a node is equal to the number of neighbors that the node has. When an intermediate node receives a duplicate of the PREQ, the node discards the duplicate and does not rebroadcast it.
The destination node performs the selection of two node-disjoint paths, including the first and second paths. When the destination receives the first copy of the PREQ, it chooses the first path based on the node_list of the received PREQ. The selection of the second path depends on receiving the next copies of the PREQ. At the destination, NDMR uses two parameters during the selection of the second path, including Path_selection_timer and Maximum_received_PREQ. The Path_selection_timer is a period in which copies of the PREQ received at the destination node are valid and processed. The Maximum_received_PREQ value is equal to the number of neighbors that the destination has. After receiving the first copy of the PREQ, the destination starts the Path_selection_timer and begins receiving duplicates of the PREQ. When the destination receives a duplicate of the PREQ, it forms a path candidate based on the node_list of the received duplicate and checks if the path candidate and the first path are node-disjoint paths. The following two cases can occur:

Case 1: The two-way handshake process
The destination has found a path candidate that is node-disjoint with the first path. In this case, the candidate is chosen as the second path, and the second path selection is ended. The destination then unicasts two PREPs to the source; one contains the first path, and the other contains the second path. When an intermediate node receives a PREP, it checks if the PREP's sequence number for the originating node (i.e., the destination node in this case) is greater than that recorded by the intermediate node. If not, it means that the received PREP is a duplicate, and the intermediate node discards the PREP. If so, the intermediate node looks at the discovered_path field of the PREP. The intermediate node discards the PREP if the discovered_path does not contain the node. Otherwise, it means that the intermediate node is along the communication path between the source and destination, and the node then adds the corresponding forward and reverse routes into its route table. The intermediate node then forwards the PREP towards the source. Eventually, the two PREPs arrive at the source. The source sets up two node-disjoint paths to the destination based on the discovered_path field of the received PREPs.
The path discovery in this case is a two-way handshake process as shown in Figure 4a.

Case 2: The three-way handshake process
In this case, the second path has not been selected yet, and either the Path_selection_timer expired or the number of PREQ copies received at the destination reached the Maximum_received_PREQ value. The destination informs the first discovered path by sending a PREP to the source and initiates the second path discovery by broadcasting an SPREQ. Both these messages contain the first path. The propagation process of the PREP is similar to that described in Case 1. When the PREQ arrives at the source, the source sets up the first path to the destination based on the discovered_path field of the received PREP. Like a PREQ, an SPREQ is broadcast in the wireless network. An SPREQ, however, is delivered from the destination to the source and contains the first path. Intermediate nodes along the first path discard the SPREQ and do not re-transmit the message. Other intermediate nodes re-broadcast the SPREQ. Like PREQ, duplicates of the SPREQ are discarded at the intermediate nodes.
Eventually, copies of the SPREQ arrive at the source node. The source selects the second path based on the node_list field of the first received copy of the SPREQ. The source then sends a PREP containing the second path to the destination. Upon receiving the PREP, intermediate nodes along the second path add corresponding route entries for the forward and reverse paths into their route table. Finally, the destination receives the PREP and then adds the second path to its route table.
The path discovery in this case is a three-way handshake process as shown in Figure 4b. Intermediate nodes belonging to the discovered paths build their route table based on receiving PREQ/SPREQ and PREP messages. For each discovered path between the source and destination, two route entries are created, namely a forward route for the forward path and a reverse route for the reverse path. The forward route is built based on information contained in the received PREP whereas the reverse route is determined based on the received PREQ. Each entry of the route table contains the following information: source node, destination node, next hop, route_age_time. The route_age_time of an entry determines the lifetime of the entry in the route table. Each time a route entry is used to transmit data frames, its route_age_time is reset. If the route_age_time of a route entry is timeout, the entry is removed from the route table.
When an intermediate node receives a PREQ or SPREQ, the node adds a potential reverse route into its buffer. The potential reverse route contains several fields aforementioned in Section 3.2.1, including source node, destination node, next hop, and route_timeout.
Later, if the intermediate node receives a PREP of which the node sees itself in the discovered_path field, the node immediately adds two route entries into its route table as follows:

•
Reverse route is determined based on the potential reverse route stored in its buffer.

•
Forward route is built based on the received PREP.
Otherwise, if the intermediate node has not received any PREP for the pair of the source and destination nodes and route_timeout of a potential reverse route expired, the node removes the potential route from its buffer.

Frame Forwarding
To send a data frame to the destination, the source transmits the frame containing the address of the source and destination. Neighbors of the source located in its transmission range can hear the frame. Only two of the neighbors that belong to the two node-disjoint paths have a route entry that matches the frame and they re-transmit it. When an intermediate node receives the data frame, it makes a forwarding decision by looking up its route table. Each entry of the route table contains information about the source, the destination, and the next hop. If the intermediate node has a route entry that matches the source and destination nodes of the received frame, the intermediate node will transmit the data frame to the next hop of the route entry. Otherwise, it discards the frame. Eventually, two identical copies of the data frame arrive at the destination through the two node-disjoint paths. The destination receives the first copy, sends it to upper layers and then discards the duplicate.
By using the traffic distribution strategy, NDMR can provide fault tolerance capability for MANETs and WSNs.

Path Maintenance
After discovering and establishing two node-disjoint paths between the source and destination nodes, the path maintenance process is used to check and maintain the active paths of the active communication.

1.
Case 1: During the active communication between the source and destination nodes, the movement of intermediate nodes that do not lie along an active path does not affect the communication.

2.
Case 2: If the source node moves during the active communication, it will decide whether to initiate a new path discovery process or not to establish one or two node-disjoint paths to the destination.
(a) If the source can communicate with both its neighbors, which belong to the first and second paths, respectively, the movement of the source does not affect the active communication.
If the source becomes unreachable with a neighbor lying along an active path, the source will remove the path from its route table and set the remaining path to the first path. An SPREQ is then broadcast by the source to establish the second path to the destination.
(c) If the source cannot communicate with its neighbors that belong to the first and second paths, the source will re-initiate a new path discovery to establish two new node-disjoint paths to the destination.

Case 3:
If any node along an active path fails or becomes unreachable, the node upstream of the break will send a PFLR message to the source. Upon the message, the source removes the corresponding path from its route table and then initiates the secondary path discovery by broadcasting an SPREQ to establish the new alternate path.

Performance Analysis
AODVM attempts to find as many node-disjoint routes as possible in a wireless network. AODVM, however, uses too many control messages to discover and establish the node-disjoint paths. Additionally, duplicates of RREQs are not discarded at intermediate nodes. Instead, the intermediate nodes process the duplicates, store related information in the RREQ table, and re-transmit the duplicates. The drawback generates excessive duplicates of control messages in the wireless network, resulting in high control overhead for route discovery.
Both MP-AODV and NDMR discover and establish two node-disjoint routes in a wireless network. Intermediate nodes under both approaches discard duplicates of request messages (RREQ/PREQ); therefore, these approaches significantly reduce control overhead for discovering routes when compared with the AODVM approach.
In this section, the performance of MP-AODV and NDMR is analyzed, evaluated, and compared. For the performance analysis, the sample network shown in Figure 5 is used, and the following two cases are considered: • Case 1: Source node 0 communicates with destination node 22. • Case 2: Source node 0 communicates with destination node 24.

Hop Counts
Assume that messages are propagated between any two adjacent nodes in the wireless network with the same speed and delay. The shortest path between a source and a destination is the path with the least number of hop counts.

Under MP-AODV
MP-AODV has two processes of route discovery: the main route discovery and the backup route discovery. The main route discovery process establishes the first path, and the backup route discovery process sets up the second path.
Let p MP-AODV (1) For the sample network in Figure 5, the discovered paths and their hop counts are as follows:

Under NDMR
The route discovery under NDMR is either a two-way handshake process or a three-way handshake process depending on the paths discovered in the primary route discovery. (2) For the sample network in Figure 5, the discovered paths and their hop counts are as follows: •

Control Overhead
To analyze and evaluate performance of control overhead for discovering and establishing node-disjoint paths, the number of control messages transmitted and re-transmitted in the network is used as a metric for the performance analysis.
Unlike AODVM, which uses many types of control messages during the route discovery process, MP-AODV and NDMR use two: request messages (RREQ/PREQ) and reply messages (RREP/PREP). Additionally, intermediate nodes under MP-AODV and NDMR discard duplicates of RREQs/PREQs instead of re-transmitting them as under the AODVM.

Under MP-AODV
During the main route discovery, the RREQ is transmitted by the source and re-transmitted by all the other nodes when they receive the RREQ for the first time, except the destination.
The number of RREQ copies transmitted and re-transmitted during the main route discovery, denoted by numRREQ MP-AODV 1 , is calculated as follows: where N is the number of nodes in the network. The number of RREP copies transmitted and re-transmitted during the main route discovery, denoted by numRREP MP-AODV 1 , is determined as follows: where n MP-AODV (5) The number of RREP_2 copies transmitted and re-transmitted during the backup route discovery, denoted by numRREP MP-AODV 2 , is determined as follows: where n MP-AODV 2 is the hop count of the second path. The total numbers of request and reply messages transmitted and re-transmitted for discovering two node-disjoint paths, denoted by numRREQ MP-AODV and numRREP MP-AODV , respectively, are as follows: numRREP MP-AODV = n MP-AODV For the sample network in Figure 5, the number of RREQs and RREPs are as follows.

Under NDMR
Under NDMR, the number of request and reply messages transmitted and re-transmitted in the network depends on whether a two-way handshake or three-way handshake discovery process is used.

Two-Way Handshake Process
In the two-way handshake route discovery process, the source transmits only one PREQ, and other nodes, except the destination, re-transmit the PREQ when they receive it for the first time. Upon receiving copies of the PREQ, the destination selects two node-disjoint paths and then sends two PREPs back to the source. Like MP-AODV, NDMR discards duplicates of the PREQ received at intermediate nodes.
The total numbers of PREQ and PREP copies, denoted by numPREQ NDMR and numPREP NDMR , respectively, are determined as follows: where n NDMR 1 and n NDMR 2 are the hop counts of the first and second paths, respectively.

Three-Way Handshake Process
In the three-way handshake discovery process, the source first transmits a PREQ. Upon receiving this PREQ, the destination sends a PREP back to the source and transmits an SPREQ. Intermediate nodes belonging to the first path discard the SPREQ. When the source receives the first copy of the SPREQ, it sends back a PREP to the destination.
The total numbers of request and reply messages transmitted and re-transmitted in the three-way handshake route discovery process are calculated as follows: For the sample network in Figure 5, the number of RREQs and RREPs are as follows.
• Case 1: The route discovery in this case is the two-way handshake process: numRREP MP-AODV = 8 • Case 2: The route discovery in this case is the three-way handshake process: It can be seen from the results that the control overhead of the three-way handshake process-based NDMR (NDMR-3HS) is similar to that of MP-AODV, whereas the two-way handshake process-based NDMR (NDMR-2HS) significantly reduces the control overhead when compared with MP-AODV.

Route Discovery Time
Route discovery time is a period starting when the source node begins the route discovery process and ending when two node-disjoint paths are discovered and established.
When a frame is transmitted from a source to a destination in a network, the latency of delivering the frame is calculated as follows [19]: where τ latency is the latency, τ prop is propagation time, and τ q , τ tx , τ proc are queueing time, transmission time, and processing delay, respectively at nodes in the path between the source and the destination.
Assume that the queueing time, transmission time, and processing delay at nodes in the network are the same. Let t node be the processing time at a node, including queueing time, transmission time, and processing delay, and let t prop. be the propagation time between two adjacent nodes in the network.
Therefore, the latency of delivering a frame through a path from the source to the destination can be determined as follows: where n hop is the hop counts of the path between the source and the destination.

Under MP-AODV
MP-AODV uses a four-way handshake process to discover and establish node-disjoint paths. MP-AODV first discovers and establishes the main route by sending the first RREQ and RREP, and then performs the second route discovery the second RREQ and RREP, as shown in Figure 1b.
The latency of delivering the first RREQ from the source to the destination, denoted by t MP-AODV

RREQ1
, can be calculated this way: where n MP-AODV 1 is the hop count of the first path. The latency of delivering the first RREP from the destination back to the source, denoted by t MP-AODV

RREP1
, can be determined thusly: Similarly, the latency of delivering the second RREQ and RREP, denoted by t MP-AODV RREQ2 and t MP-AODV

RREP2
, respectively, are as follows: where n MP-AODV 2 is the hop count of the second path. The total time used for route discovery under MP-AODV, denoted by t MP-AODV , can be determined as follows: Therefore:

Two-Way Handshake Process
The two-way handshake process of discovering two node-disjoint paths under NDMR is shown in Figure 4a.
The latency of delivering the PREQ from the source to the destination at which the second path has been found, denoted by t NDMR-2HS PREQ , can be calculated as follows: The latency of delivering two PREPs from the destination back to the source, denoted by t NDMR-2HS PREP1 and t NDMR-2HS PREP2 , can be determined thusly: where n NDMR 1 and n NDMR 2 are the hop counts of the first and second paths, respectively. Since n NDMR The total time used for route discovery under NDMR, denoted by t NDMR-2HS , is as follows: Therefore: Three-Way Handshake Process The three-way handshake process of discovering two node-disjoint paths under NDMR is shown in Figure 4b.
The latency of delivering the first PREQ from the source to the destination, denoted by t NDMR-3HS

PREQ1
, can be calculated as follows: The latency of delivering the second PREQ from the destination to the source, denoted by t NDMR-3HS PREQ2 , can be calculated thusly: The latency of delivering the second PREP from the source back to the destination, denoted by t NDMR-3HS

PREP2
, can be determined as follows: The route discovery time can be determined as follows: From Equations (20), (25) and (29), it is clear that the route discovery time of NDMR is smaller than that of MP-AODV.

Simulations
To validate the analytical results derived in Section 4, several simulations have been conducted using the network simulation tool OMNeT++ v4.6 [20].

Simulation Description
We consider an ad hoc wireless network with nodes uniformly distributed in the network area of 1000 m × 600 m. Nodes move at random speeds and in random directions in the network area.
In these simulations, control messages were sent to discover and establish node-disjoint paths between a source and a destination in simulation networks. The number of nodes in simulation networks increased from 20 to 100 nodes.
Performance metrics, including control overhead and route discovery time, were recorded under the MP-AODV and NDMR approaches to evaluate and compare the performance of these approaches. For the evaluation of overhead performance, in addition to the number of control messages that were transmitted and re-transmitted in the network, the number of control messages received at all nodes in the network was also recorded to evaluate and compare. Among the control messages, only request messages (RREQ/PREQ) are broadcast and re-broadcast in the network. Therefore, most of the control overhead for discovering routes is made from duplicates of the request messages. The number of the received RREQs is that of the total copies of the RREQs that are received at nodes in the network regardless of discarded copies or forwarded copies.
Additionally, to facilitate the evaluation and comparison of the route discovery time, we assumed that the processing time at each node (t node ) is 10 µs and that the propagation time between two adjacent nodes (t prop. ) is 5 µs. Figure 6a,b show comparisons of the number of request messages (RREQ/PREQ) and all control messages (request messages, reply messages, and others), respectively, that were transmitted and re-transmitted in the simulation networks. The simulation results show that MP-AODV and NDMR-3HS generated the same number of transmitted request messages. NDMR-3HS reduced the transmitted request messages by 68% compared with AODVM, while NDMR-2HS reduced the transmitted request messages by 48% compared with NDMR-3HS and 83% compared with AODVM, as shown in Figure 6a. As a result, NDMR-2HS reduced the transmitted control messages by 44% compared with NDMR-3HS and MP-AODV, and by 84% compared with AODVM, as shown in Figure 6b.  Figure 7a,b show comparisons of the number of request messages and all control messages received at nodes in the simulation networks, respectively. The simulation results show that MP-AODV and NDMR-3HS had the same number of received request messages. NDMR-3HS reduced the received request messages by 70% compared with AODVM, while NDMR-2HS reduced the received request messages by 48% compared with NDMR-3HS and 84% compared with AODVM, as shown in Figure 7a. As a result, NDMR-2HS reduced the received control messages by 42% compared with NDMR-3HS and MP-AODV, and by 85% compared with AODVM, as shown in Figure 7b. It is clear that AODVM generates too many duplicates of request messages in the networks because nodes re-transmit the duplicates instead of discarding them as under the MP-AODV and NDMR approaches. Figure 8 compares the route discovery time between the MP-AODV and NDMR approaches in simulation networks with various numbers of nodes. It can be seen from the line chart that the route discovery time of NDMR is smaller than that of MP-AODV. Specially, NDMR-2HS has the best route discovery time. Numerically, for the simulation networks, NDMR-3HS reduced the route discovery time by about 25%, and NDMR-2HS reduced the route discovery time by about 50% compared with MP-AODV, as shown in Figure 8.

Discussion
Unlike AODVM, which re-broadcasts duplicates of request messages (RREQs), MP-AODV and NDMR discard the duplicates. Therefore, MP-AODV and NDMR significantly reduce the number of copies of request messages re-transmitted and received at nodes in the network when compared with the AODVM approach, resulting in the significant decrease of control overhead for discovering routes in the network. The line chart in Figure 6a illustrates that too many copies of RREQs were re-transmitted at nodes under AODVM. MP-AODV and NDMR-3HS had the same number of transmitted request messages whereas NDMR-2HS generated the smallest number of the request message copies. Numerically, for the simulation networks, MP-AODV and NDMR-3HS reduced the transmitted request messages by 68% compared with AODVM; meanwhile, NDMR-2HS reduced the transmitted request messages by 48% compared with MP-AODV and 83% compared with AODVM. As a result, MP-AODV and NDMR-3HS reduced the transmitted control messages by 72% compared with AODVM whereas NDMR-2HS reduced the transmitted control messages by 44% compared with MP-AODV and 84% compared with AODVM, as shown in Figure 6b.
The more control messages were transmitted, the more the control messages were received. Line graphs in Figure 7a,b provide information on request messages and all control messages that were received at nodes in the simulation networks. Since AODVM re-transmitted too many request messages, there were a huge number of request messages received at nodes in the network. MP-AODV and NDMR-3HS had the same number of control messages received in the networks. NDMR-2HS had the fewest received control messages. Numerically, for the simulation networks, MP-AODV and NDMR-3HS reduced the received request messages and the received control messages by 70% and 74%, respectively, compared with AODVM; meanwhile, NDMR-2HS reduced the received request messages and the received control messages by 48% and 42%, respectively, compared with MP-AODV and 84% and 85%, respectively, compared with AODVM.
Both MP-AODV and NDMR discover and establish two node-disjoint paths between a source and a destination. These approaches find similar node-disjoint paths. The MP-AODV route discovery, however, is a four-way handshake process whereas the route discovery of NDMR is a two-way or three-way handshake process. Therefore, NDMR reduces the route discovery time compared with MP-AODV. In other words, NDMR establish the node-disjoint paths much faster than MP-AODV. Numerically, for the simulation networks, NDMR-3HS reduced the route discovery time by about 25%, and NDMR-2HS reduced the route discovery time by about 50% compared with MP-AODV, as shown in Figure 8.

Conclusions
In this paper, we have proposed a novel on-demand node-disjoint multipath routing approach called NDMR. The proposed approach finds two node-disjoint paths between a source and a destination in a wireless network using the request-reply mechanism. By using a two-way or three-way handshake route discovery process and discarding duplicates of request messages at nodes in the network, NDMR significantly reduces the control overhead as well as decreasing the time needed for discovering routes when compared with existing node-disjoint route discovery approaches, such as AODVM and MP-AODV. Numerically, for simulation networks used in this paper, NDMR-2HS reduced the received control messages by 42% compared with MP-AODV and NDMR-3HS and by 85% compared with AODVM. Additionally, NDMR and MP-AODV can discover and establish similar node-disjoint paths, but NDMR-2HS reduced the route discovery time by 50% and NDMR-3HS reduced it by 25% when compared with MP-AODV. These features make NDMR suitable for applications that require fault tolerance in MANETs and WSNs.
Our future work is to develop and implement the proposed approach in hardware devices to evaluate and compare its performance in the real environment of wireless networks.