Adaptive Probabilistic Flooding for Multipath Routing
Abstract
In this work, we develop a distributed source routing algorithm for topology discovery suitable for ISP transport networks, that is however inspired by opportunistic algorithms used in ad hoc wireless networks. We propose a plugandplay control plane, able to find multiple paths toward the same destination, and introduce a novel algorithm, called adaptive probabilistic flooding, to achieve this goal. By keeping a small amount of state in routers taking part in the discovery process, our technique significantly limits the amount of control messages exchanged with flooding – and, at the same time, it only minimally affects the quality of the discovered multiple path with respect to the optimal solution. Simple analytical bounds, confirmed by results gathered with extensive simulation on four realistic topologies, show our approach to be of high practical interest.
I Introduction
Reducing the overall power consumption of the Internet is a major challenge for future networking technologies. It is commonly accepted that a significant amount of power is consumed by the IP address lookup algorithm, which becomes prohibitive with the growing size of the routing tables. A viable option for telecom carriers and ISPs is to replace IGP routing by some appropriate level2 technology, thus forming full mesh subnetworks at the IP level. While Ethernet is a natural candidate, it still requires highly dynamic switching tables; moreover, path discovery is based on flooding, which doesn’t make it scalable.
In this paper, we focus on a novel level2 architecture that relies on the following key principles:

each source maintains a set of multiple distinct paths to each destination;

the header of each packet consists of a sequence of labels, one per node on the corresponding selected path;

