Unit-4 (Part-1.2) Distance Vector With Count To Infinity
Unit-4 (Part-1.2) Distance Vector With Count To Infinity
Networking
CS 3470, Section 1
Review
Network as a Graph
5
3
B C
2 5
A 2 1 F
3
1 2
D E
1
4
Distributed Routing Algorithms
5
Link State vs Distance Vector
6
Distance Vector Routing
7
Distance Vector Routing
8
Distance Table: Example
Distance table at router E
cost to destination via
E
D () A B D
A 1 14 5
B 1 C
7
B 7 8 5
A 8 2
1
E D C 6 9 4
2
D 4 11 2
A A A,1
1 14 5
B B D,5
7 8 5
C C D,4
6 9 4
D D D,2
4 11 2
10
Distance Vector Routing
Algorithm
Now the real question…
How do we compute this distance table?
That’s where we use Bellman-Ford algorithm.
11
Distance Vector Routing
Algorithm
iterative: Distance Table data
continues until no nodes structure
exchange info. each node has its own
self-terminating: no “signal” to row for each possible destination
stop column for each directly-attached
asynchronous: neighbor to node
example: in node X, for dest. Y
nodes need not exchange
via neighbor Z:
info/iterate in lock step!
distributed: distance from X to
X = Y, via Z as next hop
each node talks only with D (Y,Z)
directly-attached neighbors Z
= c(X,Z) + minw{D (Y,w)}
12
Distance Vector Routing: Overview
Each node:
Iterative, asynchronous:
each iteration caused by:
local link cost change wait for (change in local link
cost or msg from neighbor)
message from neighbor: its
least cost path change from
neighbor
recompute distance table
Distributed:
each node notifies neighbors
only when its least cost path to if least cost path to any dest
any destination changes has changed, notify
neighbors then notify their neighbors
neighbors if necessary
13
Distance Vector Algorithm: Example
Y
2 1
X Z X Z
7 D (Y,Z) = c(X,Z) + minw {D (Y,w)}
= 7+1 = 8
X Y
D (Z,Y) = c(X,Y) + minw {D (Z,w)}
= 2+1 = 3
14
Distance Vector Algorithm:
Example
Y
2 1
X Z
7
15
Distance Vector Algorithm:
Example
Y
2 1
X Z
7
16
Convergence of DV Routing
router detects local link cost change 1
updates distance table Y
4 1
if cost change in least cost path, notify X Z
neighbors 50
“good algorithm
terminates
news
travels
fast”
17
Problems with DV Routing
Link cost changes:
good news travels fast
60
bad news travels slow Y
“count to infinity” problem! 4 1
X Z
50
algorithm
continues
on!
18
Fixes to Count-to-Infinity Problem
Split horizon
A router never advertises the cost of a destination
to a neighbor
If this neighbor is the next hop to that destination
19
Split Horizon with Poisoned Reverse
60
If Z routes through Y to get to X : Y
Z tells Y its (Z’s) distance to X is infinite (so 4 1
Y won’t route to X via Z) X Z
50
algorithm
terminates
20
Count-to-Infinity Problem
X Y Z
21
Count-to-Infinity Problem
X Y Z
22
Link State vs Distance Vector
23
RIP
RIP == Routing
Information Protocol 0 8 16 31
Command Version Must be zero
RIP is a distance vector Family of net 1 Address of net 1
implementation Address of net 1
(network_address,
distance) Distance to net 1
pairs
Family of net 2 Address of net 2
Instead of advertising
Address of net 2