Open Access

A robust cross-layer metric for routing protocol in mobile wireless ad hoc networks

  • Lorenzo Mucchi1Email author,
  • Luigi Chisci2,
  • Luca Fabbrini1 and
  • Giulio Giovannetti1
EURASIP Journal on Advances in Signal Processing20122012:170

Received: 23 November 2011

Accepted: 26 July 2012

Published: 16 August 2012


In a mobile ad-hoc network (MANET) where Mobile Nodes (MNs) self-organize 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 time-varying channels, and nodes subject to high loading. In this article, a novel robust routing protocol, named distributed X-layer fastest path (DXFP), is proposed. The protocol is based on a cross-layer metric which is robust against the time-variations 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 on-demand distance vector, showing significant improvements in performance and robustness.


Ad hoc networkRouting protocolCross-layer metricRobustnessWireless communication


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 so-called 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 (table-driven 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 on-demand 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 promiscuous-mode listening. The dynamic MANET on-demand (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 above-mentioned 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, Associativity-Based Routing)[11] and System Stability-based Adaptive (SSA) routing[12]) have been proposed more recently. Given the improvements related to cross-layer 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 Channel-switching (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.,[1626]. In particular, in[23] a new protocol, named Flow-Oriented 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 hop-by-hop 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 X-layer 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 cross-layer 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 cross-layer 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 G = ( N , L ) , where N is the set of nodes representing terminals and L is the set of links among terminals. Moreover, a metric function c : L R + that associates a nonnegative cost to each arc is introduced. Given two nodes i , j N , P i , j will denote the set of paths from source i to destination j. A path p P i , j is represented by an ordered sequence of nodes, i.e., p = {n1,…,n|p|} where n1 = 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:
C ( p ) = i = 1 | p | 1 c n i , n i + 1 .
The routing problem from source i to destination j consists of finding, in the graph G , the path p from i to j of minimal cost, i.e.
p = arg min p P i , j C ( p ) .

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 so-called 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 destination-oriented, DXFP is flow-oriented 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 source-destination flow and chooses to forward the packets of the given flow through the path of minimal cost. Flow-oriented 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 flow-oriented 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 cost-to-go 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 sub-path 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 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 T ¯ i , j = W ¯ i + R ¯ i , j where W ¯ i is the average waiting time in the queue at node i and 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.


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 (jittera), 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.
Table 1

DXFP messages and related fields


Field (header andtype are common to all messages)















Table 2

Message fields description





8 bit

General purpose currently not used


3 bit

Indicating the type of control message among the 6 possibilities listed above


8 bit

Used to identify a message which has the same purpose


32 bit

Carrying the IP address of the source


32 bit

Carrying the IP address of the destination


32 bit

Used to define the node which has started a path testing


8 bit

Storing the number of hops that the control message has undergone


64 bit

Carrying the metric related to the path that the control message has done


(32 ·hop) bit

The nodes append here their IP address

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 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 cross-layer approach.

Each node considers as neighbors only the nodes for which the associated link satisfies PER < PERth, where PERth is the maximum PER that a receiver can tolerate to guarantee a correct reception of messages.

In order to face the high time-variability 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 packetb) 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 PERpenalty = 2·PERth. 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 switched-off, 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 E ( i ) of node i N consists of K entries representing different paths passing through node i and relative to active source-destination flows. The k th entry of the routing table (k = 1,…,K) is a quadruple of the form e k ( i ) = ( S k ( i ) , D k ( i ) , H k + ( i ) , C k ( i ) ) where the pair (S k (i),D k (i)) specifies the source-destination flow relative to the path associated to e k (i), the node H k + ( i ) is the next hop of node i along the path associated to e k (i) and the nonnegative scalar C k (i) is the cost-to-go, from node i to the destination D k (i), of the path associated to e k (i). The routing table E ( i ) is organized so that all path entries referring to the same source-destination flow are contiguous and ordered according to the increasing cost-to-go.

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 source-destination 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:

  • V ( i ) N is the set of neighbors of node i, i.e. the subset of nodes directly connected to node i N ;

  • T i , j R + is the transition cost from node i to node j V ( i ) ;

  • J h ( i ) 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


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 V ( D ) an RREP with J(D) = 0 and p(D) = {D}.

Any node i, receiving from a node l V ( i ) 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)←Ti,l + J(l)


