Monday, February 22, 2010

Lecture 8: Routing Algorithms (Feb 17)

Today's lecture talks about routing algorithms, which are used by routers to determine where data packets should go in a network. This problem is essentially that of finding the shortest route through a weighted graph.

These algorithms may use global or local information. The routing itself can be relatively static or dynamic over time. Dijkstra's algorithm uses global information and constructs a shortest-path tree from a given router. For this strategy, every router remembers the complete topology of the network and paths toward each location. Bellman-Ford algorithm uses local information and broadcasted network changes to approximate and over time attain optimal routes. For this strategy, each router remembers their known closest distance to all locations in the network and the first hop toward that location.

In both algorithms, changes in the network may cause instabilities. Dijkstra's algorithm may have instabilities if packets change edge weights in a network graph. Bellman-Ford algorithm has troubles propagating information about increase in transmission costs or dead connections.

No comments:

Post a Comment