310 likes | 467 Views
Lecture 5 : Link Reversal Routing. Lecture 5.1 : Basic ideas behind Link Reversal Routing Lecture 5.2 : The Gafni-Bertsekas algorithm for Link Reversal Routing. Link Reversal Routing (LRR).
E N D
Lecture 5 : Link Reversal Routing Lecture 5.1 : Basic ideas behind Link Reversal Routing Lecture 5.2 : The Gafni-Bertsekas algorithm for Link Reversal Routing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Link Reversal Routing (LRR) • Link Reversal Routing is suitable for ad hoc mobile networks that do not fall under the following two categories : • The rate of topological changes are not so fast as to make flooding the only possible routing method. • Also, the changes are not so slow that it is possible to maintain shortest paths efficiently. • However, the success of the LRR method depends on other factors like network size, network topology and available bandwidth. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
General Approach • The main objective of the LRR approach is to reduce the number of control messages due to topological changes. • The LRR approaches do not try to maintain extensive routing tables like proactive protocols. • Instead, the main aim of all LRR approaches is to maintain a directed acyclic graph (DAG) rooted at the destination. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Directed Acyclic Graph • The destination is the only node that may have only incoming links. All other nodes that have incoming links must also have outgoing links. • We will talk about only a single destination and the DAG associated with it. • However, it should be noted that at any time all the nodes in the network may be destinations of messages from other nodes. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Directed Acyclic Graph • Each such destination will have a rooted DAG associated with it. • If we consider a single destination D, a rooted DAG provides multiple paths to D. • However, if we consider another node N, there is no knowledge in N that can be used by N to decide its position in the DAG relative to D. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Dest An Example Each node only knows its one-hop neighbours and does not get any information from other nodes. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Dest An Example This DAG is drawn assuming only one destination. In general there may be many destinations and each node except the destination will try to maintain at least one outgoing link to participate in the DAG. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Dest An Example Since the overall DAG has no cycles, no message will loop around a cycle and each message will eventually reach its destination. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Difference from Other Protocols • Unlike table-driven protocols like DSDV, the LRR approaches do not require global information. • Unlike reactive protocols like DSR and AODV, there is no need to find a path to a destination through route request messages. • LRR approaches have lower overheads in terms of control packets as well as lower latency in finding paths. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Maintaining the DAG • One of the key issues in all LRR based protocols is to maintain the DAG correctly. This is done differently in different protocols. • We will first discuss the situation when a node needs to take some action for maintaining the overall DAG. • We will discuss the maintenance procedure for different protocols later. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
i j k What Triggers Route or DAG Maintenance • For a node i, if there is a directed edge from i to j, then i is called the upstream neighbour of j and j is called the downstream neighbour of i. • A node needs to initiate route maintenance if it has lost all of its downstream neighbours. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
upstream i downstream Triggering DAG Maintenance • DAG maintenance only affects those nodes for whom all previous directed paths pass through node i. • Hence, DAG maintenance has mostly local effects in LRR protocols. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
d1 d2 i j d3 d4 The General Scenario for Multiple Destinations • For two neighbours i and j, i can be both upstream and downstream neighbour of j depending on the destination. • For destinations d1, d2 and d4, i is the upstream neighbour of j. For d3, i is the downstream neighbour of j. • The status of each link is stored in each node tagged with the destination ID. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Gafni-Bertsekas (GF) Algorithm • The GF algorithm was first proposed for routing in packet radio networks. The aim was to solve the following problem : • Given a connected, destination-disoriented DAG, transform it into a destination-oriented DAG by reversing the directions of some of its links. • We consider only one destination node, however the algorithm can be executed concurrently for multiple destination nodes. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Some Definitions • A DAG is destination-oriented, if for every node n there exists a directed path originating at n and terminating at the destination. • Otherwise, the DAG is destination-disoriented. • The whole idea behind the GF algorithm is : Given a destination, change the directions of some of the links in the DAG so that it becomes destination-oriented. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Dest A Destination-Oriented DAG We can make the DAG destination-disoriented if we change it so that there is at least one node (other than the destination) with no outgoing edges. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
A Simple Theorem • Theorem : A DAG is destination-disoriented if and only if there exists a node other than the destination that has no outgoing link. • Proof : if : Suppose there is a node n (other than the destination) which has no outgoing link. Clearly, n does not have a path to the destination since it has no outgoing links. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
A Simple Theorem • Only if : Suppose there is at least one node n such that n does not have a path to the destination. • Since our network is a DAG, it is not possible that a path from n will loop around a cycle. • Hence paths from n will fail to reach the destination only if they reach a node without any outgoing link. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Destination-Oriented DAG • Hence, to maintain a destination-oriented DAG, we have to ensure the following : • Every node except the destination has at least one outgoing edge. This is ensured by reversing link directions in the DAG. • The underlying network should remain a DAG when we perform link reversals. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Full Reversal and Partial Reversal Methods • The GF algorithm provides two methods for link reversal : full reversal and partial reversal. • Full Reversal : If a node n (other than the destination) has no outgoing links, it reverses the directions of all of its incoming links. • Full reversals propagate through the network until each node (except the destination) has at least one outgoing link. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
2 3 1 5 6 4 dest Full Reversal Example Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
2 3 1 5 6 4 Link failure dest Nodes that reverse Full Reversal Example Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
2 3 1 5 6 4 Link failure dest Nodes that reverse Full Reversal Example Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
2 3 1 5 6 4 Link failure dest Nodes that reverse Full Reversal Example Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
2 3 1 5 6 4 Link failure dest Nodes that reverse Full Reversal Example Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
2 3 1 5 6 4 Link failure dest Nodes that reverse Full Reversal Example Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Full Reversal is Loop Free • Assume that a loop is formed when a node n does a full reversal. • In that case, one of the nodes on the loop must be n. • However, n has only outgoing links after the full reversal. Hence, n cannot be part of a loop. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Full Reversal Does not Oscillate • The GF algorithm assumes that the network is always connected. • Hence, there is at least one node P with an outgoing link to the destination. • P will never execute a full reversal and hence the iteration will stop at P. • However, GF algorithm does not work if the network is partitioned. A partitioned network may result in infinite oscillation of full reversal. Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
5 1 3 4 Link failure 2 dest Nodes that reverse GF Fails to Converge for Partitioned Networks Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
5 1 3 4 2 dest Nodes that reverse GF Fails to Converge for Partitioned Networks Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
5 1 3 4 2 dest Nodes that reverse GF Fails to Converge for Partitioned Networks Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)