Network Algorithms
Network Algorithms
(j)
k
i
(j)
(j)
Sink Trees
• The set of optimal
routes to a particular
node forms a sink
tree.
• Sink trees are not
necessarily unique
• Goal of all routing
algorithms
– Discover sink trees for
all destinations
Shortest Path Routing
(a nonadaptive routing algorithm)
Z
• Perhaps A*ZE is a better path to E than ABE
• nodes are made permanent when paths to them are the shortest paths in the
graph
• All subsequent paths found to permanent nodes will be at least as long as
previously found paths
• Two cases
1) If Z is permanent, then we have already checked A*ZE
2) If Z is tentatively labeled, paths to Z must be longer than paths to E, otherwise
Z would have been made permanent
Flooding
(A non-adaptive routing algorithm)
• Brute force routing
– Every incoming packet is sent on every outgoing line
– Always finds the shortest path quickly
– Also finds many long paths
– Time to live is set to size of subnet
• Selective Flooding
– Flood only in the direction of the destination
• Practical in a few settings
– Military Applications
– Distributed Databases
– Metric for comparison
Distance Vector Routing
(an adaptive routing algorithm)
• Defining Infinity
• Split Horizon
• Split Horizon and Poison Reverse
Link State Routing
(an adaptive routing algorithm)
Five Steps