J h (i)←min{Ti,l + J(l),Jh−1(i)}

end if

if J h (i) ≠ Jh−1(i) or h=1then

H 1 + ( i ) l

if iS then

send (unicast) to all j V ( i ) p ( l ) 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
J h ( i ) min T i , l + J ( l ) , J h 1 ( i ) .

Notice that a node i sends an RREP to the only nodes j V ( i ) p ( l ) 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 source-destination 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, E ( i ) 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 e1(i)

for k = 2 to | E ( i ) | do

send RTEST (unicast) with f(i) = {i} to H k + ( i )

if RTEST_Ack received in time then T < NewTestDelay



delete e k (i)

end if

end for

if iS then

send (unicast) RERR to H(i)


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 jD then

send (unicast) RTEST with f(j) = {f(i),j}to H 1 + ( j )


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 cost-to-go to D because it knows both the mean waiting time W ̄ i of its queue and the mean time 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 P S , D connecting the given source S N and destination D N , DXFP selects the one, p, with minimum cost C(p), i.e.,
p = arg min p P S , D C ( p ) .

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 shortest-path problem will be provided below.

Dynamic programming approach to shortest-path

In this article, the well-known Bellman’s dynamic programming method is recalled and adopted to mathematically prove that our DXFP finds in a distributed way the optimal source-destination 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 ci,j denote the cost to pass from node i to node j and let us admit ci,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,j1,j2,…,j k ,i}, starting and ending with the same node i, cannot have a negative cost.

As the graph 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 self-connections in node i with associated cost c ii = 0. In other words, a path with less than N hops will contain self-transitions in it; clearly each self-connections is associated to a null cost so that its inclusion cannot reduce the cost. Hereafter, let J k (i) denote the optimal cost-to-go from node i to the destination D in N-k hops, for k = 0,1,…,N−1; clearly J0(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:
J k ( i ) = min j N c i , j + J k + 1 ( j )
for k = 0,1,…,N−1 and for all i N . The initial condition is given by:
J N ( i ) = 0 , i = D , i D i N

The optimal strategy at the node i after k hops is therefore to move towards the node j minimizing ci,j + Jk + 1(j) with respect to j N . As previously observed, if the algorithm finds self-transitions, it means that the optimal path contains less than N hops.

Proof of DXFP optimality


DP, being a centralized algorithm, applies (5) to all nodes i 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 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 ci,j.

Hence, (5) becomes
J k ( i ) = min l V ( i ) i c i , l + J k + 1 ( l ) .
In a similar way, (7) needs only to be applied to the nodes l for which Jk + 1(l)≠, from which (7) becomes
J k ( i ) = min l L k + 1 ( i ) i c i , l + J k + 1 ( l ) ,

where L k + 1 ( i ) V ( i ) is the set of nodes l for which a path to D of length Nk−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


J t (i)←Jk + 1(i)

for all l L k + 1 ( i ) do

tt + 1;

J t (i)←min[ci,j + J(l),Jt−1(i)]

end for

J k ( i ) J | L k + 1 ( i ) | ( i )

Notice that the main operation of the above cycle is
J t ( i ) min c i , j + J ( l ) , J t 1 ( i )

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 Nk−1, then the nodes l V ( i ) from which node i receives replies (RREP) form the set L k + 1 ( i ) 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
T ¯ = W ¯ + R ¯

given by the sum of the average waiting time W ¯ at the link origin plus the average transmission time R ¯ over the link, where T ¯ E T , W ¯ E W and R ¯ E R .

Average queue waiting time W ¯

As far as the average waiting time W ¯ is concerned, the well known Little’s law[30] yields Q ¯ = λ ¯ W ¯ where Q ¯ is the expected number of users in the queue, λ ¯ is the average arrival rate in the queue and W ¯ is the expected waiting time of an user in the queue.

Hence, W ¯ can be simply computed by monitoring the queue evolution in time. In fact,
W ¯ ( t ) = k = 1 α ( t ) W k α ( t ) = 0 t Q ( τ ) d τ α ( t ) ,

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 piecewise-constant 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 steady-state 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 R ¯

The average transmission time R ¯ depends on the link PER, which is the probability of not receiving a packet correctly and, supposing channel bi-directionalityc, 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 L B where L is the length (in bits) of the packet at the physical layer, B is the transmission rate (in bit/s), 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
R ¯ = E X L B = E [ X ] L B = 1 p · L B = 1 1 PER L B .

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 T ¯

Considering nodes i and j, the metric associated to the link (i,j) is given by
T ¯ i , j = W ¯ i + R ¯ i , j = 0 t Q i ( τ ) d τ α i ( t ) + 1 1 PER i , j L B ,

where W ¯ i is the average waiting time in the queue of node i; R ¯ i , j is the average transmission time on the link (i,j); PERi,jis 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 cross-layer metric (13) takes into account power consumption of the nodes indirectly in the terms W ¯ i (the lower is the queue, the lower is the energy required to transmit the queued packets) and 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 W ¯ allows to penalize congestioned nodes characterized by high values of 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 built-in 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.
Table 3

DXFP simulation parameters






Used to evaluate neighbor nodes



Used when a HELLO is not received from a neighbor during the set period


5 s

Transmitting period of a HELLO message


0.1 s

Maximum waiting time for an RREP by the source. It is exponentially (base 2) incremented.


0.1 s

Maximum waiting time for an RTEST_Ack by a node which is performing a Route Backup Test

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.
Table 4

Performance comparison in a scenario with channels of different quality





Mean delay (ms)




Standard deviation (ms)




MAC loss rate (%)












Periodic signalling


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 protocol-delayed packets per node (1.46%), while AODV and DSR show less than 4 protocol-delayed 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 11-bit long at network level so that the overall network load is only slightly increased.


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 14-times smaller than AODV.
Table 5

Mean delay and number of route discoveries in full mobility scenario


Mean delay (ms)


Throughput (%)

Mean delay (ms)


Throughput (%)

Mean delay (ms)


Throughput (%)































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.
Table 6

Performance comparison in partial mobility scenario




Mean delay (ms)



Standard deviation (ms)






Periodic signalling


Route Discovery



Throughput (%)



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.
Figure 1

Throughput as a function of time in the high mobility scenario with fixed terminals.

When a segment of fixed terminals is present in the network, the signalling load of DXFP is 10-times 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.


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), 20-times less than AODV.
Table 7

