KEMBAR78
Routing algorithm | PPT
Routing Algorithm 2004. 11. 3 Ahn Kook Jin
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) source host destination host 5 2 1 2 3 1 3 5 2 1 B A C E D F first-hop router default router source router destination 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 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 2+e 0 0 1+e 0 0 0 1 1 0 0 0 e 0 1+e 0 0 0 0 0 1+e 1 2+e 0 2+e 0 0 1+e 0 0 0 1
Distance Vector Routing Algorithm Iterative, asynchronous, distributed Distance table D X (Y,Z) : cost of the direct link from X to Z + Z’s currently known minmum-cost path to Y D X (Y,Z)=c(X,Z)+min w {D z (Y,w)}
Distance Vector Routing Algorithm Initialization: D X (*,v) = inifinite, D X (v,v)=c(x,v) Send min w D X (y,w) to each neighbor when they changes C(X,V) changes Neighbor node send its update
Distance Vector Routing Algorithm 7 2 1 Y X Z 7 ∞ Z ∞ 2 Y Z Y D X 1 ∞ Z ∞ 2 X Z X D Y 1 ∞ Y ∞ 7 X Y X D z
Distance Vector Routing Algorithm 7 2 1 Y X Z 7 3 Z 8 2 Y Z Y D X 1 9 Z 8 2 X Z X D Y 1 9 Y 3 7 X Y X D z
Distance Vector Routing Algorithm 7 2 1 Y X Z 7 3 Z 8 2 Y Z Y D X 1 5 Z 4 2 X Z X D Y 1 9 Y 3 7 X Y X D z
Distance Vector Routing Algorithm Decrease 50 4 1 1 Y X Z 6 4 X Z X D Y 5 50 X Y X D z
Distance Vector Routing Algorithm Decrease 50 4 1 1 Y X Z 6 1 X Z X D Y 5 50 X Y X D z
Distance Vector Routing Algorithm Decrease 50 4 1 1 Y X Z 6 1 X Z X D Y 2 50 X Y X D z
Distance Vector Routing Algorithm Decrease 50 4 1 1 Y X Z 6 1 X Z X D Y 2 50 X Y X D z
Distance Vector Routing Algorithm Increase 50 4 1 60 Y X Z 6 4 X Z X D Y 5 50 X Y X D z
Distance Vector Routing Algorithm Increase 50 4 1 60 Routing loop Y X Z 6 60 X Z X D Y 5 50 X Y X D z
Distance Vector Routing Algorithm Increase 50 4 1 60 Y X Z 6 60 X Z X D Y 7 50 X Y X D z
Distance Vector Routing Algorithm Increase 50 4 1 60 Y X Z 8 60 X Z X D Y 7 50 X Y X D z
Distance Vector Routing Algorithm Increase 50 4 1 60 Too many iterations! (count-to-infinity problem) Y X Z 8 60 X Z X D Y 9 50 X Y X D z
Distance Vector Routing Algorithm Poisoned  reverse 50 4 1 60 Y X Z ∞ 4 X Z X D Y 5 50 X Y X D z
Distance Vector Routing Algorithm Poisoned  reverse 50 4 1 60 Y X Z ∞ 60 X Z X D Y 5 50 X Y X D z
Distance Vector Routing Algorithm Poisoned  reverse 50 4 1 60 Y X Z ∞ 60 X Z X D Y 61 50 X Y X D z
Distance Vector Routing Algorithm Poisoned  reverse 50 4 1 60 Y X Z 51 60 X Z X D Y 61 50 X Y X D z
Distance Vector Routing Algorithm Poisoned  reverse Cannot solve general count-to-infinity problem 50 4 1 60 Y X Z 51 60 X Z X D Y ∞ 50 X Y X D z
LS Algorithm vs. DV Algorithm Bad Good Robustness Slow(count-to-infinity problem) O(n 2 ) algorithm Speed of convergence Maybe small O(nE) Message complexity DV LS
Hierarchical Routing View network as interconnected routers Scale Administrative autonomy Organize routers into autonomy systems(AS)
Hierarchical Routing Autonomy system(AS) Gateway router Intra-AS Inter-AS B.a B.a A.a A.b A.c A.d C.b C.c C.a Host H1 Host H2
Hierarchical Routing Topological view for inter-AS routing protocol B.a A.a A.c C.a
END

