 Research
 Open Access
 Published:
A robust crosslayer metric for routing protocol in mobile wireless ad hoc networks
EURASIP Journal on Advances in Signal Processing volume 2012, Article number: 170 (2012)
Abstract
In a mobile adhoc network (MANET) where Mobile Nodes (MNs) selforganize to ensure the communication over radio links, routing protocols clearly play a significant role. In future MANETs, protocols should provide routing under full mobility, power constraints, fast timevarying channels, and nodes subject to high loading. In this article, a novel robust routing protocol, named distributed Xlayer fastest path (DXFP), is proposed. The protocol is based on a crosslayer metric which is robust against the timevariations of the network as far as topology (mobility), congestion of the nodes and channel quality (fading, power constraints) are concerned. All these features are integrated in a single physical cost, i.e., the network crossing time, which has to be minimized. Furthermore, several routes from source to destination are stored for a given data flow to efficiently face the disconnections which frequently occur in MANETs. It is shown that the DXFP protocol, though locally operating in a fully distributed way within the MNs, provides, for each data flow, the optimum routes according to the considered metric. The DXFP protocol has been compared with two of the most commonly used routing protocols for MANETs, i.e., dynamic source routing and ad hoc ondemand distance vector, showing significant improvements in performance and robustness.
Introduction
Wireless ad hoc networks are typically seen as networks without a fixed infrastructure, where the mobile terminals cooperate to assure the correct work flow of the network communications[1].
In ad hoc networks, the mobile terminals communicate with each other directly with no central unit that coordinates the overall traffic. Each mobile terminal must implement routing functionalities for the other terminals in the network, thus allowing communication also between terminals that do not have a direct link. When no infrastructure is present, it is extremely important to select the sequence of terminals which allow the communication path from the source to the destination node properly. The socalled routing protocols handle the problem of choosing and maintaining the paths through time, even when changes of the network topology occur.
Routing protocols have different classifications in the literature[2]. We refer here to the IETF MANET Working Group classification[3] which subdivides protocols into proactive (tabledriven routing or source routing) and reactive (on demand or distributed routing) and considers a flat logic organization of the network where all the terminals have the same functionalities. In addition, hybrid schemes (or hierarchical routing) can be designed. Reactive protocols are very interesting for MANET applications because they send less control packets than proactive ones when the network topology changes frequently as typically occurs in MANETs. A survey of the current routing protocols based on routing philosophy structure can be found in[4, 5].
In the literature, the first protocol to be introduced was dynamic source routing (DSR)[6] in which each packet transmitted by the source includes the complete path to the destination. Afterward, the ad hoc ondemand distance vector (AODV) protocol[7, 8] was designed. This protocol uses a routing table and performs better than DSR, but is more difficult to implement because it uses advanced features like timers, sequence numbers, and promiscuousmode listening. The dynamic MANET ondemand (DYMO)[9] protocol is a tradeoff between the low complexity of DSR and the higher performance of AODV. Normally, in all these protocols the mobile terminals store only one path from source to destination, but evolutions of both DSR[6] and AODV[10] protocols were proposed to have multiple routes stored in the terminals so that the secondary routes can be used as backup paths or to balance loads. In all the abovementioned protocols, the adopted metric is the number of hops which are needed to reach the destination node, i.e., a network layer metric.
A routing metric based only on the number of hops, however, is not able to take into account all the features of the future mobile terminals operating in ad hoc networks. If it is believed that more information has to be taken into account to make the routing protocol smarter and more efficient.
Simple protocols, which use information of other layers to decide the routing (e.g., ABR, AssociativityBased Routing)[11] and System Stabilitybased Adaptive (SSA) routing[12]) have been proposed more recently. Given the improvements related to crosslayer approaches, more advanced metrics, taking into account many other network parameters, have been proposed. In particular, expected transmission count (ETX)[13], expected transmission time (ETT)[14], weighted cumulative ETT (WCETT)[14], and Metric of Interference and Channelswitching (MIC)[15] have been designed for fixed ad hoc networks but not much is known about their performance in MANETs.
Several routing protocols have been previously proposed, e.g.,[16–26]. In particular, in[23] a new protocol, named FlowOriented Routing Protocol (FORP), for route rebuilding was proposed. FORP takes into account topology changes due to node mobility. In[24], the Zone Routing Protocol (ZRP) still for facing network topology changes due to node mobility was proposed. In[25], a protocol which takes into account the channel quality (large and small scale fading, and thus SNR) on a hopbyhop basis to select the best route from source to destination was presented. In[26], a protocol for maximizing the network lifetime in terms of energy consumption was proposed and discussed. The algorithm selects the best position for the nodes and thus the network topology to minimize the energy consumption for relaying the information of other nodes. The metric makes use of real parameters such as distances between nodes, mobility rates, and energy consumptions for the relaying of packets by assuming that the larger the queue (node congestion) the higher is the cost to transmit them.
In this article, a new routing protocol, called Distributed Xlayer Fastest Path (DXFP), is proposed. DXFP is designed to overcome the limitations of the current routing protocols for ad hoc networks as well as to fit the requirements for continuity and quality of service of the future wireless networks. The main features of DXFP are

adoption of a crosslayer metric;

implementation of a distributed algorithm which guarantees that the selected path is optimum according to the considered metric;

use of backup routes to give continuity to the connection;