Performance comparison in congestioned scenario





Mean delay (s)




Standard deviation (s)








Periodic signalling


Throughput (%)




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%.
Figure 2

Throughput as a function of time in the scenario with congestion.


In this article, a new routing protocol for wireless ad hoc networks, called Distributed X-Layer 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 time-variability 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 cross-layer 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 above-mentioned features, DXFP could be a promising candidate as routing protocol for future wireless ad hoc networks.


aIn our experiments the jitter was set as a random variable uniformly distributed between 0 and 3 ms.

bIt should be noticed that this value is a typical routing entry time-to-live value of DSDV protocol or ACTIVE-ROUTE-TIMEOUT value of AODV protocol.

cThe assumption of bidirectional links is needed in our implementation since the quality indicator PERi,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 PERi,j≠PERj,i but in wireless communications channel reciprocity is a rather frequent assumption (see, e.g.,[33]).


Authors’ Affiliations

Department of Electronics and Telecommunications, University of Florence, Italy
Department of Systems and Computer Engineering, University of Florence, Italy


  1. Hossain E, Palit RP, Thulasiraman P: Clustering in mobile wireless ad-hoc networks. Wireless Communications Systems and Networks 2004. pp. 383–424Google Scholar
  2. Saeed N, Abbod MF, Al-Raweshidy HS: Manet routing protocols taxonomy. Future Communication Networks (ICFCN), 2012 International Conference April 2012, 123-128. 10.1109/ICFCN.2012.6206854View ArticleGoogle Scholar
  3. Corson S, Macker J: Mobile ad-hoc network (MANET): routing protocol performance issues and evaluation considerations. RFC 2501 Informational January 1999. []Google Scholar
  4. Abolhasan M, Wysocki T, Dutkiewicz E: A review of routing protocols for mobile ad hoc networks. Ad Hoc Netw 2004, 2(1):1-22. [] [] 10.1016/S1570-8705(03)00043-XView ArticleGoogle Scholar
  5. Royer E, Toh C-K: A review of current routing protocols for ad hoc mobile wireless networks. Personal Commun. IEEE 1999, 6(2):46-55. 10.1109/98.760423View ArticleGoogle Scholar
  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. []Google Scholar
  7. Perkins C, Royer E, et al.: Ad-hoc on-demand distance vector routing. IEEE Workshop on Mobile Computing Systems and Applications 1999. Proceedings. WMCSA ’99. Second IEEE Workshop on 25-26 February 1999, pp. 90–100. 10.1109/MCSA.1999.749281Google Scholar
  8. Perkins C, Royer E, Das S: Ad hoc on-demand distance vector (AODV) routing. RFC 3561 Experimental July 2003. []Google Scholar
  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/s11036-009-0174-5Google Scholar
  10. Lee S, Gerla M: AODV-BR: backup routing in ad hoc networks. IEEE Wireless Communications and Networking Conference 2000. WCNC. 2000 IEEE vol. 3, September 2000, 1311-1316. 10.1109/WCNC.2000.904822Google Scholar
  11. Toh C: A novel distributed routing protocol to support ad-hoc 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, 480-486. 10.1109/PCCC.1996.493675Google Scholar
  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: 36-45. 10.1109/98.575990View ArticleGoogle Scholar
  13. De Couto DSJ, Agueyo D, Morris JBR: A high throughput path metric for multihop wireless routing. MobiCom 03 September 2003. pp. 14–19Google Scholar
  14. Draves JPR, Zill B: Routing in multi-radio, multi-hop wireless mesh networks. MobiCom 04 September 26–October 1 2004.Google Scholar
  15. Yang Y, Wang J, Kravets R: Designing routing metrics for mesh networks. IEEE Workshop on Wireless Mesh Networks (WiMesh) Sept. 2005.Google Scholar
  16. Perkins CE, Bhagwat P: Highly dynamic destination-sequenced distance-vector routing (DSDV) for mobile computers. In Proceedings of the conference on Communications architectures, protocols and applications, ser. SIGCOMM ’94. ACM; 1994:234-244. []View ArticleGoogle Scholar
  17. Murthy S, Garcia-Luna-Aceves JJ: An efficient routing protocol for wireless networks. Mob. Netw. Appl 1996, 1(2):183-197. [] [] 10.1007/BF01193336View ArticleGoogle Scholar
  18. Johnson DB, Maltz DA: Dynamic source routing in ad hoc wireless networks. Mobile Computing 1996, 153-181. [] [] 10.1007/978-0-585-29603-6-5View ArticleGoogle Scholar
  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, 1405-1413. 10.1109/INFCOM.1997.631180Google Scholar
  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, 562-566. 10.1109/ICUPC.1997.627227Google Scholar
  21. Toh C-K: Associativity-based routing for ad hoc mobile networks. Wireless Personal Commun 1997, 4: 103-139. 10.1023/A:1008812928561View ArticleGoogle Scholar
  22. Sivakumar R, Sinha P, Bharghavan V: CEDAR: a core-extraction distributed ad hoc routing algorithm. IEEE J. Sel. Areas Commun 1999, 17(8):1454-1465. 10.1109/49.779926View ArticleGoogle Scholar
  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, 271-275. 10.1109/GLOCOM.1999.831647Google Scholar
  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, 1-10. 10.1109/WICOM.2010.5600909Google Scholar
  25. Souryal MR, Moayeri N: Channel-adaptive 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, 142-152. 10.1109/SAHCN.2005.1557070View ArticleGoogle Scholar
  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, 3517-3524. 10.1109/ICC.2006.255617View ArticleGoogle Scholar
  27. Nasipuri A, Castaneda R, Das SR: Performance of multipath routing for on-demand protocols in mobile ad hoc networks. Mob. Netw. Appl 2001, 6(4):339-349. 10.1023/A:1011426611520View ArticleMATHGoogle Scholar
  28. Bellman R: Dynamic Programming. 1957.MATHGoogle Scholar
  29. Bertsekas DP: Dynamic Programming and Optimal Control. 1995. pp. 1–37, 50–54MATHGoogle Scholar
  30. Kleinrock L: Queueing Systems. 1975. sec. 2.1, pp. 10–19MATHGoogle Scholar
  31. Ariza-Quintana ECA, Triviño-Cabrera 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–4Google Scholar
  32. Fabbrini L, Giovannetti G: DXFP Project Home Page, 2009, April. []
  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.Google Scholar


© Mucchi et al; licensee Springer. 2012

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.