each node receiving a packet (i) removes the first label of the header, if any, and forwards the packet accordingly (the node is a relay) (ii) sends it to the IP layer in the absence of label (the node is the destination).
Note that core nodes do not maintain routing tables, which avoid expensive address lookup algorithms. All routing information is contained in the packet itself. Paths are built and updated by the source nodes, which enables multipath routing. For instance, each source maintains a primary path to each destination (typically, the shortest path), as well as a secondary path in case of failure or traffic surge. Unlike traditional IP routing, this secondary path is always available, which enables fast restoration in case of failure.
A critical component of this architecture is the algorithm used to discover paths. We propose a novel flooding algorithm inspired by the opportunistic algorithms of peertopeer applications, which consists in adapting the flooding rate of core nodes to the number of already received discovery messages. We refer to this algorithm as adaptive probabilistic flooding. At the cost of a limited number of state variables in core routers, the algorithm is able to discover multiple paths in a quasioptimal way. Using analytical bounds, we prove that, unlike pure flooding, the algorithm scales with the network size.
Ii Related work
Routing is a critical component of the Internet, and as such has long been studied by the scientific community. The problem of finding a single path interconnecting any two nodes of a graph is solved by wellknown algorithms like Dijkstra and BellmanFord, which have been implemented in widely deployed protocols such as OSPF and RIP, respectively. However, interconnecting nodes through a single path (typically, the shortest) does not make the network resilient against failures and traffic surges. Hence, different techniques relying on multiple paths have been proposed. For instance, ECMP [HoppsRfc2992] aims at balancing load over multiple paths of equal cost. In standard IP/MPLS networks, the control and data planes are generally considered jointly; multipath routing is then achieved through a centralized algorithm, solving some standard multicommodity flow problem [Guerin97Globecom, Srihari01Iwqos].
In this work, we focus on the control plane and address the issue of the efficient discovery of multiple paths, as in [Ogier93IEETrans, Eppstein94Fcs, Sidhu91Sigcomm, Merindol09Infocom, Johnson07Rfc4728, Blesa04Evo, Chen02ANW, Chen98Infocom]. Some of the above papers consider the problem of finding a pair of disjoint paths between any two nodes within the network, considering that the primary (shortest) path is already known. In [Ogier93IEETrans, Eppstein94Fcs, Sidhu91Sigcomm], the problem is shown to boil down to a standard shortest path problem by some appropriate modification of the original graph. Ogier, Rutenburg and Shacham define in [Ogier93IEETrans] an algorithm that achieves such a graph modification and evaluates its performance in terms of communication, convergence time, and space complexity. Sidhu, Nair and Abdallah enhance this algorithm in [Sidhu91Sigcomm] by finding all possible disjoint paths between any two nodes of the network. Eppstein proposes in [Eppstein94Fcs] an algorithm that finds the first shortest paths between any two nodes by a breadth first search of a 4heap in which every node represents a path. Finally, works like [Merindol09Infocom] take a more practical approach, and enhance IP routing by means of centralized algorithms to determine disjoint paths, and distributing such paths through the routers taking care of avoiding loops.
The problem of finding multiple paths without any a priori knowledge such as the shortest path is quite different. Most algorithms then rely on flooding [Johnson07Rfc4728, Blesa04Evo, Chen02ANW, Chen98Infocom]. A swarm intelligence based solution is proposed with the Ant Colony Optimization (ACO) algorithm [Blesa04Evo], where a set of ants is spread through the network in order to discover disjoint multiple paths: the pheromone left by the ants is employed in order to avoid already crossed paths. In [Chen02ANW], a flooding algorithm on layered routing architecture is employed: the basic idea is to give a score to each packet and to decrease this score for each link on which the packet is flooded; only nodes along the best path can increase the score and reflood the packet. Authors in [Chen98Infocom] propose a strategy where a scout message walks through the network accumulating nodes discovered in the walk: nodes reflood the message only when the current discovered path differs significantly from the stored shortest path, allowing thereby to find multiple paths. In a very different context, namely adhoc wireless networks, floodingbased technique are exploited by Dynamic Source Routing (DSR) [Johnson07Rfc4728] where however multiple paths are not taken into account.
To the best of our knowledge, our approach introduces a number of novel ingredients. Similarly to DSR [Johnson07Rfc4728], in our approach the source inserts one label per node on the path to the destination, and the data plane forwards the packet by popping a label from the packet header at each hop. Unlike DSR, we don’t have collisions, or problems inherent to wireless networks, yielding to a radically different algorithm design. The adaptive probabilistic algorithm we propose greatly limits the number of exchanged messages, as in [Chen02ANW], without however requiring packets to carry the scores associated with the discovery algorithm. The limited amount of state kept by nodes is not used to avoid crossing already traveled paths as in [Blesa04Evo], but rather to avoid taking these paths too often, which has important consequences on the quality of the multiple paths discovered. Finally, unlike [Chen98Infocom], the algorithm does not rely on thresholdbased decisions, nor it depends on topological properties of the network – rather, its design makes it robust and autoterminating irrespectively of its actual parameter setting, with performance that degrades gracefully in case of parameter misguidance.
Iii Path discovery algorithm
Iiia Overview
We aim at designing a distributed algorithm for path discovery, capable of finding multiple, possibly disjoint paths between any pairs of nodes. To do so, each node periodically advertises its presence by means of some flooding procedure described below. Specifically, each node sends an advertisement message every seconds; typical values range from a few seconds to minutes [Srihari01Iwqos]. Besides, each node sends keepalive messages over each path in order to ensure that this path has not failed; the corresponding refresh messages are sent every secondes, typically set to a few milliseconds [Fouli09Ieeecm].
During the flooding procedure, each relay node adds its identifier to the advertisement messages it receives, so that these messages carry information concerning the whole traveled path. Upon reception of an advertisement message, a node learns a path from the source of this message, as well as from any intermediate node on this path, as in DSR [Johnson07Rfc4728]. Flooding decisions are taken independently by each node, and consitute the core of the algorithm. The main idea is that nodes need to flood a received message at least once, so that shortest paths are discovered. Nodes actually need to flood the message multiple times, in order to discover further paths beyond the shortest one. The number of flooding decisions is critical with respect to both the quality of the path discovery and the overhead of the algorithm.
A simple option could consist in including a Time To Leave (TTL) field in the packet, so as to interrupt the flooding process when some preconfigured maximum path length is reached. The selection of a proper TTL value is critical in this case: if the TTL is shorter than the graph diameter for instance, then connectivity cannot be guaranteed; if the TTL is too large, the overhead of the algorithm becomes prohibitive (as the number of relayed messages is exponential in the TTL).
We propose an alternative approach based on adaptive probabilistic flooding. Any node receiving some advertisement message from source floods this message the first time, and floods it with some decreasing probability the following times. Specifically, node floods an advertisement message generated by source node over all its links (except the one from which it has received the message) with probability:
(1) 
where is some fixed parameter and is a counter, stored at node , of the number of times node has already received an advertisement originated by node . The flooding decision are taken independently on each link, and the counter is reset periodically, as explained later. Note that node floods the first advertisement message it receives for source node since in this case. As further messages are received, flooding will become exponentially less likely, according to the backoff parameter . The quality of the path discovery is expected to increase with , at the expense of larger overhead. However, we shall see that performance is not very sensitive to this parameter, which makes the algorithm robust and pratically interesting.
IiiB Primary and secondary paths
Consider a network, modeled as an undirected graph , composed of routers, in which any pair of adjacent routers are connected by a single link for simplicity (the algorithm can be easily extended to the general case of multiple links between any pair of nodes). Between any two routers , we are interested in finding a pair of paths, i.e., sequences of edges connecting node to . We denote by and the primary and secondary paths, respectively, returned by the adaptive probabilistic algorithm on graph , as described below. We denote by and the respective lengths of these paths.
To gauge the quality of the primary and secondary paths found by our algorithm, we need to define target path properties. The primary path is expected to be the shortest path in number of hops; in other words, we say that is optimal if it belongs to the set of shortest paths from to in (as there may be several such paths). The secondary path is expected to minimize the similarity with the primary path, . Note that this choice reduces the share of faith between these paths, improving network resilience against failures and traffic surges.
To find the optimal secondary path , we consider a modified graph in which the cost of links along the primary path are increased by the network diameter [Ogier93IEETrans], and other link costs are unitary. As links belonging to are now discarded due to higher cost, running Dijkstra on we retrieve a path S’ minimizing the similarity function (notice that since nodes along the primary path are not removed from , they can be included in S’ only if strictly necessary as the path would otherwise be disconnected). We say that the secondary path found by the algorithm is optimal if and , i.e., the length of the secondary path is equal to the length of the optimal S′ (as there may be multiple disjoint paths minimizing the similarity with the shortest path).
IiiC Metrics
To precisely quantify the overhead vs path quality tradeoff early outlined, we resort to the following metrics. The average amount of messages handled by any given node during the advertisement procedure is denoted with . For each path, the refresh process then requires each node to send keepalive messages: we denote by the average number of such messages (counted once per every link traveled). The relative weigth of quantifies the overhead induced by the advertisement process.
In the following, we evaluate the algorithm in terms of connectivity along the primary and secondary path (i.e., whether paths and joining any two nodes exist) and optimality (i.e., whether and are optimal according to the above definitions). We express connectivity in terms of the probability (respectively, ) that, , nodes and are connected by some primary (respectively, secondary) path. We express optimality in terms of the probability (respectively, ) that the primary path is also the shortest (respectively, that the secondary path is the shortest, most diverse path).
IiiD Pseudocode
1: while {receiving message ADV} do
2:
3: for all { } do
4: if {} then
5: exit
// Break loop and abort flooding
6: else
7: d ADV.[i] // Destination
8: i
// Overhearing advertised paths from ADV;
9: if { } then
10:
// Update primary path
11: end if
12: if {} then
13:
// Update secondary path
14: end if
15: end if
16: end for
17: append to
18: s ADV.[0] // Source
19: for all { } do
20: if { } then
21: send ADV to w.p. // Adaptive probabilistic flooding
22: end if
23: end for
24: n++
// Update counter associated with source
25: end while