implementation of a robust method for path discovery.
The proposed protocol is analyzed theoretically. Its optimality is demonstrated with respect to a generic additive metric. Moreover, simulation results show that the proposed DXFP protocol outperforms the most commonly used protocols DSR and AODV, especially in scenarios with congestions and mobile nodes in a low channel quality environment.
The rest of this article is organized as follows. In section “System model”, the system model is presented. In section “DXFP protocol”, the proposed protocol is introduced and the route discovery and maintenance are discussed. In section “Local connectivity management”, the optimality of the DXFP algorithm is discussed and in section “Routing metric”, the new crosslayer metric is presented. Section “Performance evaluation” shows a comparison between DXFP and existing protocols DSR and AODV by means of realistic simulation experiments. Finally, section “Conclusions” concludes the article.
System model
This section presents the network model which allows to mathematically formulate the routing problem.
The network is represented by a weighted graph$\mathcal{G}=(\mathcal{N},\mathcal{L})$, where$\mathcal{N}$ is the set of nodes representing terminals and$\mathcal{L}$ is the set of links among terminals. Moreover, a metric function$c:\mathcal{L}\to {\mathbb{R}}^{+}$ that associates a nonnegative cost to each arc is introduced. Given two nodes$i,j\in \mathcal{N}$,${\mathcal{P}}_{i,j}$ will denote the set of paths from source i to destination j. A path$p\in {\mathcal{P}}_{i,j}$ is represented by an ordered sequence of nodes, i.e., p = {n_{1},…,n_{p}} where n_{1} = i is the source, p is the number of path’s nodes (cardinality of p), n_{p} = j is the destination and any other nodes n_{ i }(i = 2,…,p−1) are called intermediate. Given the metric function c(·), the following cost is associated to the path p:
The routing problem from source i to destination j consists of finding, in the graph$\mathcal{G}$, the path p^{∗} from i to j of minimal cost, i.e.
DXFP protocol
DXFP is a reactive protocol, i.e., it looks for the path toward a destination node only when it needs to send data packets toward that node. Thanks to the periodical sending of short signalling messages each node is aware of its neighbors, i.e., the nodes which can be directly reached by a data packet. Each node calculates the socalled reachability parameter with respect to each neighbor. In particular, the reachability between two nodes connected by a single hop can be conventionally characterized by the packet error rate (PER) of the channel.
Whereas most existing routing protocols are destinationoriented, DXFP is floworiented in that packets are routed taking into account both source and destination. Moreover DXFP is a multipath routing protocol as it maintains multiple paths for the same sourcedestination flow and chooses to forward the packets of the given flow through the path of minimal cost. Floworiented routing has been adopted so as to cope in a better way with the high time variance of the network topology and of the link quality. According to the floworiented paradigm, whenever a new traffic session is initiated, a Route Discovery procedure is carried out on the basis of the most recent available network information. Moreover, it must be pointed out that the installation of a path modifies its quality, worsening the congestion of the terminals along the route. Hence, it is of paramount importance, for a correct operation, that each new traffic session probe the network state so as to be routed on the path of minimal delivery delay.
When a node S wants to reach a node D in the network, it starts the Route Discovery procedure by broadcasting a request packet which carries the address of D. The nodes receiving the request just forward it. When a request reaches the destination node, D answers by unicasting an answer packet towards the node from which it has received the request. The node which receives the answer writes its address in the packet, updates the packet metric, and forward the answer to all the neighbor nodes. Then, the node installs a path toward the destination for the flow identified by the pair (S,D). When an answer packet reaches the source S, S starts to send the data packets using the path associated to the received answer.
An intermediate node can receive more than one answer related to the same flow (S,D). In this case, the procedure of the intermediate node is to send the first received answer, minimizing the time needed to find a route between S and D. A subsequent answer will be sent toward the source S only if it yields an improvement in the metric field of the answer message, i.e., the value corresponding to the costtogo to destination D. All remaining answers will be stored in the routing table. Once the source receives the first route, it starts to send data packets through it. Then, S will evaluate the metric of each successive answer it will receive. If the metric of the incoming answer is better than the one it was using, S starts to send data packets using the new route.
It is important to note that in the routing table of each intermediate node i, associated to a flow (S,D), only the cumulative metric of the links of the subpath between i and D and the address of the next hop are stored.
The process of maintenance of the paths is called route maintenance and starts whenever a node i detects a link failure. In this case, the current route is deleted and node i tries to use the best backup route for the same flow (S,D). Before being used, the backup route is tested by sending a short control packet. If the control packet does not reach the destination, the tested route is deleted and the subsequent one is tested. In case all the backup routes do not work, an error packet is sent back to the source. A node receiving the error packet starts to test its own backup routes. If the error packet reaches the source and no working routes are found, then the source will start a new Route Discovery procedure.
It is important to note that the proposed protocol can work with any path metric provided that it is additive with respect to the links of the path. The metric used by DXFP is the (statistical) mean latency$\stackrel{\u0304}{T}$ that a packet undergoes from S to D. Given two intermediate nodes i, j and the link between them (i,j), the metric can be defined as${\overline{T}}_{i,j}={\overline{W}}_{i}+{\overline{R}}_{i,j}$ where${\overline{W}}_{i}$ is the average waiting time in the queue at node i and${\overline{R}}_{i,j}$ is the average time to send a packet through the link (i,j) successfully.
The following sections describe in detail how the proposed DXFP builds and maintains the routes.
Messages
This section describes the messages used by DXFP to fulfill the assigned routing requirements. These messages are referred to as control messages or signalling messages. The feature they have in common is that they are sent with a random delay uniformly distributed (jitter^{a}), in order to avoid that the messages generated by nodes having synchronous behavior collide in a random channel access network.
The messages of DXFP are:

Route REQuest (RREQ): Request message generated by the source. It goes through the network to inform the destination that a data flow must reach it.

Route REPly (RREP): Answer message generated by the destination of an RREQ. It crosses the network updating the routing tables. When an RREP reaches the source, the source is informed about the route to be used for sending the data flow.

Route ERRor (RERR): Error message generated by a node which tries to forward packets to some destination but has no available route.

Route TEST (RTEST): Test message generated by a node which has detected a broken link while sending packets. The message is forwarded to the destination to check its reachability.

