Shortest path

routing is the process of finding paths through a network that have a minimum

distance between two stations/points.

It can also be considered

as a function of distance, bandwidth, average traffic, communication cost,

router processing speed, etc.

Shortest path

algorithms have many applications. They are also important for road network,

operations, and logistics research. Shortest path algorithms are important for

computer networks.

Routing of data packets

on the Internet is an example which involves millions

of routers in a complex worldwide network.

Any software that helps

you choose a route uses some form of a shortest path algorithm. Google Maps is

on such real-life instance that uses shortest path algorithm. Here, the

application automatically suggests the shortest path to reach the given

destination.

Finding an optimum routing

on the internet has a major impact on performance and cost.

To solve shortest path

problem we use graphs. The graph has a few properties. First, the direction of

the edges. Edge refers to the arrow that is used to connect two vertices. The

edges can be unidirectional or bidirectional. If it is a directional edge, it

is a directed graph. And if it’s a bidirectional edge it is a undirected graph.

Second, the weight of the edge. Weights represent time or cost required to

reach the destination or the next hop vertex.

There are several

algorithms to solve the shortest path problem. One such is Dijkstra’s

algorithm.

Let the starting node be

the initial node.

1.

Assign every node a tentative distance value. Set the initial

node to zero and all other nodes to zero.

2.

Mark the initial node as current. Mark all the other nodes as unvisited

and the set of all these nodes into unvisited set.

3.

For the current node, calculate the tentative distances of

all its neighbours. Compare the calculated tentative distance with the current

node and assign the smaller one. Otherwise, keep the current value.

4.

After all the neighbours of the current node are considered,

mark the current node as visited and remove it from the unvisited set. A

visited node will never be checked again.

5.

If the destination node is visited or if there is no connection

between the initial node and the remaining unvisited nodes, then stop. The

algorithm has finished.

6.

Else, select the unvisited node that has the smallest tentative

distance and set it as the current node and repeat step 3.

Tools required to complete the project is NS2. The above

algorithm for the computation of shortest path would be implemented.