Adaptive routing algorithms, also known as dynamic routing algorithms, makes routing decisions dynamically while transferring data packets from the source to the destination. These algorithms constructs routing tables depending on the network conditions like network traffic and topology. They try to compute computes the best path, i.e. “least – cost path”, depending upon the hop count, transit time and distance.
Types of Adaptive Routing Algorithms
The three popular types of adaptive routing algorithms are shown in the following diagram −
Centralized algorithm − In centralized routing, one centralized node has the total network information and takes the routing decisions. It finds the least-cost path between source and destination nodes by using global knowledge about the network. So, it is also known as global routing algorithm. The advantage of this routing is that only the central node is required to store network information and so the resource requirement of the other nodes may be less. However, routing performance is too much dependent upon the central node. An example of centralized routing is link state routing algorithm.
Isolated algorithm − In this algorithm, the nodes make the routing decisions based upon local information available to them instead of gathering information from other nodes. They do not have information regarding the link status. While this helps in fast decision making, the nodes may transmit data packets along congested network resulting in delay. The examples of isolated routing are hot potato routing and backward learning.
Distributed algorithm − This is a decentralized algorithm where each node receives information from its neighbouring nodes and takes the decision based upon the received information. The least-cost path between source and destination is computed iteratively in a distributed manner. An advantage is that each node can dynamically change routing decisions based upon the changes in the network. However, on the flip side, delays may be introduced due to time required to gather information. Example of distributed algorithm is distance vector routing algorithm.