Route TEST Ack (RTEST_Ack): Answer message generated by the destination of the RTEST. The message retraces back the path of the RTEST to inform the node that has generated the RTEST that the path is checked and available for the data flow.

HELLO: Broadcast message periodically generated by all the nodes. It informs a node about the presence of neighboring nodes. DXFP uses this message to measure the SINR and calculate the PER accordingly.
In Table1, all the messages used by DXFP are listed, while in Table2 the description of the functionality of each field is reported.
Local connectivity management
The local connectivity management consists of building a table in which, for each neighbor, the IP address and a measure of the quality of the associated link are stored.
DXFP uses the PER to characterize the link quality. This measure is obtained by means of the periodic HELLO messages. Each node A which receives a HELLO message from node B measures the signal to interference and noise ratio (SINR) of the link to estimate the associated PER. Each node, to carry out this calculation (which will be detailed in section “Average transmission time$\overline{R}$”), needs to know the packet length of the HELLO message, the modulation, the coding, and the measured SINR, which are assumed to be available at MAC level. It is important to point out that all the previous mentioned parameters are physical layer parameters, but we suppose to forward their values at MAC layer in order to implement the crosslayer approach.
Each node considers as neighbors only the nodes for which the associated link satisfies PER < PER_{th}, where PER_{th} is the maximum PER that a receiver can tolerate to guarantee a correct reception of messages.
In order to face the high timevariability of the channel, the measure of the PER is averaged over a suitable time window. In our experiments, every time a HELLO packet is received from a node, the mean PER is averaged over previously calculated PERs. The time window over which the average of PER is calculated is limited to 300 s, to follow the actual network state, i.e., any 300 s (any 60 receptions of the HELLO packet^{b}) the PER information is reset.
Using an average PER to characterize the quality of each neighbor link, it is important to manage the case that a HELLO message is not received during the preset time. So, in the case of missed HELLO packets, it has been decided heuristically to penalize the link by associating to it a PER_{penalty} = 2·PER_{th}. This choice is to strongly penalize the use of such a link. The fact that a HELLO message is not received can be due to several reasons, for example, the mobility of the neighbor terminal, the fact that it is switchedoff, its malfunction or a collision of the packet with other ones transmitted at the same time.
Routing table
Hereafter, a formal description of the routing table to be used in the subsequent algorithmic procedures is provided. The routing table$\mathcal{E}\left(i\right)$ of node$i\in \mathcal{N}$ consists of K entries representing different paths passing through node i and relative to active sourcedestination flows. The k th entry of the routing table (k = 1,…,K) is a quadruple of the form${e}_{k}\left(i\right)=\left({S}_{k}\right(i),{D}_{k}(i),{H}_{k}^{+}(i),{C}_{k}(i\left)\right)$ where the pair (S_{ k }(i),D_{ k }(i)) specifies the sourcedestination flow relative to the path associated to e_{ k }(i), the node${H}_{k}^{+}\left(i\right)$ is the next hop of node i along the path associated to e_{ k }(i) and the nonnegative scalar C_{ k }(i) is the costtogo, from node i to the destination D_{ k }(i), of the path associated to e_{ k }(i). The routing table$\mathcal{E}\left(i\right)$ is organized so that all path entries referring to the same sourcedestination flow are contiguous and ordered according to the increasing costtogo.
Route discovery
This section describes in detail the Route Discovery procedure. Just for the sake of simplicity but without any loss of generality, this section will make reference to a single sourcedestination flow (S,D). From the previous developments, it is clear that the algorithm consists of two steps: a Forward Step in which RREQ messages are propagated from the source to the destination and a Backward Step in which RREP messages are propagated backward from the destination to the source.
First, it is convenient to introduce the following notation:

$\mathcal{V}\left(i\right)\subseteq \mathcal{N}$ is the set of neighbors of node i, i.e. the subset of nodes directly connected to node$i\in \mathcal{N}$;

${T}_{i,j}\in {\mathbb{R}}^{+}$ is the transition cost from node i to node$j\in \mathcal{V}\left(i\right)$;

${J}^{h}\left(i\right)\in {\mathbb{R}}^{+}$ is the minimal cost to reach the destination D from the node i after the h^{th}reception of an RREP message;

