Routing Algorithm
2012.09.19 Abhishek Jain
Contents
Routing Protocol and Algorithm Classifications Link State Routing Algorithm Distance Vector Routing Algorithm LS Algorithm vs. DV Algorithm Hierarchical Routing
Routing Protocol and Algorithm
Determining the path(route)
first-hop router default router 5 destination router destination host
source host
2 B 2 1 1 3 D 5 1 2 F
A C
source router
least-cost path
Classifications
Global vs. decentralized
global(link state algorithm) : complete information about connectivity and link costs
Static vs. dynamic
static : routes change very slowly
load-sensitive : link costs reflect congestion Dynamic link state routing algorithm Dynamic distance vector routing algorithm
Load-sensitive vs. load-insensitive
Typical used
Link State Routing Algorithm
Each node broadcasts the identities and costs to its directly attached neighbors Dijkstras algorithm
Link State Routing Algorithm
Oscillation(page 307)
2+e 0 1 0 0 1 D 0 1+e 1 0 0 C e 1 0 0 1+e e A 2+e 1+e 0 B 1 0
Distance Vector Routing Algorithm
Iterative, asynchronous, distributed Distance table
DX(Y,Z) : cost of the direct link from X to Z + Zs currently known minmum-cost path to Y DX(Y,Z)=c(X,Z)+minw{Dz(Y,w)}
Distance Vector Routing Algorithm
Initialization:
DX(*,v) = inifinite, DX(v,v)=c(x,v)
Send minwDX(y,w) to each neighbor when they changes
C(X,V) changes Neighbor node send its update
Distance Vector Routing Algorithm
DY X Z X 2 Y 2 1 Z 1
X DX Y Z Y 2 Z 7
Z Dz X Y X 7 Y 1
Distance Vector Routing Algorithm
DY X Z X 2 9 Y 2 1 Z 8 1
X DX Y Z Y 2 3 Z 8 7
Z Dz X Y X 7 9 Y 3 1
Distance Vector Routing Algorithm
DY X Z X 2 5 Y 2 1 Z 4 1
X DX Y Z Y 2 3 Z 8 7
Z Dz X Y X 7 9 Y 3 1
Distance Vector Routing Algorithm
Decrease
DY X
X 4
Z 6
Y 1 4 1
50
Z Dz X X 50 Y 5
Distance Vector Routing Algorithm
Decrease
DY X
X 1
Z 6
Y 1 4 1
50
Z Dz X X 50 Y 5
Distance Vector Routing Algorithm
Decrease
DY X
X 1
Z 6
Y 1 4 1
50
Z Dz X X 50 Y 2
Distance Vector Routing Algorithm
Decrease
DY X
X 1
Z 6
Y 1 4 1
50
Z Dz X X 50 Y 2
Distance Vector Routing Algorithm
Increase
DY X
X 4
Z 6
Y 60 4 1
50
Z Dz X X 50 Y 5
Distance Vector Routing Algorithm
Increase
DY X
X 60
Z 6
Y 60 4 1 Routing loop
50
Z Dz X X 50 Y 5
Distance Vector Routing Algorithm
Increase
DY X
X 60
Z 6
Y 60 4 1
50
Z Dz X X 50 Y 7
Distance Vector Routing Algorithm
Increase
DY X
X 60
Z 8
Y 60 4 1
50
Z Dz X X 50 Y 7
Distance Vector Routing Algorithm
Increase
DY X
X 60
Z 8
Y 60 4 1 Too many iterations! (count-to-infinity problem) X 50 Z Dz X X 50 Y 9
Distance Vector Routing Algorithm
Poisoned reverse
60 4
DY X
X 4
Y 1
50
Z Dz X X 50 Y 5
Distance Vector Routing Algorithm
Poisoned reverse
60 4
DY X
X 60
Y 1
50
Z Dz X X 50 Y 5
Distance Vector Routing Algorithm
Poisoned reverse
60 4
DY X
X 60
Y 1
50
Z Dz X X 50 Y 61
Distance Vector Routing Algorithm
Poisoned reverse
60 4
DY X
X 60
Z 51
Y 1
50
Z Dz X X 50 Y 61
Distance Vector Routing Algorithm
Poisoned reverse
60 4
DY X
X 60
Z 51
Y 1
50
Z Dz X X 50 Y
Cannot solve general count-to-infinity problem
LS Algorithm vs. DV Algorithm
LS
Message complexity O(nE)
DV
Maybe small Slow(count-toinfinity problem) Bad
Speed of O(n2) algorithm convergence Robustness Good
Hierarchical Routing
View network as interconnected routers
Scale Administrative autonomy
Organize routers into autonomy systems(AS)
Hierarchical Routing
C.c B.a B.a C.a C.b
A.a Host H1 A.d A.c Host H2
A.b
Autonomy system(AS) Gateway router Intra-AS Inter-AS
Hierarchical Routing
B.a C.a
A.a
A.c Topological view for inter-AS routing protocol
END