2.2 Dijkstra's Algorithm



Dijkstra's algorithm is a well-known shortest path routing algorithm.

It works on the notion of a candidate neighboring node set as well as the source's own computation to identify the shortest path to a destination.

Another interesting property about Dijkstra's algorithm is that it computes shortest paths to all destinations from a source, instead of just for a specific pair of source and destination nodes at a time which is very useful, especially in a communication network, since a node wants to compute the shortest path to all destinations.

Example of Shortest path algorithm: Open Shortest Path first (OSPF)
OSPF an interior gateway routing protocol developed for IP networks based on the shortest path first or link-state algorithm.
Routers use link-state algorithms to send routing information to all nodes in an internetwork by calculating the shortest path to each node based on topography of the Internet constructed by each node. Each router sends that portion of the routing table (keeps track of routes to particular network destinations) that describes the state of its own links, and it also sends the complete routing structure (topography).

2.2 Dijkstra's Algorithm



The advantage of shortest path first algorithms is that they results in smaller more frequent updates everywhere. They converge quickly, thus preventing such problems as routing loops and Count-to-Infinity (when routers continuously increment the hop count to a particular network). This makes for a stable network.

The disadvantage of shortest path first algorithms is that they require a lot of CPU power and memory. In the end, the advantages outweigh the disadvantages.

2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm




2.2 Dijkstra's Algorithm