p(i) is the path travelled by the RREP forwarded by node i.
It is assumed that RREQs and RREPs include all information necessary to be uniquely associated to a given flow (i.e., source, destination, and sequence number).
Forward step
The Route Discovery starts whenever the source S broadcasts an RREQ with destination D. Any intermediate node i, receiving the first RREQ, performs the actions described in Algorithm 1. If a given node receives multiple RREQ messages for the same flow (S, D), it processes only the one with highest sequence number and discards the others.
Algorithm 1  Forward Step
if i = D then
go to Backward Step
else
send RREQ (broadcast)
end if
Therefore, the main task of this Forward Step is that the source, by propagating an RREQ from S to D, communicates forward to the destination the need to start the Backward Step which performs the search of the shortest path. The Forward Step (RREQ propagation) is used only to inform the destination D about a request from the source S. Hence, only the first RREQ received from D is useful. All the other requests for the same flow (S,D) and with the same (or lower) sequence number are discarded by D. Moreover, to limit the Forward Step propagation, if an intermediate node has already received an RREP for the same flow (S,D) and with the same (or higher) sequence number, any RREQ of the corresponding forward step is discarded.
Backward step
D sends in unicast to all nodes$j\in \mathcal{V}\left(D\right)$ an RREP with J(D) = 0 and p(D) = {D}.
Any node i, receiving from a node$l\in \mathcal{V}\left(i\right)$ an RREP containing J(l) and p(l) carries out the steps of Algorithm 2.
Algorithm 2  Backward Step
if h = 1 then
J^{h}(i)←T_{i,l} + J(l)
else
J^{h}(i)←min{T_{i,l} + J(l),J^{h−1}(i)}
end if
if J^{h}(i) ≠ J^{h−1}(i) or h=1then
${H}_{1}^{+}\left(i\right)\leftarrow l$
if i ≠ S then
send (unicast) to all$j\in \mathcal{V}\left(i\right)\setminus \left\{p\left(l\right)\right\}$ an RREP with J^{h}(i) and p(i) = {i,p(l)}
end if
end if
The main operation, allowing the selection of the minimum cost path, is
Notice that a node i sends an RREP to the only nodes$j\in \mathcal{V}\left(i\right)\setminus \left\{p\left(l\right)\right\}$ so as to prevent the formation of cycles in the backward propagation of RREPs.
It is also worth to recall that in most MAC protocols for MANETs, unicast packets are acknowledged by means of a Link Layer Acknowledgment while broadcast packets are not acknowledged by receiving nodes. Hence, sending an RREP in unicast makes the Route Discovery procedure more robust as the information required for the choice of the best path is acknowledged and, in case of loss, retransmitted. Once the source S receives the first route through the reception of an RREP, it starts to send data packets through it. Then, S will evaluate the metric of each successive answer it will receive, which univocally corresponds to a new route. If the metric of the incoming answer is better than the previous one, S switches to the new route. Hence, just like in other reactive protocols, the source S uses the first route received to send initial data because, although suboptimal, it is certainly a good quality path and, in this way, it is possible to reduce network latency.
Route maintenance
Route maintenance is the mechanism by which the protocol reacts to the failure of a link along the path from the source to the destination, trying to recover the communication. To this end, the link diagnosis is carried out by exploiting the Link Layer Acknowledgment messages available in the most common MAC protocols. In reactive routing protocols, which do not have spare routes, whenever a node detects the failure of a link, it forwards an RERR toward the source which, in turn, will restart the Route Discovery procedure.
Due to the highly dynamic nature of MANETs, the activation of a new Route Discovery every time the used path fails, implies an excessive usage of the network resources as well as a drastic reduction of throughput during the recovery phases. A possible approach to reduce the Route Discovery rate is to store multiple paths for the same sourcedestination pair (possibly ranked in terms of path costs) and replace the best path currently used (whenever it becomes unusable) with the next path in the ranking; see, e.g.,[27].
Hereafter,$\mathcal{E}\left(i\right)$ will be used to denote, with a slight abuse of notation, just the portion of the routing table of node i relative to the data session (S,D). Furthermore, let us introduce:

the node H^{−}(i) preceding i along the path relative to the data session (S,D);

the path f(i) covered by an RTEST forwarded by node i;

the path r(j) covered by an RTEST_Ack sent by node j;

