Routing Algorithms
• The Optimality Principle
• Shortest Path Routing
• Flooding
• Distance Vector Routing
• Link State Routing
• Hierarchical Routing
• Broadcast Routing
• Multicast Routing
• Routing for Mobile Hosts
• Routing in Ad Hoc Networks
Routing Algorithms (2)
Conflict between fairness and optimality.
The Optimality Principle
(a) A subnet. (b) A sink tree for router B.
Shortest Path Routing
The first 5 steps used in computing the shortest path from A to D.
The arrows indicate the working node.
Distance Vector Routing
(a) A subnet. (b) Input from A, I, H, K, and the new
routing table for J.
Distance Vector Routing (2)
The count-to-infinity problem.
Link State Routing
Each router must do the following:
1. Discover its neighbors, learn their network address.
2. Measure the delay or cost to each of its neighbors.
3. Construct a packet telling all it has just learned.
4. Send this packet to all other routers.
5. Compute the shortest path to every other router.
Learning about the Neighbors
(a) Nine routers and a LAN. (b) A graph model of (a).
Measuring Line Cost
A subnet in which the East and West parts are connected by two lines.
Building Link State Packets
(a) A subnet. (b) The link state packets for this subnet.
Distributing the Link State Packets
The packet buffer for router B in the previous slide (Fig. 5-13).
Hierarchical Routing
Hierarchical routing.
Broadcast Routing
Reverse path forwarding. (a) A subnet. (b) a Sink tree. (c) The
tree built by reverse path forwarding.
Multicast Routing
(a) A network. (b) A spanning tree for the leftmost router.
(c) A multicast tree for group 1. (d) A multicast tree for group 2.