The main function of the Network layer is to deliver data
packets from the source to the destination network using routers, switches, and
bridges. The problems that the Network layer might encounter include:
-
Overloading of a specific transmission route
-
Inappropriate subnet topology
-
Dependency of the Network layer on the subnet topology and
its number
-
Network congestion
To counter these problems, the subnet topology should be
independent of the Network layer. Similarly, routing algorithms should be used
to ensure proper routing of the data packets from the source to the destination
network. Examples of routing algorithms include flooding, shortest path routing,
and flow based routing.
In the flooding routing algorithm, each data packet is sent to
every router. This results in the creation of multiple data packets. In the
shortest path routing algorithm, a graph is created to identify the shortest
path between the source and destination.
Both the flooding and the shortest path routing algorithm are
based on the topology of subnets but do not take into account the load on each
router. As a result, these routing algorithms do not provide accurate results.
To ensure accurate results with respect to selecting the appropriate router, the
anticipated load on the router needs to be considered. This is done by using the
flow-based routing algorithm, which identifies the shortest route between the
source and destination networks with minimum data transmission load.
Network congestion hampers smooth flow of data and may
corrupt the data packets being transmitted. The Network layer applies congestion
control algorithms to counter the problems of network congestion. These
congestion control algorithms monitor the network to detect the probable areas
where network congestion can occur and apply corrective action to reduce the
congestion.