the maximum waiting time T allowed for the reception of an RTEST_Ack.
The Route Maintenance process is composed of four algorithms. The main one is Route Backup Test, which tests the reliability of backup routes, while the others (RTEST Management, RTEST_Ack Management, and RERR Management) support the management and propagation of the relative messages. These algorithms are described below.
Route backup test
Whenever a node i detects the failure of a link engaged in the data flow (S,D), the Algorithm 3 is performed.
Algorithm 3  Route Backup Test
delete e_{1}(i)
for k = 2 to$\left\mathcal{E}\right(i\left)\right$do
send RTEST (unicast) with f(i) = {i} to${H}_{k}^{+}\left(i\right)$
if RTEST_Ack received in time then T < NewTestDelay
break
else
delete e_{ k }(i)
end if
end for
if i ≠ S then
send (unicast) RERR to H^{−}(i)
else
go to Forward Step
end if
RTEST management
The intermediate node j, receiving an RTEST containing the path f(i), carries out the operations shown in Algorithm 4.
Algorithm 4  RTEST Management
if j ≠ D then
send (unicast) RTEST with f(j) = {f(i),j}to${H}_{1}^{+}\left(j\right)$
else
send (unicast) RTEST_Ack with r(i) = f(i) to last element of f(i)
end if
RTEST_Ack management
The intermediate node j, receiving an RTEST_Ack containing the path r(i), performs the actions described in Algorithm 5.
Algorithm 5  RTEST_Ack Management
if j ≠ first element of r(i) then
delete j from r(i)
send (unicast) RTEST_Ack containing r(i) to the new last element of r(i)
end if
RERR management
The intermediate node j, receiving a RERR, executes the Route Backup Test (Algorithm 3).
In order to send an RERR to the preceding node H^{−}(i) along the path, a node i will store the IP address associated to the MAC address of the node from which it received the last packet for that specific flow. Since the information of the preceding node is continuously updated, it is guaranteed that the RERR packet reaches the source also if there have been many link failures along the path from S to D.
It is important to point out that the Backward Step procedure starts when the destination D sends an RREP to its neighboring nodes. In the RREP message, D sets to zero the “metric” field of the message, storing the cost to reach destination. Then, receiving this RREP, a neighbor i of D updates the metric field and sends the updated RREP to its neighbors, except D. It should be noticed that node i has all necessary information to compute the costtogo to D because it knows both the mean waiting time${\stackrel{\u0304}{W}}_{i}$ of its queue and the mean time${\stackrel{\u0304}{R}}_{i,j}$ to transmit a packet to D. Then, each intermediate node receiving an RREP performs the same procedure of node i, until an RREP reaches the source S thus making the data flow start.
Optimality analysis
This section analyzes the optimality properties of the proposed DXFP routing protocol. The following result holds.
Theorem 1
The DXFP protocol provides a fully distributed solution of the shortest path problem in that among all paths$p\in {\mathcal{P}}_{S,D}$ connecting the given source$S\in \mathcal{N}$ and destination$D\in \mathcal{N}$, DXFP selects the one, p^{∗}, with minimum cost C(p^{∗}), i.e.,
Before giving a formal proof of the previous theorem, which relies on dynamic programming[28], a brief overview on dynamic programming applied to the solution of the shortestpath problem will be provided below.
Dynamic programming approach to shortestpath
In this article, the wellknown Bellman’s dynamic programming method is recalled and adopted to mathematically prove that our DXFP finds in a distributed way the optimal sourcedestination path according to the considered metric. Dynamic programming[29] has been introduced by Bellman[28] in 1957 for optimal control of dynamical systems. Hereafter, its application to the shortest path problem will be recalled. Let c_{i,j} denote the cost to pass from node i to node j and let us admit c_{i,j} = ∞ to take into account the possibility that i and j are not connected. The objective is to find the shortest path from each node i to a given destination D. It is assumed that there are no cycles with negative cost through the graph, i.e., a path {i,j_{1},j_{2},…,j_{ k },i}, starting and ending with the same node i, cannot have a negative cost.
As the graph$\mathcal{G}$ has N+1 nodes, any path (and hence also the optimal one) cannot have more than N hops, the case of exactly N hops corresponding to the situation in which the message crosses all nodes before reaching the destination. Hence, it is convenient to formulate the problem by considering only paths with exactly N connections by allowing also selfconnections in node i with associated cost c_{ ii }= 0. In other words, a path with less than N hops will contain selftransitions in it; clearly each selfconnections is associated to a null cost so that its inclusion cannot reduce the cost. Hereafter, let J_{ k }(i) denote the optimal costtogo from node i to the destination D in Nk hops, for k = 0,1,…,N−1; clearly J_{0}(i) is the optimal cost from i to D.
It is, therefore, possible to iteratively formulate the shortest path problem by dynamic programming as follows:
for k = 0,1,…,N−1 and for all$i\in \mathcal{N}$. The initial condition is given by:
The optimal strategy at the node i after k hops is therefore to move towards the node j^{∗} minimizing c_{i,j} + J_{k + 1}(j) with respect to$j\in \mathcal{N}$. As previously observed, if the algorithm finds selftransitions, it means that the optimal path contains less than N hops.
Proof of DXFP optimality
Proof
DP, being a centralized algorithm, applies (5) to all nodes$i\in \mathcal{N}$ and for any step k ∈ {0,1,…,N−1}. Conversely in DXFP, which is an algorithm fully distributed over the network nodes, (3) is applied from a given node$i\in \mathcal{N}$ only if a reply (RREP) message is received. Hereafter, it is shown how Equation (3) is the distributed implementation of the centralized optimization in (5).
Clearly, for a fixed node i, (5) needs only to be applied to the nodes j for which c_{i,j} ≠ ∞.
Hence, (5) becomes
In a similar way, (7) needs only to be applied to the nodes l for which J_{k + 1}(l)≠∞, from which (7) becomes
where${\mathcal{L}}_{k+1}\left(i\right)\subseteq \mathcal{V}\left(i\right)$ is the set of nodes l for which a path to D of length N−k−1 exists. Remind that the index k is reduced from N−1 down to 0. Performing the minimization (8) to get J_{ k }(i) is equivalent to executing the cycle of operations shown in Algorithm 6. □
Algorithm 6  Minimization
t←0
J^{t}(i)←J_{k + 1}(i)
for all $l\in {\mathcal{L}}_{k+1}\left(i\right)$ do
t←t + 1;
J^{t}(i)←min[c_{i,j} + J(l),J^{t−1}(i)]
end for
${J}_{k}\left(i\right)\leftarrow {J}^{\left{\mathcal{L}}_{k+1}\right(i\left)\right}\left(i\right)$
Notice that the main operation of the above cycle is
which coincides with the main optimization step (3) of the DXFP algorithm. Assuming that, for DXFP, a node i receives in finite time all replies relative to the paths which have the same length N−k−1, then the nodes$l\in \mathcal{V}\left(i\right)$ from which node i receives replies (RREP) form the set${\mathcal{L}}_{k+1}\left(i\right)$ and it is easy to see that the operations carried out by the DXFP procedure are equivalent to the cycle described above. This, in turn, proves that DXFP is nothing but a distributed implementation of the dynamic programming algorithm.
Routing metric
Let us now consider in more detail the routing metric. As previously mentioned, DXFP, from an operating point of view, is completely independent of the adopted metric provided that this is additive with respect to the link costs, as this guarantees the determination of the shortest path.
The metric proposed in this work considers, for a given hop (link), the average hop crossing time
given by the sum of the average waiting time$\overline{W}$ at the link origin plus the average transmission time$\overline{R}$ over the link, where$\overline{T}\triangleq E\left[T\right]$,$\overline{W}\triangleq E\left[W\right]$ and$\overline{R}\triangleq E\left[R\right]$.
Average queue waiting time$\overline{W}$
As far as the average waiting time$\overline{W}$ is concerned, the well known Little’s law[30] yields$\overline{Q}\phantom{\rule{1em}{0ex}}=\phantom{\rule{1em}{0ex}}\overline{\lambda}\phantom{\rule{1em}{0ex}}\overline{W}$ where$\overline{Q}$ is the expected number of users in the queue,$\overline{\lambda}$ is the average arrival rate in the queue and$\overline{W}$ is the expected waiting time of an user in the queue.
Hence,$\overline{W}$ can be simply computed by monitoring the queue evolution in time. In fact,
where W^{k} is the waiting time in the queue of the k th packet, α(t) is the number of packets arrived at time t and Q(t) is the number of queued packets at time t. Notice that Q(t) is a piecewiseconstant function and its integral can be easily calculated by the sum of the areas of rectangles while the number of arrivals α(t) can be simply counted. The value provided by (11) is just a time average which, assuming ergodicity and considering steadystate behavior (t→∞), converges to the expected value. In (11), it is necessary to assume that the queue buffer is large enough to avoid overflows; otherwise, an effective number of packets should be considered by taking into account the packet loss probability due to buffer overflow.
Average transmission time$\overline{R}$
The average transmission time$\overline{R}$ depends on the link PER, which is the probability of not receiving a packet correctly and, supposing channel bidirectionality^{c}, is assumed to be equal for the reverse link. As stated in section “Local connectivity management”, the PER is measured by means of the periodic HELLO messages. Each node A which receives a HELLO message from node B, measures the SINR of the link in order to analytically calculate the associated PER by means of a formula of the type PER=f(SINR) where the function f depends on the modulation, the transmitted energy per bit, the coding, etc. (all the typical parameters of a radio communication channel).
The total transmission time of a packet is equal to the time taken to physically transmit the packet for the number of times required for a correct reception of the packet, i.e.,$R=X\frac{L}{B}$ where L is the length (in bits) of the packet at the physical layer, B is the transmission rate (in bit/s),$\frac{L}{B}$ is therefore the nominal time to transmit a packet and X is the number of packet retransmissions. Since X is a random variable with geometric distribution modified by the parameter p=1−PER, while L and B are deterministic, the expected value of R is
Notice from (12) that the average transmission time decreases if PER decreases, tending to the nominal transmission time L/B for PER→0.
Considerations on the metric$\overline{T}$
Considering nodes i and j, the metric associated to the link (i,j) is given by
where${\overline{W}}_{i}$ is the average waiting time in the queue of node i;${\overline{R}}_{i,j}$ is the average transmission time on the link (i,j); PER_{i,j}is the PER associated to the link (i,j). It is worth to point out that the DXFP metric provides a better estimate of the network crossing time than ETT mainly for two reasons. First of all it takes into account the waiting time which a packet spends in each node. Second, the analytical calculation of the PER based on the measured SINR of the channel is preferable as it provides a better characterization of the channel quality, for ranking purposes, compared to the simple counting of missed HELLO packets.
Notice that the proposed crosslayer metric (13) takes into account power consumption of the nodes indirectly in the terms${\overline{W}}_{i}$ (the lower is the queue, the lower is the energy required to transmit the queued packets) and${\overline{R}}_{i,j}$ (the lower is the link quality, the higher the energy required to correctly transmit the packets). As a matter of fact, energy requirements could also be directly taken into account in the metric, e.g., including an additive penalty inversely proportional to the residual energy of the nodes, provided that such a quantity is available.
In this section, it has been shown how the link metric defined by (13) allows to account for the effects of congestion, node mobility, and channel quality simultaneously. In fact:

