0% found this document useful (0 votes)
129 views

Routing Algorithm

The document summarizes routing algorithms and protocols. It describes link state routing algorithms where each node broadcasts link identities and costs to neighbors, and distances are calculated using Dijkstra's algorithm. It also describes distance vector routing algorithms where each node shares its routing table with neighbors and iteratively calculates distances. Issues like count-to-infinity problems in distance vector routing are addressed using techniques like poison reverse. The document also discusses hierarchical routing where networks are divided into autonomous systems to scale routing.

Uploaded by

Abhishek Jain
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
129 views

Routing Algorithm

The document summarizes routing algorithms and protocols. It describes link state routing algorithms where each node broadcasts link identities and costs to neighbors, and distances are calculated using Dijkstra's algorithm. It also describes distance vector routing algorithms where each node shares its routing table with neighbors and iteratively calculates distances. Issues like count-to-infinity problems in distance vector routing are addressed using techniques like poison reverse. The document also discusses hierarchical routing where networks are divided into autonomous systems to scale routing.

Uploaded by

Abhishek Jain
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

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

You might also like