340 likes | 533 Views
MDVA [ M ultipath D istance V ector A lgorithm] : A Distance-Vector Multipath Routing Protocol.
E N D
MDVA[Multipath Distance Vector Algorithm]: A Distance-Vector Multipath Routing Protocol 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. Presentation By Felix Mathew School of Computer Science University of Oklahoma
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.
References [Contd.] • [5] D. Bersekas and Gallager. Data Networks. 2nd ed. Prentice- Hall, pages 404-410, 1992. • [6] A. Tanenbaum. Computer Networks. 3rd ed. Prentice-Hall, pages 357-358, 1996.
Presentation Agenda • Goal of the Presentation. • Background. • The Abstract. • Introduction to MDVA. • MDVA Algorithm. • Correctness Proof. • Analysis and Performance. • Summary of the Presentation.
Goal of the Presentation Presenting a Distance-Vector routing algorithm suitable for implementing near-optimal routing.
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.
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 DisseminationAlgorithm) [1] [1] S. Vutukury and J.J. Garcia-Luna-Aceves . A Simple Approximation to Minimum Delay Routing. Proc. of ACM SIGCOMM, Sept. 1999
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. Presenting … • A Distance-Vector algorithm MDVA, which • Solves the Count-to-Infinity Problem. • Is Loop-free. • Computes multipaths to a destination.
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. Figure: Count-to-Infinity Problem [6] A. Tanenbaum Computer Networks 3rd ed. Prentice-Hall, page 357, 1996
Introduction to MDVA • 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 ? • 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
Formulation A computer network is modeled as a graph G = (N, L) 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. • Connectivity. If each Successor set in the network has .. • One element The routing Graph will be a tree. • More than One The routing Graph is a Directed acyclic graph (DAG).
The successor set is first calculated. • The routing graph is constructed based on the successor set. S computes its successor set for destination D S D • 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.
Parameters used in MDVA NSet of Nodes in the network NiSet of neighbors of node i SiJNext-hop choices at i for destination J SGJRouting graph implied by the SiJ for destination J DiJDistance of node i to J as known to i lik Cost of link (i, k) DiJk Distance of node k to J as reported by k to i FDiJFeasible distance is an estimate of DiJ RDiJDistance to J reported by node i to its neighbors SDiJBest distance to J through SiJ WNiJSet of neighbors that are waiting for replies G(t)A bird’s view of the network at time t DiJ (t) Distance of node i to J in G(t) lik(t)Cost of link (i, k) in G(t) 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.
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’ DiJ (t) = DiJ (t) for all i (source) and J (destination) Where, DiJ (t) is an estimate of DiJ DiJ (t) is the correct distance DiJ eventually equalsDiJ, if DiJ does not change further During convergence it should be ensured by the algorithm that the routing graph is loop-free at every instant.
How Distributed Bellman-Ford (DBF) Works NODE DiJ = min { DiJk + l ik | k є N i } [5] Repeatedly Executes DiJk Distance to J as reported by k to i. lik Cost of link between i and k. • Reports to all its neighbors when DiJ changes. • Converges fast when DiJ (distance to destination) decreases. • What is the problem with DBF ? • Convergence is slow when link costincreases 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. 2nd ed. Prentice-Hall, pages 404-410, 1992
Diffusing Computation • Used to prevent Circular Computation ofdistances. • Computing DiJ using diffusing computations along the routing graph. 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. 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. [2] E.W. Dijkstra and C.S. Scholten. Termination Detection for Diffusing Computations: Information Processing Letters, 11:1-4, August 1980
MDVA is loop-free The Loop Free invariants [LFI] [1] ensures The routing graph SGJ is Loop-free. Loop-Free Invariant Conditions [LFI] [1] FDiJ (t) DkJi (t) k ε N i SiJ (t) ={ k | DiJk(t) < FD iJ (t), k є Ni } Where, FD iJ Feasible distance and is equal to DiJ when network is stable. SiJ 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. 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
Main Highlight of the algorithm Distances are propagated along the routing graph SGJ , which itself is computed using the distances. The approach where DiJ is computed using Diffusing Computations along the routing graph SGJ and simultaneously constructing and maintaining SGJ is central to MDVA.
MDVA Algorithm • Distributed Bellman-Ford (DBF) is used by MDVA…. • To Compute DiJ ,which in turn is used to compute the routing graph SGJ. Computation of DiJ DiJ = min { DiJk + lik | k є Ni } Computation of Successor set SiJ = { k | DkJ < DiJ, k є Ni } Computation of SGJ Determined through SiJ . Simultaneously MDVA also always propagates distances along the routing graph SGJ preventing the count-to-infinity problem and ensure termination.
MDVA Algorithm Contd. [type, J, d] [type, J, d] Messages Node B Node A • 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] Distance of Node sending message to J Destination Query | Update | Reply
MDVA Algorithm Contd. Node and its Tables DiJ SiJ FDiJ RDiJ SDiJ WN iJ Main Table k DiJk Neighbor Table k lik Link Table 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. { Can be either in a } Passive State Node • Initially all nodes are Passive • Node Represented by variable: stateiJ • When engaged in diffusing computation State of node is ACTIVE (Otherwise) 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 Active State
MDVA Algorithm Contd. • ProcessDistVect 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 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, RDiJ] for each destination J. Adjacent link (i, m) fails Neighbor Table associated with m is cleared. Cost of link is set to infinity. ProcessDestVect (Update, m, α, J) invoked for each destination. Adjacent link cost Changes Change is made in the link table reflecting the new value. ProcessDestVect (Update, m, Dijm, J) invoked for each destination.
MDVA Algorithm Contd. In passive state ProcessDistVect always holds DiJ = FDiJ = RDiJ = min { DiJk + lik | k є Ni } procedureProcessDistVector ( et, m, d, j ) begin if ( j = thisNode and message type = QUERY ) then send message [REPLY, j, 0] to m; endif DiJm is the distance from m to destination J, which is the value of d DiJ is calculated using the equation min { DiJk + lik | k ε Ni } SDiJ is the best distance to destination j in the successor set SiJ ACTIVE STATE check and execution process If ( DiJ > Reported distance [RDiJ])then Node becomes ACTIVE ( Diffusion computation initiated here by sendingSDiJ asRDiJ, which is the reporting distance ) For all k ε Ni, send [QUERY, j, RDiJ] to neighbor k; If [message type = QUERY]then neighbor m is added to WNIJ, reply given when transits to passive state > endif Casewhen increase in distance is due to query from a neighbor.
MDVA Algorithm Contd. During Active Phase If (Query received from an neighbor not in SiJ) [ REPLY, J, RDiJ ] entry is sent immediately ELSE If (Neighbor є SiJ (and) SDiJ > Reporting distance RDiJ)then m is added to the waiting list WNiJ If (Neighbor є SiJ (and) SDiJ < Reporting distance RDiJ)then reply is sent immediately Replies are given when node transits to Passive State PASSIVE STATE check and execution process If ( DiJ > Reported distance [RDiJ]) FAILS ! Node stays in PASSIVE STATE For each k ε neighbors of node i If < k ε WNiJ or ( k=m and message type = QUERY)) then send [Reply, j, DiJ ] to k; ELSE if ( Reporting distance not equal to DiJ) send [UPDATE, j, RDiJ] to k;
MDVA Algorithm Contd. After receiving all replies • Either ACTIVE phase ends or continues • Continues if DiJ 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 DiJ = FDiJ = RDiJ = min { DiJk + lik | k є Ni }
State of Node is Passive DiJ distance of node i to J as known to i. DiJ = FDiJ = RDiJ = min{ DiJk + lik | k Є Ni} SDiJ best distance through the Successor set Send replies to queries from neighbors Increase in DiJ No Clear the waiting list for the node Yes Once replies are received Transits to Passive state State of Node is ACTIVE H Add neighbor to waiting list if its query to this node caused the increase in distance. Yes If query is from a neighbor not in the Successor set reply immediately. No Send queries to all neighbors with SDiJ If query is from a neighbor in the Successor set. Test SDJ Value If SDJ greater than reporting distance Wait for replies to sent queries No If query received during Active Phase Yes Reply is Given Immediately Add neighbor to the waiting list Replies are deferred until ready to transit to the passive state. H
Correctness Proof • Every ACTIVE phase has a finite duration. ACTIVE phase may never end either due to • Deadlock (or) • Livelock 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’ 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.
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.
Analysis of Performance Complexities • Storage Complexity:O( |Ni| |N| ) as each of the Ni neighbor tables and main distance tables has a size of O ( |N| ) entries. • Computation Complexity: Time taken to process a distance vector O ( |Ni| ). • Obtaining closed form expressions for Time and communication complexity is impossiblebecause in a dynamic environment , timing and link cost changes occur in complex patterns which are often determined by traffic on the network.
Simulation comparisons with other algorithms 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. 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.
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. 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. 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.
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.