Wednesday, 23 February 2011

Distance Vector is a relatively simple approach and easy to use, implement and maintain and does not require High-level knowledge to deploy. Moreover, it does not demand high bandwidth level to send their periodic updates as the size of the packets are relatively small. Furthermore, distance vector protocols do not require a large amount of CPU resources or memory to store the routing data.

The main drawbacks of Distance Vector are limited scalability due to slow convergence time, bandwidth consumption and routing loops.

“Convergence time is the time needed for all routers within a single routing domain to receive, process and build their routing table” (Osterloh, 2002). Because RIP routers must fully process the updates they receive and then wait for 30-second interval before sending route information to their neighbours, convergence time is slow; therefore, it is not suitable for large networks that require very small propagation delay. Another problem is bandwidth consumption, which is caused by the unsolicited periodic update, which takes place every 30 seconds if the network has not changed.

One final problem is the routing loops, which has a severe impact on the overall network performance. A routing loop is defined as a condition in which a packet is continuously retransmitted among several routers without reaching its destination (Graziani & Johnson, 2009). A routing loop occurs when two or more routers have incorrect routing information to a destination network. Routing loops over-utilise the links between routers because of the endless looping traffic, as well as wasting the processor resources for forwarding useless traffic between the network routers. Consequently, routing loops lead to another problem called “ Counting–to-Infinity” which is a condition occur when inaccurate routing updates increase the hop number to “infinity” for a network that no longer exist (Graziani & Johnson, 2009).

However, the routing loops problem has been solved by several approaches. First; by setting a maximum metric value to stop counting to infinity, for instance, RIP has a maximum of 16 hops, so the network with a metric of 16 is considered as unreachable. Second; by using Hold-Down timers; for example, if some routers interfaces reset up and down in a rapid succession, Hold-Down timer prevents the router from quickly reacting to the unstable topology changes. Third, by adding Time to Live (TTL) field in the IP header that can limits the number of hops for a packet across the network before it is discarded. Furthermore, Split Horizon method and route poisoning could also address the routing loops. Split Horizon prevents the advertisement of a network through the interface from which the update came from. In turn, poison reverse offers another mechanism to avoid routing loop. Instead of waiting the hop count to reach infinity metric, whenever a network becomes unavailable, the router directly attached to it send triggered update informing to other routers that the network is unavailable not by omitting it, but by setting the metric value of 16 (in case of RIP). Each router receiving this update will send poison updates to all adjacent routers to indicate that the network is no longer reachable. Finally, split horizon with poison reverse method. It is a combination of the poison reverse and split horizon mechanisms. The rule states that a router cannot advertise a network to an interface from which the network was learned. In other words, if router A advertise a network X to router B, when router B sends its periodic update to router A, it will mark network X as unreachable, to tell router B that network X cannot be reached through router A.