Routing algorithm

  • 1.
    Routing Algorithm 2004.11. 3 Ahn Kook Jin
  • 2.
    Contents Routing Protocoland Algorithm Classifications Link State Routing Algorithm Distance Vector Routing Algorithm LS Algorithm vs. DV Algorithm Hierarchical Routing
  • 3.
    Routing Protocol andAlgorithm Determining the path(route) source host destination host 5 2 1 2 3 1 3 5 2 1 B A C E D F first-hop router default router source router destination router least-cost path
  • 4.
    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 vs. load-insensitive load-sensitive : link costs reflect congestion Typical used Dynamic link state routing algorithm Dynamic distance vector routing algorithm
  • 5.
    Link State RoutingAlgorithm Each node broadcasts the identities and costs to its directly attached neighbors Dijkstra’s algorithm
  • 6.
    Link State RoutingAlgorithm Oscillation(page 307) D B C A e 1 1 2+e 0 0 1+e 0 0 0 1 1 0 0 0 e 0 1+e 0 0 0 0 0 1+e 1 2+e 0 2+e 0 0 1+e 0 0 0 1
  • 7.
    Distance Vector RoutingAlgorithm Iterative, asynchronous, distributed Distance table D X (Y,Z) : cost of the direct link from X to Z + Z’s currently known minmum-cost path to Y D X (Y,Z)=c(X,Z)+min w {D z (Y,w)}
  • 8.
    Distance Vector RoutingAlgorithm Initialization: D X (*,v) = inifinite, D X (v,v)=c(x,v) Send min w D X (y,w) to each neighbor when they changes C(X,V) changes Neighbor node send its update
  • 9.
    Distance Vector RoutingAlgorithm 7 2 1 Y X Z 7 ∞ Z ∞ 2 Y Z Y D X 1 ∞ Z ∞ 2 X Z X D Y 1 ∞ Y ∞ 7 X Y X D z
  • 10.
    Distance Vector RoutingAlgorithm 7 2 1 Y X Z 7 3 Z 8 2 Y Z Y D X 1 9 Z 8 2 X Z X D Y 1 9 Y 3 7 X Y X D z
  • 11.
    Distance Vector RoutingAlgorithm 7 2 1 Y X Z 7 3 Z 8 2 Y Z Y D X 1 5 Z 4 2 X Z X D Y 1 9 Y 3 7 X Y X D z
  • 12.
    Distance Vector RoutingAlgorithm Decrease 50 4 1 1 Y X Z 6 4 X Z X D Y 5 50 X Y X D z
  • 13.
    Distance Vector RoutingAlgorithm Decrease 50 4 1 1 Y X Z 6 1 X Z X D Y 5 50 X Y X D z
  • 14.
    Distance Vector RoutingAlgorithm Decrease 50 4 1 1 Y X Z 6 1 X Z X D Y 2 50 X Y X D z
  • 15.
    Distance Vector RoutingAlgorithm Decrease 50 4 1 1 Y X Z 6 1 X Z X D Y 2 50 X Y X D z
  • 16.
    Distance Vector RoutingAlgorithm Increase 50 4 1 60 Y X Z 6 4 X Z X D Y 5 50 X Y X D z
  • 17.
    Distance Vector RoutingAlgorithm Increase 50 4 1 60 Routing loop Y X Z 6 60 X Z X D Y 5 50 X Y X D z
  • 18.
    Distance Vector RoutingAlgorithm Increase 50 4 1 60 Y X Z 6 60 X Z X D Y 7 50 X Y X D z
  • 19.
    Distance Vector RoutingAlgorithm Increase 50 4 1 60 Y X Z 8 60 X Z X D Y 7 50 X Y X D z
  • 20.
    Distance Vector RoutingAlgorithm Increase 50 4 1 60 Too many iterations! (count-to-infinity problem) Y X Z 8 60 X Z X D Y 9 50 X Y X D z
  • 21.
    Distance Vector RoutingAlgorithm Poisoned reverse 50 4 1 60 Y X Z ∞ 4 X Z X D Y 5 50 X Y X D z
  • 22.
    Distance Vector RoutingAlgorithm Poisoned reverse 50 4 1 60 Y X Z ∞ 60 X Z X D Y 5 50 X Y X D z
  • 23.
    Distance Vector RoutingAlgorithm Poisoned reverse 50 4 1 60 Y X Z ∞ 60 X Z X D Y 61 50 X Y X D z
  • 24.
    Distance Vector RoutingAlgorithm Poisoned reverse 50 4 1 60 Y X Z 51 60 X Z X D Y 61 50 X Y X D z
  • 25.
    Distance Vector RoutingAlgorithm Poisoned reverse Cannot solve general count-to-infinity problem 50 4 1 60 Y X Z 51 60 X Z X D Y ∞ 50 X Y X D z
  • 26.
    LS Algorithm vs.DV Algorithm Bad Good Robustness Slow(count-to-infinity problem) O(n 2 ) algorithm Speed of convergence Maybe small O(nE) Message complexity DV LS
  • 27.
    Hierarchical Routing Viewnetwork as interconnected routers Scale Administrative autonomy Organize routers into autonomy systems(AS)
  • 28.
    Hierarchical Routing Autonomysystem(AS) Gateway router Intra-AS Inter-AS B.a B.a A.a A.b A.c A.d C.b C.c C.a Host H1 Host H2
  • 29.
    Hierarchical Routing Topologicalview for inter-AS routing protocol B.a A.a A.c C.a
  • 30.