Download presentation
Presentation is loading. Please wait.
Published byLaura Kennedy Modified over 8 years ago
1
MDVA [Multipath Distance Vector Algorithm]: A Distance-Vector Multipath Routing Protocol Presentation By Felix Mathew Felix Mathew School of Computer Science University of Oklahoma S. Vutukury and J.J. Garcia-Luna-Aceves, “ MDVA: A Distance-Vector Multipath Routing Protocol,” Proc. IEEE Infocom 2001, Anchorage, Alaska, USA, April 22- April 26, 2001.
2
References [1] S. Vutukury and J.J. Garcia-Luna-Aceves. “A Simple Approximation to Minimum Delay Routing”. Proc. of ACM SIGCOMM ’99 Cambridge,Massachusetts, Sep 1--3 1999. [2] E.W. Dijkstra and C.S. Scholten. “Termination Detection for Diffusing Computations”: Information Processing Letters,11:1-4, August 1980. [3] J.J. Garcia-Luna-Aceves. “Loop-Free Routing Using Diffusing Computations”. IEEE/ACM Trans. Networking,1:130-141, Vol 1, No. 1, February 1993. [4] W.T. Zaumen and J.J. Garcia-Luna-Aceves. “Loop-Free Multipath Routing Using Generalized Diffusing Computations”. Proc. IEEE INFOCOM. March 1998, pp 1408- 1417.
3
References [Contd.] [5] D. Bersekas and Gallager. Data Networks. 2 nd ed. Prentice- Hall, pages 404-410, 1992. [6] A. Tanenbaum. Computer Networks. 3 rd ed. Prentice- Hall, pages 357-358, 1996.
4
Presentation Agenda Goal of the Presentation. Background. The Abstract. Introduction to MDVA. MDVA Algorithm. Correctness Proof. Analysis and Performance. Summary of the Presentation.
5
Goal of the Presentation Presenting a Distance-Vector routing algorithm suitable for implementing near- optimal routing. Presenting a Distance-Vector routing algorithm suitable for implementing near- optimal routing.
6
Background Routing Protocols Static: Routing information to destinations are computed in advance and are loaded into routers during time of initialization and these set values are used. Dynamic: Routers discover this information themselves and share this with other routers. Change in routing decisions are based on estimates of current changes in network topology or traffic. This is done based on information from adjacent routers or all routers. Dynamic routing protocols are built around an algorithm and they fall into two classes based on the methodology of the algorithms. Distance-vector Link-state are popular categories of dynamic routing protocols. are popular categories of dynamic routing protocols.
7
Distance-Vector Algorithm Routes are advertised as vectors (distance and direction). Routers update their neighbors by sending them its entire routing table. Sends information about all routers to its neighbors. Examples: MDVA. Link State Algorithm Information it sends is about the state of its own links. Floods routing information to all nodes in the network. Sends small updates to all nodes. Sends information about its neighbors to all other routers. Examples: MPDA (Multipath Partial Dissemination Algorithm) [1] [1] S. Vutukury and J.J. Garcia-Luna-Aceves. A Simple Approximation to Minimum Delay Routing. Proc. of ACM SIGCOMM, Sept. 1999
8
The Abstract Routing Protocols using Distributed Bellman-Ford (DBF) algorithm converges fast when distances to destinations decreases. In cases where link-cost increases or link failures results in network partitions DBF never converges and exhibits the Count-to-infinity problem. Routing Protocols using Distributed Bellman-Ford (DBF) algorithm converges fast when distances to destinations decreases. In cases where link-cost increases or link failures results in network partitions DBF never converges and exhibits the Count-to-infinity problem. Presenting … Presenting … A Distance-Vector algorithm MDVA, which Solves the Count-to-Infinity Problem.Solves the Count-to-Infinity Problem. Is Loop-free.Is Loop-free. Computes multipaths to a destination.Computes multipaths to a destination.
9
What is the Count-to-infinity Problem ? Results due to circular computation of distances Node computes destination distance using information communicated by its neighbors, which is might actually be the length of a path that passes through the node itself. Node computes destination distance using information communicated by its neighbors, which is might actually be the length of a path that passes through the node itself. Figure: Count-to-Infinity Problem [6] A. Tanenbaum Computer Networks 3 rd ed. Prentice-Hall, page 357, 1996
10
MDVA Uses a set of loop-free invariants [1]. Multipaths are computed for each destination and are loop-free at every instant. Why should a network be free of loops ? Why should a network be free of loops ? Loops degrade network performance. May de-synchronize the network. Why multipaths are desired ? Delays are minimized Used in traffic load-balancing. Why should Count-to-Infinity be prevented ? Leads to forming infinite loops. [1] S. Vutukury and J.J. Garcia-Luna-Aceves. A Simple Approximation to Minimum Delay Routing. Proc. of ACM SIGCOMM, Sept. 1999 Introduction to MDVA
11
A computer network is modeled as a graph G = (N, L) N Set of Nodes () ; L Set of Edges () N Set of Nodes (Routers) ; L Set of Edges (Links) A successor set is found at every router for each destination. A routing graph is constructed from the above found successor set, which is sub-graph of G. Properties Determining the efficiency of the Routing Graph Loop- Freedom.Loop- Freedom. Connectivity.Connectivity. If each Successor set in the network has.. One element The routing Graph will be a tree.One element The routing Graph will be a tree. More than One The routing Graph is a Directed acyclic graph (DAG).More than One The routing Graph is a Directed acyclic graph (DAG). Formulation
12
SD The successor set is first calculated. The routing graph is constructed based on the successor set. It is desired that the routing graph be free of loops in a stable and Dynamic environment. The routing graph constructed by MDVA is unique and called the Shortest multipath. S computes its successor set for destination D
13
N Set of Nodes in the network N i Set of neighbors of node i S i J Next-hop choices at i for destination J SG J Routing graph implied by the S i J for destination J D i J Distance of node i to J as known to i l i k Cost of link (i, k) D i Jk Distance of node k to J as reported by k to i FD i J Feasible distance is an estimate of D i J RD i J Distance to J reported by node i to its neighbors SD i J Best distance to J through S i J WN i J Set of neighbors that are waiting for replies G(t) A bird’s view of the network at time t D i J (t) Distance of node i to J in G(t) l i k (t) Cost of link (i, k) in G(t) Parameters used in MDVA Source: S. Vutukury and J.J. Garcia-Luna-Aceves, “ MDVA: A Distance-Vector Multipath Routing Protocol,” Proc. IEEE Infocom 2001, Anchorage, Alaska, USA, April 22- April 26, 2001.
14
Convergence How convergence is defined ? Converging is a scenario where data which is required to populate or update the routing tables are being passed between routers. Fast convergence time is a big advantage. The network is said to have converged to the correct values if at time ‘t’ D i J (t) = D i J (t) for all i (source) and J (destination) D i J (t) = D i J (t) for all i (source) and J (destination)Where, D i J (t) is an estimate of D i J D i J (t) is an estimate of D i J D i J (t) is the correct distance D i J (t) is the correct distance D i J eventually equals D i J, if D i J does not change further During convergence it should be ensured by the algorithm that the routing graph is loop-free at every instant.
15
How Distributed Bellman-Ford (DBF) Works NODE Repeatedly Executes D i J = min { D i Jk + l i k | k є N i } [5] Reports to all its neighbors when D i J changes. Converges fast when D i J (distance to destination) decreases. What is the problem with DBF ? Convergence is slow when link cost increases and when link failures result, DBF does not converge and this leads to the count-to-infinity problem. As long as link cost decrease, MDVA works identically to DBF. [5] D. Bersekas and R. Gallager. Data Networks. 2 nd ed. Prentice-Hall, pages 404-410, 1992 D i Jk Distance to J as reported by k to i. l i k Cost of link between i and k.
16
Diffusing Computation Used to prevent Circular Computation of distances. Computing D i J using diffusing computations along the routing graph. How diffusing computation Works ? How diffusing computation Works ? Given a routing graph, each node computes its distance using distances reported by the ‘downstream” nodes and reports its distance to the “upstream” nodes. Given a routing graph, each node computes its distance using distances reported by the ‘downstream” nodes and reports its distance to the “upstream” nodes. The Activity when a computation propagates over a network of machines, when machines delegate subtasks to their neighbors. Such a computation is being fired from a single machine. [2] The Activity when a computation propagates over a network of machines, when machines delegate subtasks to their neighbors. Such a computation is being fired from a single machine. [2] Diffusing computation always terminates due to the acyclic ordering of the nodes. Diffusing computation always terminates due to the acyclic ordering of the nodes. [2] E.W. Dijkstra and C.S. Scholten. Termination Detection for Diffusing Computations: Information Processing Letters, 11:1-4, August 1980
17
The Loop Free invariants [LFI] [1] ensures The routing graph SG J is Loop-free. Loop-Free Invariant Conditions [LFI] [1] FD i J (t) D k Ji (t) k ε N i S i J (t) = { k | D i Jk (t) < FD i J (t), k є N i } Where, FD i J Feasible distance and is equal to D i J when network is stable. FD i J Feasible distance and is equal to D i J when network is stable. S i J Successor set for i. What do the above conditions state ? For each destination J, a node i can choose a successor whose distance to J is less than the distance of node i to J that is known to its neighbors. less than the distance of node i to J that is known to its neighbors. At any time t if the LFI [1] conditions are satisfied then, the routing graph is obtained is Loop- free. At any time t if the LFI [1] conditions are satisfied then, the routing graph is obtained is Loop- free. [1] S. Vutukury and J.J. Garcia-Luna-Aceves. A Simple Approximation to Minimum Delay Routing. Proc. of ACM SIGCOMM, Sept. 1999 MDVA is loop-free
18
Main Highlight of the algorithm Distances are propagated along the routing graph SG J, which itself is computed using the distances. The approach where D i J is computed using Diffusing Computations along the routing graph SG J and simultaneously constructing and maintaining SG J is central to MDVA.
19
MDVA Algorithm Distributed Bellman-Ford (DBF) is used by MDVA…. To Compute D i J,which in turn is used to compute the routing graph SG J.To Compute D i J,which in turn is used to compute the routing graph SG J. D i J = min { D i Jk + l i k | k є N i } Computation of D i J D i J = min { D i Jk + l i k | k є N i } S i J = { k | D k J < D i J, k є N i } Computation of Successor set S i J = { k | D k J < D i J, k є N i } Determined through S i J. Computation of SG J Determined through S i J. Simultaneously MDVA also always propagates distances along the routing graph SG J preventing the count-to-infinity problem and ensure termination.
20
Messages [type, J, d] [type, J, d] [type, J, d] [type, J, d] Node A Node B Nodes Exchange Information using Messages. Messages contain entries [distance vectors]. A Message sent may contain one or more entries. Entries [Distance Vectors] [ type, J, d] Destination Distance of Node sending message to J Query | Update | Reply MDVA Algorithm Contd.
21
D i J S i J FD i J RD i J SD i J WN i J k D i Jk k l i k Main Table Neighbor Table Link Table Node and its Tables Initialization Distances set to Infinity. Unreachable nodes set to Infinity Link cost set to infinity if link is down. All sets to Null. MDVA Algorithm Contd. MDVA Algorithm Contd.
22
Initially all nodes are Passive Node Represented by variable: Node Represented by variable: state i J When engaged in diffusing computation State of node is ACTIVE (Otherwise) (Otherwise) State of node is PASSIVE State of node is PASSIVE As long as link costs in the nodes’ link table decrease MDVA works identically to DBF Nodes remain in passive state When a node is in active state Engaged in diffusing computation and waiting for replies from neighbors MDVA Algorithm Contd. Node Passive State Active State { Can be either in a }
23
MDVA Algorithm Contd. Procedure invoked in MDVA by nodes to process entries sent in messages from other nodes. Form: ProcessDistVect (et, m, d, J) where et is the type, m is the neighbor, d is the distance, J is the destination where et is the type, m is the neighbor, d is the distance, J is the destination When is ProcessDistVect invoked ? Arrival of a message from another node. Change in cost of an adjacent link. Change in status [Up/Down] of an adjacent link. Query messages are sent by a node only during the ACTIVE state. Cases: Adjacent link becomes available Node sends [Update, J, RD i J ] for each destination J. Adjacent link (i, m) fails Neighbor Table associated with m is cleared. Neighbor Table associated with m is cleared. Cost of link is set to infinity. Cost of link is set to infinity. ProcessDestVect (Update, m, α, J) invoked for each destination. ProcessDestVect (Update, m, α, J) invoked for each destination. Adjacent link cost Changes Change is made in the link table reflecting the new value. Change is made in the link table reflecting the new value. ProcessDestVect (Update, m, D i jm, J) invoked for each destination. ProcessDestVect (Update, m, D i jm, J) invoked for each destination. ProcessDistVect
24
In passive state ProcessDistVect always holds D i J = FD i J = RD i J = min { D i Jk + l i k | k є N i } procedure ProcessDistVector ( et, m, d, j ) begin if ( j = thisNode and message type = QUERY ) then send message [REPLY, j, 0] to m; endif D i Jm is the distance from m to destination J, which is the value of d D i J is calculated using the equation min { D i Jk + l i k | k ε N i } SD i J is the best distance to destination j in the successor set S i J ACTIVE STATE check and execution process If ( D i J > Reported distance [RD i J ]) then If ( D i J > Reported distance [RD i J ]) then Node becomes ACTIVE ( Diffusion computation here by sending SD i J as RD i J, ( Diffusion computation initiated here by sending SD i J as RD i J, which is the reporting distance ) which is the reporting distance ) For all k ε N i, send [QUERY, j, RD i J ] to neighbor k; If [message type = QUERY] then If [message type = QUERY] then neighbor m is added to WN I J, reply given when transits to passive state > neighbor m is added to WN I J, reply given when transits to passive state > endif endif MDVA Algorithm Contd. Case when increase in distance is due to query from a neighbor.
25
During Active Phase If (Query received from an neighbor not in S i J ) [ REPLY, J, RD i [ REPLY, J, RD i J ] entry is sent immediately ELSE SD i J If (Neighbor є S i J (and) SD i J > Reporting distance RD i J ) then m is added to the waiting list WN i J SD i J < If (Neighbor є S i J (and) SD i J < Reporting distance RD i J ) then reply is sent immediately Replies are given when node transits to Passive State PASSIVE STATE check and execution process If ( D i J > Reported distance [RD i J ]) FAILS ! If ( D i J > Reported distance [RD i J ]) FAILS ! Node stays in PASSIVE STATE For each k ε neighbors of node i If < k ε WN i J or ( k=m and message type = QUERY)) then send [Reply, j, D i J ] to k; ELSE if ( Reporting distance not equal to D i J ) send [UPDATE, j, RD i J ] to k; MDVA Algorithm Contd.
26
After receiving all replies Either ACTIVE phase ends or continues Continues if D i J is increased again after receipt of all replies fromContinues if D i J is increased again after receipt of all replies from other nodes. ACTIVE phase is extended by sending new set of queries. OTHERWISE Transits to PASSIVE state satisfying passive state invariant D i J = FD i J = RD i J = min { D i Jk + l i k | k є N i } MDVA Algorithm Contd.
27
D i J distance of node i to J as known to i. SD i J best distance through the Successor set Increase in D i J State of Node is ACTIVE Add neighbor to waiting list if its query to this node caused the increase in distance. Send queries to all neighbors with SD i J Yes Wait for replies to sent queries No State of Node is Passive D i J = FD i J = RD i J = min{ D i Jk + l i k | k Є N i } Send replies to queries from neighbors Clear the waiting list for the node Once replies are received Transits to Passive state H H If query received during Active Phase If query is from a neighbor not in the Successor set reply immediately. Reply is Given Immediately Yes If query is from a neighbor in the Successor set. Test SD J Value If SD J greater than reporting distance Add neighbor to the waiting list Replies are deferred until ready to transit to the passive state. No Yes No
28
Correctness Proof Every ACTIVE phase has a finite duration. ACTIVE phase may never end either due to ACTIVE phase may never end either due to Deadlock (or)Deadlock (or) LivelockLivelock Why deadlocks don’t occur ? Node that transits to ACTIVE phase with respect to a destination Sends Queries. The Node defers replies to this query until it receives replies to its own. Here there is a possibility of ‘Circular waits’ Here there is a possibility of ‘Circular waits’ But Circular Waits are impossible because But Circular Waits are impossible because Nodes in a passive state replies immediately if its distance does not increase. MDVA assures the loop-free property for its routing graphs at every instant THUS A NODE THAT ISSUED QUERIES TO ITS NEIGHBORS WILL EVENTUALLY RECEIVE REPLIES AND TRANSIT TO THE PASSIVE STATE.
29
What is a Livelock ? Back-to-Back ACTIVE phases. Why LiveLock’s don’t occur ? Link cost change only finite number of times and there is only finite number of neighbors for each node from which it receives queries. So, there can be only finite number of back-to-back ACTIVE phases. EVENTUALLY THE NODE SENDS ALL REPLIES AND ENTERS THE PASSIVE STATE.
30
Analysis of Performance Complexities Storage Complexity: as each of the N i neighbor tables and main distance tables has a size of O ( |N| ) entries. Storage Complexity: O( |N i | |N| ) as each of the N i neighbor tables and main distance tables has a size of O ( |N| ) entries. Computation Complexity: Time taken to process a distance vector Computation Complexity: Time taken to process a distance vector O ( |N i | ). Obtaining closed form expressions for Time and communication complexity is impossible because in a dynamic environment, timing and link cost changes occur in complex patterns which are often determined by traffic on the network.
31
Simulation comparisons with other algorithms Average Convergence Time Average Message Overhead Simulations shown above are the results when link costs are increased from initial unit cost to a specified cost using a formula. Both are shown to be good for MDVA when compared to others. Source: S. Vutukury and J.J. Garcia-Luna-Aceves, “ MDVA: A Distance-Vector Multipath Routing Protocol,” Proc. IEEE Infocom 2001, Anchorage, Alaska, USA, April 22- April 26, 2001.
32
Simulations shown above are the results when link costs are made to decrease. DBF and MDVA are seen to perform identically. Average Convergence Time Average Message Overhead Source: S. Vutukury and J.J. Garcia-Luna-Aceves, “ MDVA: A Distance-Vector Multipath Routing Protocol,” Proc. IEEE Infocom 2001, Anchorage, Alaska, USA, April 22- April 26, 2001.
33
Simulations shown above are the results when link costs are made to increase. MDVA performance is seen not to have changed much, DBF has degraded considerably. Average Message Overhead Average Convergence Time Source: S. Vutukury and J.J. Garcia-Luna-Aceves, “ MDVA: A Distance-Vector Multipath Routing Protocol,” Proc. IEEE Infocom 2001, Anchorage, Alaska, USA, April 22- April 26, 2001.
34
Summary of the Presentation Presented a distance vector algorithm free from count-to infinity. Designed around a set of loop-free invariants which ensures Instantaneous Loop Freedom. Ensures correct termination of the protocol.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.