Routing selects the best paths in the network. It is the act of finding a path from one place to another on which a packet can travel. Routing is said to contain three elements:
- Routing protocols: The protocols that allow information to be gathered and distributed.
- Routing algorithms: To determine paths.
- Routing databases: To store information that the algorithm has discovered. The routing database sometimes corresponds directly to routing table entries, sometimes not.
The routing process usually directs forwarding on the basis of routing tables which maintain a record of the routes to various network destinations.
The two main functions of routing are the selection of routes for various origin-destination pairs and the delivery of messages to their correct destination. The second function is conceptually using a variety of protocols and data structures.
- Correctness and simplicity: The packets are to be correctly delivered. Simpler the routing algorithm, it is better.
- Robustness: Ability of the network to deliver packets via some route even in the face of failures.
- Stability: The algorithm should converge to equilibrium fast in the face of changing conditions in the network.
- Fairness and optimality: obvious requirements, but conflicting.
- Efficiency: Minimum overhead
Routing congestion occurs when too many routes need to go through an area that does not have enough routing tracks to accommodate them. Once the traffic is determined, then basically you can have two options. Traffic can be stopped, or traffic can be allowed. To increase the routing options we can add more bandwidth, Perform quality of service (QoS) on the traffic or Compress the traffic.
For this there are network dealers that provide routers which have their own significance and can be selected as per the use. They are:
a) CISCO Routers
b) Juniper Routers