Loading in 2 Seconds...

MDVA [ M ultipath D istance V ector A lgorithm] : A Distance-Vector Multipath Routing Protocol

Loading in 2 Seconds...

- 70 Views
- Uploaded on

MDVA [ M ultipath D istance V ector A lgorithm] : A Distance-Vector Multipath Routing Protocol.

Download Presentation
## PowerPoint Slideshow about 'MDVA [ M ultipath D istance V ector A lgorithm] : A Distance-Vector Multipath Routing Protocol' - ezra-perry

Download Now**An Image/Link below is provided (as is) to download presentation**

Download Now

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### MDVA[Multipath Distance Vector Algorithm]: A Distance-Vector Multipath Routing Protocol

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.

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.

- 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

- 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

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.

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

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

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 }

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.

- 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 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 Message Overhead

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.

Download Presentation

Connecting to Server..