Routing Algorithms
Routing Algorithms
S A N Shams Rishad
012 193 014
CSE 6125
Routing Algorithms Overview
• The main function of the network layer is routing packets from the
source machine to the destination machine
Routing Algorithms Overview
• Definition: Decide the path packets take from source → destination
• Type
• Non-Adaptive: Fixed Route (AKA Static Route)
• Adaptive: Adjusts with topology (AKA Dynamic Route)
• Metrics (for dynamic algorithms): hops, delay, bandwidth, cost,
reliability
• Goal: minimize delay, avoid loops, balance load
• Examples: RIP, OSPF, EIGRP, IS-IS, BGP
Optimality Principle (Bellman, 1957)
“If router J lies on the optimal path from I to K, then the optimal path
from J to K is also along that route.”
2 9
• Shortest Path from a fixed node to
every other node
A 5 1 C
3
• E.g. cities and routes between them
8 3
D F
2
1. Mark all the Nodes as “Unvisited”
6
B E
2 9
A 5 1 C
3
8 3
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A
B
A 5 1 C C
3
D
8 3 E
F
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B ∞
A 5 1 C C ∞
3
D ∞
8 3 E ∞
F ∞
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B ∞
A 5 1 C C ∞
3
D ∞
8 3 E ∞
F ∞
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
3
D 8 D
8 3 E ∞
F ∞
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
3
D 8 D
8 3 E ∞
F ∞
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
3
D 8 D
8 3 E ∞
F ∞
D F
2
2+6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 2+5 1 C C ∞
3
D 8 D
8 3 E ∞
F ∞
D F
2
2+6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 2+5 1 C C ∞
3
D 8 D
8 3 E 8 B
F ∞
D F
2
2+6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 2+5 1 C C ∞
3
D 7 B
8 3 E 8 B
F ∞
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
3
D 7 B
8 3 E 8 B
F ∞
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
3
D 7 B
8 3 E 8 B
F ∞
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
7+3
D 7 B
8 3 E 8 B
F ∞
D F
7+2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
7+3
D 7 B
8 3 E 8 B
F 9 D
D F
7+2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C ∞
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 8+9
A 0
B 2 A
A 5 8+1 C C ∞
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 8+9
A 0
B 2 A
A 5 8+1 C C 17 E
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 17 E
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 17 E
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 17 E
3
D 7 B
8 9+3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 9+3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
Say, we want to go from “A” to “C”
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
Say, we want to go from “A” to “C”
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
Say, we want to go from “A” to “C”
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
Say, we want to go from “A” to “C”
6
B E Shortest Previous
Node
Distance Node
2 9
A 0
B 2 A
A 5 1 C C 12 F
3
D 7 B
8 3 E 8 B
F 9 D
D F
2
From A to C: 3 + 2 + 5 + 2 = 12