A pseudocode description of the algorithm is given in Fig. 1. A source node initiates the advertisement process by flooding an advertisement packet ADV to all its neigbors. The flooded packet contains a list of node identifiers , initially set to [0]= by the source, to which each node appends its own identifier. Upon reception of an advertisement packet ADV, a node learns a (backward) path to the source and to any intermediate node along the path. In case the receiver detects a loop (finding its identifier within the list), it discards the message and aborts the flooding procedure. Otherwise, it analyzes, and possibly stores, the newly learned path . Specifically, the primary (and secondary) path is first set if not existent yet. Also, if the newly overheard path is shorter than the primary path , then the primary path is updated with the overheard one. Similarly, if the overheard path has lower similarity than the current secondary path , or if it has equal similarity but is shorter than the secondary , then the secondary path is updated.
Notice that we expect messages on the shortest path to reach a node before messages that take longer paths: in case of homogeneous setup (i.e., equal latencies) this invariant always holds. As such, the shortest path is chosen relatively early in the advertisement process and is typically never changed later on, as its change would also affect the quality of the secondary path. Not shown in the pseudocode for the sake of clarity, ties in the secondary path selection are broken at random.
Finally, after having added its own identifier to the ADV., the node probabilistically floods the ADV message, with independent decisions per each neighbor (except the node ADV.[1] from which the message came), and update the persource counter . As we shall see, the duration of each discovery phase is much shorter than the discovery period , which implies that the counter can be safely reset for new discoveries.
Iv Performance evaluation
In this section, we first evaluate the overhead of the algorithm through a simple analytical model, and then employ discrete event simulation to validate the analysis and evaluate performance in terms of the quality of discovered paths.
Simulations are carried on with Omnet++ [Varga10Omnet] over four different network topologies, whose most significant properties are summarized in Tab. I. Specifically, Tab. I reports the number of nodes , the average and standard deviation of the node degree, and , the average length of the optimal primary and secondary paths, the diameter of the original grap and the largest diameter over the modified graphs.
Note that we consider both real network topologies (Tiger2 [tiger2], Abilene [abilene], Geant [geant]), corresponding to different segments, as well as a set of 50 synthetic random graphs (Random) whose number of nodes and degree distribution loosely fit the real topologies (in case of the Random topology, and are averaged over the 50 considered instances). All network topologies are well known except for Tiger2, that we depict in Fig. 2. For the time being, we use homogeneous settings (i.e., constant and equal delay on every link), and no failures happen within the network. The evaluation of more complex (heterogeneous delay, failures, etc.) scenarios is part of our ongoing work.
Network  Segment  N  

