Distance Vector routing protocols use the Bellman-Ford algorithm for exchanging routing information. Routers using Distance Vector routing protocols do not posses the topological information about the network but instead rely on the neighbors information, which is the reason this method is known as routing by rumor. Distance-vector protocols suffer from possible temporary routing loops; thus additional remedies and enhancements have been introduced, but still with these enhancements these routing protocols can nonetheless have long convergence times in some situations. Distance Vector routing protocols are popular in small networks with few routers but as network size increase Distance Vector routing protocols cannot provide the required services and thus Link State routing protocols are popular in all types and sizes of networks.

The name distance vector is derived from the fact that routes are advertised as vectors of (distance, direction), where distance is defined in terms of a metric and direction is defined in terms of the next-hop router. For example ‘network is 4 hops away, in direction of next-hop router A’. As mentioned previously distance vector routing protocols rely on the neighbor’s information and the statement above confirms the fact, every router running distance vector routing protocol will depends on neighbor’s information even if the neighbor is not very accurate about the information. Routing Loops may occur based on this phenomena and additional loop prevention mechanism have been introduced in distance vector routing protocols.

Some of the characteristics of Distance Vector routing protocols are mentioned below but there is an upcoming lesson in which we go in detail of how distance vector routing protocols work.

· Each Router will send periodic routing table updates to its neighbors. Routing Information Protocol (RIP) will send updates every 30 seconds and Cisco’s Interior Gateway Routing Protocol (IGRP) will send updates every 90 seconds

· Most distance vector routing protocols send a full routing table update to their neighbors.

· Each Distance Vector Protocols employs additional loop prevention mechanism such as split horizon, route invalidation timers counting to infinity etc

Routing Information Protocol (RIP) and Interior Gateway Routing Protocol (IGRP) are examples of Distance Vector routing protocols. RIP is an open standard protocol while IGRP is a Cisco Proprietary protocol which has been discontinued by Cisco and replaced by an Advanced Distance Vector protocol named Enhanced Interior Gateway Routing Protocol (EIGRP).

Routing Information Protocol (RIP) is one of the oldest Interior Gateway Protocols and still used in networks today. There are two versions of RIP, version 1 and version 2. RIP uses Hop Count as the metric and used UDP port 520 to send and receive RIP messages. RIP is based on the Bellman-Ford Algorithm and therefore due to the routing by rumor approach it is not a very scalable protocol and used in small networks. RIP sends out routing advertisements every 30 seconds on all RIP enabled interfaces, it also employs several other timers such as the invalid and flush timers.

Configuration of RIP is very simple. Shown below is a two router network. RIP is being used to advertise the LANs attached to each router so that they are reachable with each other.



RIP Configuration

Basic Configuration

RouterA(config)# router rip

RouterA(config-router)# version 2

RouterA(config-router)# no auto-summary

RouterA(config-router)# network

RouterA(config-router)# network


Modifying Updates

RIP uses hop count as the metric and we can only modify it using the offset-list feature which is covered in detail in Routing Filtering & Manipulation. It must be noted that offset-list feature is a protocol independent feature used for other routing protocols as well such as EIGRP. However parameters and characteristics of a RIP routing update can be modified. By default RIP version 2 updates are multicast and we can configure a Router to unicast these updates.

RouterA(config)# router rip

RouterA(config-router)# neighbor

RouterA(config-router)# passive-interface fa0/0


The neighbor commands instructs RIP to send unicast routing updates to the specified neighbor and the passive-interface command is used to suppress multicast updates out that interface. This is usually used when a router connects on multi-access segment and we want to exchange RIP information with only a specific neighbor.

We can also modify various timers associated with RIP such as the update timer which defines the rate in seconds at which RIP updates are sent. Below is the command syntax to modify various timers used by RIP.

RouterA(config)# router rip

RouterA(config-router)# timer basic update invalid holddown flush



Rate in seconds at which updates are sent. The default is 30 seconds. 


Interval of time (in seconds) after which a route is declared invalid; it should be at least three times the value of the update argument. A route becomes invalid when there is an absence of updates that refresh the route. The route then enters into a holddown state. The route is marked inaccessible and advertised as unreachable. However, the route is still used for forwarding packets. The default is 180 seconds. 


Interval in seconds during which routing information regarding better paths is suppressed. It should be at least three times the value of the update argument. A route enters into holdown state on receiving an update with a hop count higher than the metric already existing in the routing table. The route is marked inaccessible and advertised as unreachable. However, the route is still used for forwarding packets. When holddown expires, routes advertised by other sources are accepted and the route is no longer inaccessible. The default is 180 seconds.


Amount of time in seconds that must pass before the route is removed from the routing table. The default is 240 seconds.

This will finish our introduction with distance vector routing protocols, we will discuss in detail about the workings of Distance Vector routing protocols in next few lessons.