Analysis of link reversal routing algorithms
Link reversal algorithms provide a simple mechanism for routing in communication networks whose topology is frequently changing, such as in mobile ad hoc networks. A link reversal algorithm routes by imposing a direction on each network link such that the resulting graph is a destination oriented DAG. Whenever a node loses routes to the destination, it reacts by reversing some ( or all) of its incident links. Link reversal algorithms have been studied experimentally and have been used in practical routing algorithms, including TORA [ V. D. Park and M. S. Corson, A highly adaptive distributed routing algorithm for mobile wireless networks, in Proc. INFOCOM, IEEE, Los Alamitos, CA, 1997, pp. 1405 - 1413]. This paper presents the first formal performance analysis of link reversal algorithms. We study these algorithms in terms of work ( number of node reversals) and the time needed until the network stabilizes to a state in which all the routes are reestablished. We focus on the full reversal algorithm and the partial reversal algorithm, both due to Gafni and Bertsekas [ IEEE Trans. Comm., 29 ( 1981), pp. 11 - 18]; the first algorithm is simpler, while the latter has been found to be more efficient for typical cases. Our results are as follows: The full reversal algorithm requires O(n(2)) work and time, where n is the number of nodes that have lost routes to the destination. This bound is tight in the worst case. The partial reversal algorithm requires O(n center dot a*+ n(2)) work and time, where a* is a nonnegative integral function of the initial state of the network. Further, for every nonnegative integer a, there exists a network and an initial state with a* = alpha, and with n nodes that have lost their paths to the destination, such that the partial reversal algorithm requires Omega( n center dot a* + n(2)) work and time. There is an inherent lower bound on the worst-case performance of link reversal algorithms. There exist networks such that for every deterministic link reversal algorithm, there are initial states that require Omega(n(2)) work and time to stabilize. Therefore, surprisingly, the full reversal algorithm is asymptotically optimal in the worst case, while the partial reversal algorithm is not, since a* can be arbitrarily larger than n.
link reversal routing ad hoc networks wireless networks fault tolerance self stabilization