Tiger2 [tiger2]  metro  22  3.6  0.6  2.7  3.7  5  6 
Geant [geant]  aggregation  22  3.4  1.4  2.6  4.0  6  10 
Abilene [abilene]  core  11  2.6  0.5  2.4  4.2  5  8 
Random  synthetic  22  3.2  1.6  2.6  3.8  5.4  7.3 
Iva Overhead
Pure flooding generates a number of messages that is exponential in the number of nodes . Our adaptive probabilistic flooding algorithm is scalable in the sense that it generates only messages, as shown below, at the expense of counters, cf. (1).
Consider a single advertisement from some source node , and consider some relay node with degree . The first time node receives a ADV message originated by , it sends a copy on each output link, except the one where the ADV message has been received. This generates messages. The second time receives a ADV message from the same source, it will forward the message over each of the links with probability ; so, at second reception, node generates messages on average. Iterating and taking into account advertisement processes (one per each node), we bound the total number of control messages that are seen by the average node:
(2)  
(in other words, the whole network will carry messages for a full round of advertisement processes). Note that (2) is an upper bound since we do not account for the detection of loops, which reduces the actual number of transmitted messages. While it is in principle possible to refine the bound by considering the probability that loops form, this can be done in closed form only for simple topologies such as random graphs [janson94graphs]. Moreover, it turns out that this simple and conservative bound matches very well, as we will see, the empirical results found by simulation.
Note also that, as the first flood is always performed, convergence of the primary path to the shortest path is always guaranteed. Hence, the backoff parameter affects only the quality of the secondary path : by tuning , we can upper bound the algorithm overhead while matching the required level of path quality.
Now let us focus on the number of messages generated during the advertisement process. Fig. 3(a) depicts, as a function of , the upper bound (2) along with the number of messages gathered by means of simulation, for the four topologies early outlined. Note that the upper bound associated with Abilene network is computed using the fitted parameter values , while for the other 22nodes networks, only the upper bound for the Tiger2 topology is shown to avoid cluttering the picture. It can be noted that the overall number of messages generated by the advertisement procedure triggered by all nodes in the network remains low, topping to a few hundreds for high values of . Also, notice that the number of messages generated in all the real networks is very similar, with Tiger2 as the worst case. This shows the robustness of our algorithm, given the various topological properties of the considered networks.
Although the overall number of messages remains low for any value of , we miss a reference for comparison: more insights can be gathered from Fig. 3(b), that compares the number of messages generated by the advertise procedure with the periodic keep alive messages due to the path refresh function. Considering a fixed observation time window of s, we vary the period in s interval and set the refresh time to the typical value of =50 ms. We then compute the overall number of refresh messages by taking into account the actual primary and secondary paths lenghts gathered in simulation as . We finally gauge the number of advertisement messages in simulation for the Tiger2 network, that represents the worst case, so as to gather conservative results. As the picture clearly shows, the overhead due to the advertise procedure is very low even for very small durations of the advertise period (well below 1 sec), and even for large values of : for sec the overhead becomes clearly negligible for any .
Finally, Fig. 3(c) depicts the evolution over (slotted) time of the number of messages carried over the Tiger2 network during an advertisement originated by a single source: we observe that, after some initial exponential growth due to the flooding process, the backoff factor kicks in and slows down the growth, which then dies out very fast, due to an increasing number of flooding paths being probabilistically cut out. This autotermination feature is a very desirable property of the algorithm, and further suggests that advertisement periods do not need to overlap, but can rather be staggered. This could be achieved either with a simple policy (e.g., periodically at random within ) or with more sophisticated schemes (e.g., each node deciding autonomously whether to trigger a new advertisement depending on the measured control messages load). In turn, this implies that instead of keeping counters (one for each source in case of advertisements in parallel), the system could perform advertisement in series and keep a small number of counters (using a modulo function to solve unlikely contentions due to independent simultaneous triggering of advertisement processes by multiple nodes). This is an interesting direction for future research, that we aim at pursuing in the following.
IvB Path quality
Let us now focus on the quality of the paths that the adaptive probabilistic flooding algorithm is able to find. For simplicity, we let each node advertise itself once at time and evaluate the connectivity and optimality of the primary and secondary paths. Results are averaged over 10 simulations over the real topologies, and over 50 graph instances in the synthetic Random graph case.
Fig. 4(a) depicts the connectivity probability of the primary and secondary paths as a function of : as expected, primary connectivity does not depend on and is always guaranteed. Since a primary path is always found, the connectivity index is relevant for the secondary path only: we see that all secondary paths are connected in all networks when (which correspond to small overhead in Fig. 3(b)).
Fig. 4(b) reports the optimality probability of the primary and secondary paths as a function of : again, since the shortest path is always eventually found, the optimality of the primary path is guaranteed. Thus, the optimality index is relevant only for the secondary path: we see that a significant percentage (from 60% to 85%, depending on the topology) of secondary paths are optimal even for a very low value of , and that at least 90% of secondary paths are optimal for all considered topologies when . Moreover, we observe that optimality gracefully degrades , and furthermore with similar (roughly linear) slope across all topologies. This is a desirable behavior: as no phase transition nor knee appear in the path quality slopes, tuning between low overhead (low ) vs high path quality (high ) is not critical.
Finally, we dissect the reason behind the suboptimality of some secondary paths. Recall that a secondary path is optimal if it is the shortest and most diverse path compared to the primary. Hence, suboptimality of the secondary path may be due to either (i) a nonzero overlap between primary and secondary paths, , or (ii) a path with a stretch over the optimal secondary path larger than one . Fig. 4(c) depicts the overlap, i.e., the number of nodes that primary and secondary paths have in common, conditioning over the suboptimal paths (i.e., the overlap of optimal secondary paths is not accounted for in the picture). As shown by the figure, suboptimality seems to be tied to slightly more than one node in common as . Furthermore, as the average overlap is always for any , we can conclude that overlapping paths are significantly more common that longstretching paths.
V Conclusions
We have presented a novel flooding based algorithm for multiplepath discovery: the algorithm trades a small amount of state in routers, i.e., counters, in order to significantly limit the number of messages generated by flooding through an adaptive probabilistic algorithm.
Simple analytical bounds, confirmed by simulation results, show the overhead entailed by the advertisement procedure to be low (with respect to the amount of keepalive messages needed to keep the path uptodate) and autoterminating (due to the multiplicative decrease of the flooding probability).
Simulation results also testify excellent performance in terms of path quality: connectivity and optimality of the primary path are achieved by design, while 90% of secondary paths are also optimal when (or otherwise decrease linearly for lower ). Interestingly, the low percentage of low path is due to a very limited amount of share of faith between paths (1.5 nodes in the worst case, for ).
As part of our future work, we want to carry on more realistic experiments on a wider set of topologies and further reduce the amount of state to .
Vi Acknowledgement*
This work was funded by Celtic TIGER2 project.