dual seminar
TRANSCRIPT
-
7/30/2019 DUAL Seminar
1/18
The Diffusing Update Algorithm
Presented by
Anil K.C (Roll: 12)
Central Department of Computer Science andInformation Technology, T.U.
-
7/30/2019 DUAL Seminar
2/18
Objective
To present a routing algorithm that is loop free
To illustrate the underlying principle of
popular routing protocol, the EIGRP
2
-
7/30/2019 DUAL Seminar
3/18
Overview
Routing loops
Sufficient conditions for loop avoidance
Diffusing Update Algorithm (DUAL) Example
Conclusion
3
-
7/30/2019 DUAL Seminar
4/18
Routing Loops
Fundamental routing algorithms
Distance vector routing (Distributed Bellman ford
algorithm)[3]
Link state routing (Dijkstras algorithm)[4]
4
-
7/30/2019 DUAL Seminar
5/18
Loop formation in distance vector
routing
5
Fig 1: Two-node instability [5]
-
7/30/2019 DUAL Seminar
6/18
Solutions to these instability
Two node instability
Defining Infinity
Split Horizon
Split Horizon and Poison Reverse
Three node instability
Stability cannot be guaranteed
6
-
7/30/2019 DUAL Seminar
7/18
Loop formation in link state routing
7
Fig 3: Microloop Example
due to the timingdifferences, B
calculates and
installs its new
best path through
A before A has a
chance to switchfrom B to E, a
microloop will
form between A
and B for the
duration of time
required for A to
complete
its routing table
update.
-
7/30/2019 DUAL Seminar
8/18
How can routing loops be avoided at
all ?
By properly choosing the successor after achange in link cost or link failure has beendetected
Sufficient Conditions for Loop freedom(Feasibility Conditions, FC)
Distance Increase Condition (DIC) Current Successor Condition (CSC)
Source Node Condition (SNC)
8
-
7/30/2019 DUAL Seminar
9/18
G = (V, E): Network Model and
Notation G: a connected network of arbitrary topology
E:The set of links in G
N: The set of nodes in G
j: The identifier of destination nodej N
(i,x): The link in Ebetween nodes iandx sij(t): The successor (or next hop) in the path to nodejcurrently
chosen by node iat time t
lik(t): The cost of the link from node ito neighbor node kas knownby node iat time t; the cost of a nonexistent link or a failed link isconsidered to be infinity
Vi(t): The set of destination nodes node iknows at time t Ni(t): Theset of nodes connected through a link with node iat time
tmore formally, Ni(t) = {x| (i,x), lix(t)< }; a node in that set is
said to be a neighbor of node i.
9
-
7/30/2019 DUAL Seminar
10/18
Contd.
Dij(t): Thecurrent distance from node ito nodejas known by node iattime t
Dijk(t): Thedistance from node kto nodejas known by node iat time t
D*ij(t): The smallest value assigned to Dijup to time t
D*ijk(t): The smallest value ofDkjknown by node iup to time t
RDij(t): The distance from node ito nodejthat node ican report to itsneighbors at time t(and which need not equal Di
j
(t))
FDij(t): The distance value used by node ito evaluate whether a feasibilitycondition is satisfied at time t; depending on the condition used, it can beequal to either D*ij(t) or D*
ijk(t).
10
-
7/30/2019 DUAL Seminar
11/18
Source Node Condition (SNC)
If at time tnode ineeds to change its currentsuccessor, it can choose as its new successor anyneighbor q Ni(t) for which
Dijq(t) + liq(t) = Min{D
ijx(t) + l
ix(t) | x Ni(t)}
andDijq(t) FD
ij(t), where FD
ij(t) = D
*ij(t).
If no such neighbor exists, then node imust maintainits old successor if it has any.
The variable FDij(t) is called thefeasible distance ofnode ifor destinationj.
Feasibility Condition, FC.
11
-
7/30/2019 DUAL Seminar
12/18
Contd
DIC, CSC and SNC ensures loop freedom at everyinstant,
But none of them guarantees shortest path
Routing algorithms has to be derived based onthese FCs to achieve both Loop Freedom at every instant
Shortest paths for each destination
Goal: For each destination, successor entries ofthe routing table should define another graphthat is a dag or ASG.
12
-
7/30/2019 DUAL Seminar
13/18
The DUAL
Uses the concept of Diffusing Computations[2] The diffusing computation started by a node grows by
sending queries and shrinks by receiving replies along anacyclic graph rooted at the source of the computation.
Input Events for a node Reply
Query
Update
Computation Types: Depends whether FC issatisfied
Local
Diffusing
13
-
7/30/2019 DUAL Seminar
14/18
DUAL Contd.
States of a node on a macro level
Active by commencing a DC
Passive after termination of DC
States of a node on a micro level is specifiedby
Reply status flag: rijkto remember whethernode khas sent a reply to node i's query
(0 or 1)
Query origin flag: oij(0, 1, 2, 3)
14
-
7/30/2019 DUAL Seminar
15/18
States in DUAL
15Fig 4: Active and Passive States in DUAL [1]
-
7/30/2019 DUAL Seminar
16/18
Example
16
Fig 5: Example ofDUALs operation [1]
The label of
parentheses
assigned to
each node
[Dxj, FDxj, O
xj]
-
7/30/2019 DUAL Seminar
17/18
Conclusion
17
The DUAL is basically a concept that can be
adapted by either of distance vector routing
algorithms or the link state ones. That is, either
of two well-known algorithms can be used ateach node to compute shortest paths once
topology information is gathered and updated
using DUAL.
-
7/30/2019 DUAL Seminar
18/18
References
1. J. J. Garcia-Luna-Aceves, "Loop free routing using diffusingcomputations", IEEE/ACM Transactions on Networking ,Vol 1, No. 1, February 1993.
2. E. W. Dijkstra and C. S. Scholten. Termination detectionfor diffusing computations, Inform Process. Lett., vol. 11,no. 1, pp. 1-4, Aug. 1980
3. C. Hedrick, Routing information protocol, RFC 1058,Netw. Inform. Cent., SRI Int., Menlo Park. CA, June 1988.
4. R. Coltun, OSPF: An internet routing protocol,
ConneXions, vol. 3, no. 8, pp. 19-25, Aug. 19895. A. F. Behrouz,Data Communications and Networking,
fourth edition, pp. 663-665, 2006
18