Congestion: the average waiting time$\overline{W}$ allows to penalize congestioned nodes characterized by high values of$\overline{W}$;

Mobility: averaging PER over a fixed time window, it is possible to avoid choosing links associated to mobile nodes, the quality of which is going to get worse because of mobility;

Channel Quality: PER provides a good measure of the link quality so that the presence of (1−PER)^{−1} in (13) penalizes links with low channel quality.
Performance evaluation
The DXFP protocol was implemented in the OMNeT++ network simulator. The simulations are based on a network composed of terminals implementing a Constant Bit Rate (CBR) application, the UDP protocol as transport layer, IP at network level and IEEE 802.11 g as the only radio technology available for ad hoc networks.
Each simulation was carried out by varying the speed and the congestion degrees of the nodes as well as the quality of the channels. For each simulation, DXFP was compared with DSR and AODV which are nowadays the main routing protocols for wireless ad hoc networks. OMNeT++ has builtin implementations of these two protocols[31] while in[32] the complete DXFP source code can be found. DXFP simulation parameters are shown in Table3, while for AODV and DSR the settings are those suggested in the relative RFCs.
Channel quality
The first experiment took into account a network with 23 fixed terminals, disposed as a grid (matrix). The terminals can have three different transmitting power levels: 1.60, 0.85, or 0.40 mW.
This case study allows to evaluate a network with channels of different qualities. A robust routing protocol should select the path through the terminals with highest power levels. In all the simulations carried out, it was shown that only DXFP always selects the path with highest channel quality, thus giving the best performance in terms of QoS.
In Table4, it is shown that the DXFP provides the lowest delivery delays, in terms of mean and variance, since it is characterized by the lowest number of retransmissions and MAC loss rate, where the MAC loss rate is calculated as the number of received packets with error over the total number of packets. In particular, DXFP exhibits a number of retransmissions four times lower than AODV and nine times lower than DSR.
For what concerns the signalling load, defined as the average number of control packets generated per node, it is clear from Table4 that the DXFP performance is comparable to the ones of DSR and AODV. Upon a total number of 3,760 data packets DXFP shows less than 55 protocoldelayed packets per node (1.46%), while AODV and DSR show less than 4 protocoldelayed packets (0.11%). The exceeding 50 packets of DXFP are due to the periodic signalling required to maintain local connectivity. These control packets are only 11bit long at network level so that the overall network load is only slightly increased.
Mobility
In this section, the performance of the protocols are compared when the network nodes are characterized by high mobility. The scenario consists of 22 mobile terminals. Each node can have a speed equal to 1, 2.5, or 5 m/s.
As shown in Table5, the performance of DSR, in terms of percentage throughput, decreases significantly as the speed of the nodes increases. The percentage throughput is defined as the number of packets received by the destination over the number of packets sent by the source. DSR is totally inefficient for node speeds greater than 1 m/s. AODV and DXFP, on the contrary, show higher performance. DXFP, compared to AODV, is able to deliver packets with less route discoveries (see Table5), because of using backup routes and the selection of more robust paths. Moreover, DXFP always provides the lowest mean delays and, in particular, in the case of node speeds equal to 5 m/s, DXFP provides a mean delay about 14times smaller than AODV.
The fact that DXFP is able to select more robust paths becomes clearer if we insert a possible path between source and destination through fixed terminals in the scenario where nodes have 5 m/s speed. In this new context (partial mobility scenario), DXFP is able to select the path composed by fixed terminals only at the first path discovery, compared to the 52 of AODV (Table6). Moreover, the performance of DXFP in terms of throughput is optimal (Table6), as all the packets (100%) are correctly delivered.
AODV has good performance too, although the analysis of the throughput as a function of time (Figure1) shows that the paths selected by AODV have continuous losses during the overall simulation. This means that the selected paths are not the best. Moreover, DXFP exhibits the lowest delays (Table6). In this case, the performance of DSR is significantly worse than the ones of DXFP and AODV, and, therefore, was not included in the comparison.
When a segment of fixed terminals is present in the network, the signalling load of DXFP is 10times smaller than the AODV’s one (Table6), apart from the periodic component.
Moreover, DXFP runs only one Route Discovery procedure, compared to more than 50 of AODV, showing as AODV does not select the most robust paths.
Congestion
In the last scenario, proposed to compare the performance of the protocols, the network has a zone where the nodes are congested due to high queue loads. In this case, simulation results show that DXFP is able to select the path which avoids such a zone.
The performance in terms of throughput is shown in Table7. DXFP yields the best performance, allowing the delivery of over 95% correct packets with the lowest delays (Table7), 20times less than AODV.
The signalling of DXFP is higher (Table7) because the network has a high density of terminals and so the answer messages have to be transmitted to a lot of neighboring nodes during the Route Discovery procedure.
The throughput as a function of time is shown in Figure2. As it can be seen, once DXFP has obtained the access to the channel it does not undergo any loss, while AODV continuously loses packets, showing asymptotically a maximum throughput of approximately 80%.
Conclusions
In this article, a new routing protocol for wireless ad hoc networks, called Distributed XLayer Fastest Path (DXFP), has been presented. The proposed protocol was designed to overcome the limitations of most existing routing protocols which typically use network layer metrics, like the number of hops, that are not adequate for emerging wireless ad hoc networks. Full mobility, extreme environments, high timevariability of the channel, high loads of the nodes, are some of the main issues that the future wireless ad hoc networks have to cope with. Maintaining the quality of service in highly critical and time varying scenarios is clearly of extreme importance and a hard task to handle. So, robustness is one of the key features of the design of the new protocol. For these reasons, special emphasis on robustness has been posed in the design of the proposed DXFP protocol.
The specific crosslayer metric adopted for DXFP is able to take into account—in a single quantity to be minimized (the latency of the network)—fundamental issues such as user mobility, node congestion and channel quality thus allowing to deliver packets with less delay and higher throughput.
It was demonstrated analytically that DXFP, despite of its fully distributed nature, is able to select the path with minimum cost.
Simulations extensively carried out by means of OMNeT++ show that the DXFP always performs better than the existing protocols DSR and AODV, especially in scenarios with congestions and mobile nodes in a low channel quality environment. The only price to be paid for the performance enhancement is the higher signalling load, but it is important to point out that the signalling messages consist of a few bits, and therefore they only add a negligible load to the network.
Thanks to all the abovementioned features, DXFP could be a promising candidate as routing protocol for future wireless ad hoc networks.
Endnotes
^{a}In our experiments the jitter was set as a random variable uniformly distributed between 0 and 3 ms.
^{b}It should be noticed that this value is a typical routing entry timetolive value of DSDV protocol or ACTIVEROUTETIMEOUT value of AODV protocol.
^{c}The assumption of bidirectional links is needed in our implementation since the quality indicator PER_{i,j} of the channel (i j) between node i and j is measured on the reverse link (j i) by means of the received HELLO packet. This assumption allows us to implement an effective connectivity management system. Nevertheless, we are aware that in general PER_{i,j}≠PER_{j,i} but in wireless communications channel reciprocity is a rather frequent assumption (see, e.g.,[33]).
References
 1.
