Routing Information Protocol (RIP) is one of the oldest routing protocols used by routers within a small geographic location to find routes to various networks within an internetwork.
In this article I’ll provide you with the details of RIP’s operation, drawbacks and improvements. I will put emphasis on enabling and configuring RIP with the help of a three router internetwork example.
RIP version 2 is the successor of RIP version 1; it was designed to resolve the great limitations of RIP version 1. Today I will concentrate on RIPv1 and in Part 2 of this (available next week) I’ll focus the newer version of RIP — both of which are covered in the CCENT exam objectives.
RIP protocol is also called routing by rumor protocol because RIP enabled routers to send the entire routing table to directly connected neighbors every 30 seconds. Therefore, routing updates within an internetwork are propagated from router to router in a rumor sense of way — from neighbor to neighbor. For this reason RIP has slow convergence time and this is one of the problems concerning RIP.
Let’s take a look at a sample three-router diagram (illustrated below) to indicate the steps of RIPs propagation and convergence.

The routing table in each router keeps bundle information about:
Stage 1: Each router knows only its directly connected networks

Hop count of 0 means that the specific network is a directly connected network
Stage 2: Routing tables after the first RIP update message exchange

Hop count of 1 means that the specific network is one hop away. It can be seen by looking at the above table that certain networks can be reached via 2 links. RIP is able to perform load balancing on links that point to the same network with the same hop count.
Stage 3: Converged routing tables

Finally the routing tables are converged. Now packets to all these networks can be routed successfully.
Due to the slow convergence time and the rumor behavior, RIP has certain drawbacks. The most important ones are:

Let’s assume that network 172.16.5.0 is unavailable. During the next RIP update, R4 finds out that it can no longer route to that network through router R5. After the second update R3 knows that it can no longer route to network 172.16.5.0 through router R4. But it is informed from router R1 that it can reach this network through it.
A loop is created; traffic to network 172.16.5.0 will go from R3 to R1 to R2 to R3 and loop continuously.
This is relative to the count to infinity problem. Changes are propagated slowly leading to unreliable and unstable network routing infrastructure. Moreover, sending the complete routing table via neighboring links causes excessive CPU processing and link bandwidth starvation. All of these, combined with the slow convergence behavior lead to inconsistent routing tables and routing loops.
A few Mechanisms have been developed to prevent routing RIPs routing loops. Among them are:
A maximum of 15 hop counts has been incorporated into RIPs design. Loops may still exist but packets don’t go around travelling in rounds. At the sixteenth hop, they are dropped. This feature controls not only the behavior of loop packets but the time that it takes for a routing table entry to become invalid
This is another mechanism used to avoid routing loops. It states that: no routing information is allowed to be sent back in the direction from which it was received. In our example, this mechanism would prevent R1 from sending back information it just received from R3 back to R3.
We will use our sample network (take a look at figure 1 above) to configure RIP on all three routers. Configuring RIP is pretty much straight forward. You just turn on the protocol stack with the help of the command router rip and then instruct RIP which networks to advertise.
Let’s start by configuring routerA. This specific router has three directly connected networks. We want these networks to be advertised by RIP and this is how we do it:
RouterA(config)#router rip
RouterA(config-router)#network 192.168.10.0
RouterA(config-router)#network 195.14.25.0
RouterA(config-router)#network 195.14.125.0
Always remember that for RIP as well as for the IGRP, we use the classful address of networks. In other words, RIP’s advertisements do not use subnet masks; they only use the network class of addresses and that is why RIP is defined as a classful routing protocol. It is responsible to find the subnets and place them in the routing table.
For example, we have advertised network 195.14.25.0 (class C) and not subnet 195.14.25.60.
To configure RIP protocol on RouterB we use the following commands:
RouterB(config)#router rip
RouterB(config-router)#network 192.168.20.0
RouterB(config-router)#network 195.14.25.0
RouterB(config-router)#network 195.14.125.0
Finally to configure RIP on RouterC we issue the following:
RouterC(config)#router rip
RouterC(config-router)#network 192.168.30.0
RouterC(config-router)#network 195.14.25.0
There are cases where you want to stop RIP messages from being advertised out a certain link segment to the internet, for example, or to another LAN. You can always stop RIP messages using the passive-interface command. For example:
RouterC(config)#router rip
RouterC(config-router)#passive-interface FE1
This command stops RIP messages from being broadcasted out interface FE1, but at the same time that specific interface could still receive RIP messages.
By default, RIP update messages are broadcasted every 30 seconds. Therefore, every 30 seconds each router sends its complete routing table to its neighbors.
If for some reason, an update for a particular route is not received within a period of 180 seconds then that specific route is declared as invalid and the router which identified that, informs all its neighbors about this invalid route.
Next week I’ll talk about RIPv2, which is an enhancement of RIPv1. It includes subnet masks in its routing updates therefore, it is considered to be a classless routing protocol. Moreover, RIPv1 discontinuous networks are avoided since they are identified by their distinctive subnet mask.
Our instructor led video training covers the Cisco CCENT Certification and Cisco Networking, including the 64-822 ICND1: Interconnecting Cisco Network Devices Exam. Some of the topics in this training include:
Get your start in Cisco networking — the CCENT certification is your half-way point to your CCNA certification!
adebanwo ibukun Says:
November 23rd, 2007 at 11:23 am
This is very educative , i hope a class like this continues
raji oseni Says:
November 29th, 2007 at 7:12 am
i am very happy about this information it had wilding my view, i wish to go on and on with it.
basharath Says:
December 7th, 2007 at 7:37 am
It was really a good review for me. Thanks
Elie Says:
December 18th, 2007 at 3:31 pm
Fantastic quick summary ! Always need a refresher from time to time :)
Gareth Carolan Says:
January 18th, 2008 at 6:20 am
As usual Train Signal delivers top quality IT information
Manisha Gupta Says:
March 31st, 2008 at 9:56 pm
Really it is so good.
Brad Says:
June 19th, 2008 at 11:35 pm
Thanks for the help and this is a good article but one small complaint.
The link between routers B and C is listed as 195.14.30.60/30 in the diagram but in all the tables and configs it is listed as 195.14.25.60/30 which makes it very confusing! Especially when you enter one network command for the S0 and FE0 interfaces.
I know mistakes are going to happen but training companies should make very few of them because when people are learning they may not ever figure out if they are wrong or the material is wrong.
I’ve been through the CCNA Boot Camp videos with Chris Bryant, Lammle’s 640-802 and ExamCram 640-802.
Chris has very few mistakes but the course leaves out a lot of details needed for the test.
Lammle writes a ton and has some mistakes but leaves out a lot of details needed for the test.
ExamCram has the most details literally crammed into a short read but has some mistakes in the text but the chapter questions are rife with mistakes.
Just wish training manuals/materials were proof read better!!!
Good luck to everyone.