Lindqvist
Lindqvist
Janne Lindqvist Helsinki University of Technology Telecommunications Software and Multimedia Laboratory janne.lindqvist@iki.fi
Abstract
Routing protocols have to deal with a known problem: the count-to-innity. Counting to innity can occur when a link breaks in the network, and the algorithm in the routing protocol tries to calculate new shortest paths. In this paper I survey the past and present solutions to the this problem. KEYWORDS: count-to-innity, loop freedom
tion 3 explains past solutions to the problem, mainly derived from the Routing Information Protocol. After that section 4 briey explains link-state routing. Following that section 5 tells how the problem is solved in ad hoc networks while using distance vector protocols. Next in section 6 I compare the different solutions, and nally in section 7 are the conclusions.
1 Introduction
Routing protocols can be roughly divided to distance vector and link-state protocols, depending on the underlying algorithm to count the routes and how the messages are propagated in the network.. The main emphasis on this paper is on distance vector protocols, but we will also visit the link-state routing. Distance vector routing is based on algorithmic solutions to the graph theoretic all-pairs shortest path problem: Given a graph G, we want to nd the shortest paths from every node to all other nodes. An interesting detail is that when textbooks today speak of all-pairs shortest path, the original non-distributed algorithm for nding shortest paths (routes in networks of cities) was presented in a journal article named "On a routing problem" [1]. This was before computer networks, as we know them, were even introduced. The count-to-innity problem is a result of how routing protocols, especially distance vector, work: "Good news travels quickly, bad news travels slowly" [5]. If a certain kind of link failure occurs in a routed network, the result is that the algorithm and hence the protocol tries to count the shortest paths to innity. An example of this behaviour is given later. Despite of count-to-innity and few other problems, distance vector routing is still interesting, since new protocols for ad hoc networks are developed based on that kind of solution. Link breakages occur often in ad hoc networks, so the routing protocol has to somehow ensure loop freedom. According to Huitema, Routing Information Protocol (RIP), which is a distance vector protocol, was the most used interior gateway protocol in 2000 [3]. An interior gateway protocol handles routing information within an autonomous system. Thus, interior gateway protocols do not participate routing between autonomous systems. The rest of this paper is organized as follows. First section 2 introduces distance vector routing in xed networks and gives an example of the count-to-innity problem. Then sec1
Intuitivitely, we mark the distances to every other node to innity and the distance to the node itself (d) to zero. 2. Updating: For each
Repeat step 2 until no more changes occur in the iteration. Intuitivitely, the algorithm compares the advertised routing information from the other nodes, and selects the shortest path to be updated to the routing table.
! # @ 7 5 2 ) BA9 86 4 31 0 % # (!
current estimate of the minimum cost from node j to the destination node link cost from node i to node j , if nodes i and k are not directly connected
Sjkulla, 2004-04-26/27 cols based on the distributed Bellman-Ford algorithm. Each subsection discusses a different solution
3 Past solutions
This section presents and briey analyses the past solutions to count-to-innity problem regarding distance vector proto2
When the timer reaches zero, the route is removed since the link or path the node is considered dead. The "Trigger RIP" has also other functionalities which differ from the distance vector protocol explained earlier, thus a complete description of the hold down timer is not given.
Sjkulla, 2004-04-26/27
The sequence numbers are used to decide whether the routing table is updated or not. When a routing message is In this section, we will briey visit a different routing scheme received, the message is compared to the routing table. If a called link-state routing. Link-state routing is inherently route does not exist the advertised route from the message loop free according to Huitema, that is, link-state routing is added to the routing table. If a route exists, then the seprotocols dont suffer from the count-to-innity problem [3]. quence numbers from the routing table and the message are The following is mainly based on the textbook Computer compared. Networks by Tanenbaum [9]. If the sequence numbers are equal the routing message is Link-state protocols have 4 different functions: Neighbor discarded unless the metric is better, that is, a smaller hop discovery, Cost (metric) measurement to each of the neigh- count. Then the old route is replaced with the new route. bors, Sending a packet to all other routers of the data it just If the sequence number is smaller than the one in the routlearned. Compute the shortest paths. ing table, the message is discarded. If the sequence number is greater than the number in the The key differences between link-state and distance vector routing is that link-state uses algorithms derivated from the routing table, the old route is replaced with the new route. Jaffe and Moss have presented a preliminary result in their Dijkstras shortest path algorithm while distance vector uses distributed Bellman-Ford and distance vector protocols start work [4] for necessary requirements for loop freedom in discounting from the updates even if the entire topology is not tance vector routing. Perkins and Bhagwat build on that to known, while link-state protocols nd out the entire topology prove that DSDV is loop-free. The proof is available in the book Ad hoc networking [8]. and then start counting. Link-state routing uses more memory for keeping the whole topology and the protocols are more complex than dis6 Comparison of past and present tance vector.
4 Link-state routing
The problems with the past solutions are that they do not cover all possible situations where a link brakes. The protocol developed by Perkins provably solve all possible kind of link breakages. Therefore, it can be concluded that the use sequence numbers are indeed a preferred way to solve the count-to-innity problem.
7 Conclusion
We have now surveyed the distance vector routing and solutions for count-to-innity problem in xed networks. The Routing Information Protocol had many mechanism trying to solve the count-to-innity problem. We have also peeked at the link-state routing, which is inherently loop-free. Finally, we presented the sequence number solution, which is used in the routing protocols for ad hoc networks developed by Charles E. Perkins. Based on the survey, I conclude that sequence numbers will be used in all future routing protocols, if the distance vector paradigm prevails.
References
[1] Richard Bellman. On a routing problem. Quarterly of Applied Mathematics 16, 1958. William Byrd Press, INC., Richmond, Virginia. [2] C. Hendrick. Routing Information Protocol. RFC 1058, IETF Network Working Group, June 1988. Category: Historical. [3] Christian Huitema. Routing in the Internet, 2nd Edition. Prentice Hall, Upper Saddle River, 2000. ISBN 0-13-022647-5 [4] J.M. Jaffe and F. Moss. A Responsive Distributed Routing Alorithm for Computer Networks. IEEE Transactions on Communications COM-30:1758-1762, July 1982. 3
HUT T-110.551 Seminar on Internetworking [5] Alberto Leon-Garcia and Indra Widjaja. Communication Networks, Fundamental Concepts and Key Architectures. McGraw-Hill Higher Education, Singapore, International Editions 2000. ISBN 0-07-022839-6. [6] G. Meyer and S. Sherry. Triggered Extensions to RIP to Support Demand Circuits. RFC 2091, IETF Network Working Group, January 1997. Category: Proposed Standard. [7] C. Perkins, E. Belding-Royer and S. Das. Ad hoc OnDemand Distance Vector (AODV) Routing. RFC 3561, IETF Network Working Group, July 2003. Category: Experimental. [8] Charles E. Perkins. Ad hoc networking. AddisonWesley, 2001. ISBN 0-201-30976-9. [9] Andrew S. Tanenbaum. Computer Networks, Third Edition. Prentice Hall International, Upper Saddle River, 1996. ISBN 0-13-394248-1.
Sjkulla, 2004-04-26/27