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.
algorithms have many applications. They are also important for road network,
operations, and logistics research. Shortest path algorithms are important for
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
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
Let the starting node be
the initial node.
Assign every node a tentative distance value. Set the initial
node to zero and all other nodes to zero.
Mark the initial node as current. Mark all the other nodes as unvisited
and the set of all these nodes into unvisited set.
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.
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.
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.
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.