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) destination router first-hop router default router destination host 5 2 1 3 B A C E D F source host least-cost path source router
Classifications Global vs. decentralized Static vs. dynamic global(link state algorithm) : complete information about connectivity and link costs Static vs. dynamic static : routes change very slowly Load-sensitive vs. load-insensitive load-sensitive : link costs reflect congestion Typical used Dynamic link state routing algorithm Dynamic distance vector routing algorithm
Link State Routing Algorithm Each node broadcasts the identities and costs to its directly attached neighbors Dijkstra’s algorithm
Link State Routing Algorithm Oscillation(page 307) D B C A e 1 1+e 1 2+e 1 e 1+e 2+e 1+e 1 2+e 1+e 1
Distance Vector Routing Algorithm Iterative, asynchronous, distributed Distance table DX(Y,Z) : cost of the direct link from X to Z + Z’s 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 2 ∞ 1 Y 2 1 X Z 7 Dz X Y 7 ∞ 1 DX Y Z 2 ∞ 7
Distance Vector Routing Algorithm DY X Z 2 8 9 1 Y 2 1 X Z 7 Dz X Y 7 3 9 1 DX Y Z 2 8 3 7
Distance Vector Routing Algorithm DY X Z 2 4 5 1 Y 2 1 X Z 7 Dz X Y 7 3 9 1 DX Y Z 2 8 3 7
Distance Vector Routing Algorithm Decrease DY X Z 4 6 Y 1 4 1 X Z 50 Dz X Y 50 5
Distance Vector Routing Algorithm Decrease DY X Z 1 6 Y 1 4 1 X Z 50 Dz X Y 50 5
Distance Vector Routing Algorithm Decrease DY X Z 1 6 Y 1 4 1 X Z 50 Dz X Y 50 2
Distance Vector Routing Algorithm Decrease DY X Z 1 6 Y 1 4 1 X Z 50 Dz X Y 50 2
Distance Vector Routing Algorithm Increase DY X Z 4 6 Y 60 4 1 X Z 50 Dz X Y 50 5
Distance Vector Routing Algorithm Increase DY X Z 60 6 Y 60 4 1 Routing loop X Z 50 Dz X Y 50 5
Distance Vector Routing Algorithm Increase DY X Z 60 6 Y 60 4 1 X Z 50 Dz X Y 50 7
Distance Vector Routing Algorithm Increase DY X Z 60 8 Y 60 4 1 X Z 50 Dz X Y 50 7
Distance Vector Routing Algorithm Increase DY X Z 60 8 Y 60 4 1 Too many iterations! (count-to-infinity problem) X Z 50 Dz X Y 50 9
Distance Vector Routing Algorithm Poisoned reverse DY X Z 4 ∞ Y 60 4 1 X Z 50 Dz X Y 50 5
Distance Vector Routing Algorithm Poisoned reverse DY X Z 60 ∞ Y 60 4 1 X Z 50 Dz X Y 50 5
Distance Vector Routing Algorithm Poisoned reverse DY X Z 60 ∞ Y 60 4 1 X Z 50 Dz X Y 50 61
Distance Vector Routing Algorithm Poisoned reverse DY X Z 60 51 Y 60 4 1 X Z 50 Dz X Y 50 61
Distance Vector Routing Algorithm Poisoned reverse Cannot solve general count-to-infinity problem DY X Z 60 51 Y 60 4 1 X Z 50 Dz X Y 50 ∞
LS Algorithm vs. DV Algorithm Message complexity O(nE) Maybe small Speed of convergence O(n2) algorithm Slow(count-to-infinity problem) Robustness Good Bad
Hierarchical Routing View network as interconnected routers Scale Administrative autonomy Organize routers into autonomy systems(AS)
Hierarchical Routing B.a A.a A.b A.c A.d C.b C.c C.a Host H1 Host H2 Autonomy system(AS) Gateway router Intra-AS Inter-AS
Topological view for inter-AS routing protocol Hierarchical Routing B.a C.a A.a A.c Topological view for inter-AS routing protocol
END