There are two major classes of intra-domain routing protocols for packet switched networks. They are (a) Distance Vector Protocol (b) Link state Protocol. Distance vector routing protocols have less overhead and are easy to compute.
As the message overhead is less, the bandwidth required to send the packets using distance vector routing protocol is also less. Distance vector routing protocol does not have information about the entire path to the destination. Instead, they have information about
- Interface from which packet should be forwarded
- Distance of the router from a destination.
Algorithms like Bellman–Ford algorithm, Ford–Fulkerson algorithm or DUAL FSM are used in distance-vector routing protocols. The router informs the changes in the topology to its neighbours periodically through broadcasts.
The broadcasts are sent from all the interfaces available on the router using the IP address 255.255.255.255. The broadcast contains entire routing table and sent for every 30 seconds. If the network is large, more broadcasts are required to transfer the routing table to the adjacent routers.
Routing protocols like Routing Information Protocol (RIP), Interior Gateway Routing Protocol (IGRP), and Babel are the examples of protocols that uses distance vector routing protocol. Distance Vector Routing Protocol uses hop count as metric to select the best path. It does not consider other metrics like cost, bandwidth, delay etc.
Hop count is the count of a number of routers that a packet has to pass before it reaches its destination. Routing Information Protocol (RIP) supports a maximum hop count of 15. If the hop count is 16, it considers the destination as not reachable or unreachable. The maximum hop count in case of Interior Gateway Routing Protocol (IGRP) is 254. The destination with a hop count greater than or equal to 255 is considered as unreachable.
The major problem with distance vector routing protocols is Count to Infinity. The routers maintain the routing table based on the information received from the neighbours. But the router actually does not know whether the neighbouring router has a path to the destination path from it or not. Consider a network with three routers A, B and C. Router A is one hop from Router B and two hops from C.
Assume that Router A is down for some reason. Hence, B will not get any update from A. Hence router B knows router A is down. But Router C does not have information about it. Hence, Router C updates the Router B that Router A is 2 hops from it.
Now router B updates the table stating Router A is 3 hops (2 from C and 1 to C) from it. Later it forwards the update to C where the Router C changes its table stating router A is 3+1 from B. This false information is spread over the network till the hop count reaches infinity.