Hossain E, Palit RP, Thulasiraman P: Clustering in mobile wireless adhoc networks. Wireless Communications Systems and Networks 2004. pp. 383–424
 2.
Saeed N, Abbod MF, AlRaweshidy HS: Manet routing protocols taxonomy. Future Communication Networks (ICFCN), 2012 International Conference April 2012, 123128. 10.1109/ICFCN.2012.6206854
 3.
Corson S, Macker J: Mobile adhoc network (MANET): routing protocol performance issues and evaluation considerations. RFC 2501 Informational January 1999. [http://www.ietf.org/rfc/rfc2501.txt]
 4.
Abolhasan M, Wysocki T, Dutkiewicz E: A review of routing protocols for mobile ad hoc networks. Ad Hoc Netw 2004, 2(1):122. [http://www.sciencedirect.com/science/article/pii/S157087050300043X] [] 10.1016/S15708705(03)00043X
 5.
Royer E, Toh CK: A review of current routing protocols for ad hoc mobile wireless networks. Personal Commun. IEEE 1999, 6(2):4655. 10.1109/98.760423
 6.
Johnson D, Hu Y, Maltz D: The dynamic source routing protocol (DSR) for mobile ad hoc networks for IPv4. RFC 4728 Experimental February 2007. [http://www.ietf.org/rfc/rfc4728.txt]
 7.
Perkins C, Royer E, et al.: Adhoc ondemand distance vector routing. IEEE Workshop on Mobile Computing Systems and Applications 1999. Proceedings. WMCSA ’99. Second IEEE Workshop on 2526 February 1999, pp. 90–100. 10.1109/MCSA.1999.749281
 8.
Perkins C, Royer E, Das S: Ad hoc ondemand distance vector (AODV) routing. RFC 3561 Experimental July 2003. [http://www.ietf.org/rfc/rfc3561.txt]
 9.
Sommer C, Dietrich I, Dressler F: Simulation of ad hoc routing protocols using OMNeT++: a case study for the DYMO protocol. ACM/Springer Mob. Netw. Appl (MONET) (Special Issue on Simulation Techniques & Tools for Mobile Networking). 2009. 10.1007/s1103600901745
 10.
Lee S, Gerla M: AODVBR: backup routing in ad hoc networks. IEEE Wireless Communications and Networking Conference 2000. WCNC. 2000 IEEE vol. 3, September 2000, 13111316. 10.1109/WCNC.2000.904822
 11.
Toh C: A novel distributed routing protocol to support adhoc mobile computing. IEEE International Conference on Computers and Communications 1996, Conference Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Conference on 27–29 March 1996, 480486. 10.1109/PCCC.1996.493675
 12.
Dube R, Rais CD, yeh Wang K, Tripathi SK: Signal stability based adaptive routing (SSA) for ad hoc mobile networks. IEEE Personal Commun 1997, 4: 3645. 10.1109/98.575990
 13.
De Couto DSJ, Agueyo D, Morris JBR: A high throughput path metric for multihop wireless routing. MobiCom 03 September 2003. pp. 14–19
 14.
Draves JPR, Zill B: Routing in multiradio, multihop wireless mesh networks. MobiCom 04 September 26–October 1 2004.
 15.
Yang Y, Wang J, Kravets R: Designing routing metrics for mesh networks. IEEE Workshop on Wireless Mesh Networks (WiMesh) Sept. 2005.
 16.
Perkins CE, Bhagwat P: Highly dynamic destinationsequenced distancevector routing (DSDV) for mobile computers. In Proceedings of the conference on Communications architectures, protocols and applications, ser. SIGCOMM ’94. ACM; 1994:234244. [http://doi.acm.org/10.1145/190314.190336]
 17.
Murthy S, GarciaLunaAceves JJ: An efficient routing protocol for wireless networks. Mob. Netw. Appl 1996, 1(2):183197. [http://dx.doi.org/10.1007/BF01193336] [] 10.1007/BF01193336
 18.
Johnson DB, Maltz DA: Dynamic source routing in ad hoc wireless networks. Mobile Computing 1996, 153181. [http://dx.doi.org/10.1007/97805852960365] [] 10.1007/97805852960365
 19.
Park VD, Corson MS: A highly adaptive distributed routing algorithm for mobile wireless networks. INFOCOM ’97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings IEEE vol. 3, April 1997, 14051413. 10.1109/INFCOM.1997.631180
 20.
Haas ZJ: A new routing protocol for the reconfigurable wireless networks. IEEE 6th International Conference on Universal Personal Communications Record, 1997. Conference Record., 1997 IEEE 6th International Conference on vol. 2, 12–16 October 1997, 562566. 10.1109/ICUPC.1997.627227
 21.
Toh CK: Associativitybased routing for ad hoc mobile networks. Wireless Personal Commun 1997, 4: 103139. 10.1023/A:1008812928561
 22.
Sivakumar R, Sinha P, Bharghavan V: CEDAR: a coreextraction distributed ad hoc routing algorithm. IEEE J. Sel. Areas Commun 1999, 17(8):14541465. 10.1109/49.779926
 23.
Su W, Gerla M: IPv6 flow handoff in ad hoc wireless networks using mobility prediction. Global Telecommunications Conference, 1999. GLOBECOM ’99, vol. 1A, 1999. 1999, 271275. 10.1109/GLOCOM.1999.831647
 24.
SreeRangaRaju M, Mungara J: ZRP versus AODV and DSR: a comprehensive study on ZRP performance using QualNet simulator. 6th International Conference on Wireless Communications Networking and Mobile Computing (WiCOM), 2010. 23–25 September 2010, 110. 10.1109/WICOM.2010.5600909
 25.
Souryal MR, Moayeri N: Channeladaptive relaying in mobile ad hoc networks with fading. Second Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 2005. IEEE SECON 2005. September 2005, 142152. 10.1109/SAHCN.2005.1557070
 26.
Basagni S, Carosi A, Melachrinoudis E, Petrioli C, Wang ZM: A new MILP formulation and distributed protocols for wireless sensor networks lifetime maximization. IEEE International Conference on Communications, 2006. ICC ’06 vol. 8, June 2006, 35173524. 10.1109/ICC.2006.255617
 27.
Nasipuri A, Castaneda R, Das SR: Performance of multipath routing for ondemand protocols in mobile ad hoc networks. Mob. Netw. Appl 2001, 6(4):339349. 10.1023/A:1011426611520
 28.
Bellman R: Dynamic Programming. 1957.
 29.
Bertsekas DP: Dynamic Programming and Optimal Control. 1995. pp. 1–37, 50–54
 30.
Kleinrock L: Queueing Systems. 1975. sec. 2.1, pp. 10–19
 31.
ArizaQuintana ECA, TriviñoCabrera A: Implementation of MANET routing protocols on OMNeT++. Proc. First Int. Conf. on Simulation Tools and Techniques for Communications, Networks and Systems (SIMUTools) 2008. pp. 1–4
 32.
Fabbrini L, Giovannetti G: DXFP Project Home Page, 2009, April. [http://code.google.com/p/dxfprouting/]
 33.
Kalliola K, Laurila J, Hugl K: Spatial reciprocity of uplink and downlink radio channels in FDD systems. Proc. of COST 273, Technical Report 2002.
Author information
Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Mucchi, L., Chisci, L., Fabbrini, L. et al. A robust crosslayer metric for routing protocol in mobile wireless ad hoc networks. EURASIP J. Adv. Signal Process. 2012, 170 (2012). https://doi.org/10.1186/168761802012170
Received:
Accepted:
Published:
Keywords
 Ad hoc network
 Routing protocol
 Crosslayer metric
 Robustness
 Wireless communication