This site requires JavaScript for navigation. Please enable JavaScript for the best learning experience.

RIP is a dynamic, distance vector routing protocol based around the Berkely BSD application routed and was developed for smaller IP based networks. RIP uses UDP port 520 for route updates. RIP calculates the best route based on hop count. Like all distance vector routing protocols, RIP takes some time to converge. While RIP requires less CPU power and RAM than some other routing protocols, RIP does have some limitations:

Metric: Hop Count
Since RIP calculates the best route to a destination based solely on how many hops it is to the destination network, RIP tends to be inefficient in network using more than one LAN protocol, such as Fast Ethernet and serial or Token Ring. This is because RIP prefers paths with the shortest hop count. The path with the shortest hop count might be over the slowest link in the network.
Hop Count Limit
RIP cannot handle more than 15 hops. Anything more than 15 hops away is considered unreachable by RIP. This fact is used by RIP to prevent routing loops.
Classful Routing Only
RIP is a classful routing protocol. RIP cannot handle classless routing. RIP v1 advertises all networks it knows as classful networks, so it is impossible to subnet a network properly via VLSM if you are running RIP v1, which

However, it must be pointed out that RIP is the only routing protocol that all routing devices and software support, so in a mixed equipment environment, RIP may be your only option for dynamic routing. This is changing with the widespread use of OSPF.


RIP updates are placed as UDP payload inside an IP datagram. Below is the base format of a RIP message.

command version zeroes
Address Family ID zeroes
IP Address



COMMAND types (field value)

  • REQUEST (1)- Request either a partial or full table update from another RIP router.
  • RESPONSE (2) - A response to a request. All route updates use this command in the command field.
  • TRACEON (3) / TRACEOFF (4) - Obsolete and ignored.
  • RESERVED (5) - Sun Microsystems uses this field for it's own purposes.

VERSION field - Describes which version of the RIP protocol it is (1 or 2).

ADDRESS FAMILY ID - Identifies which addressing protocol is being used (CLNS, IPX, IP etc.)

METRIC - Metric measures how 'good' a route is. RIP uses the number of hops as the metric. The route with the fewest number of hops is preferred.


Routers running IP RIP broadcast the full list of all the routes they know every 30 seconds. When a router running RIP hears a broadcast it runs the distance vector algorithm to create a list of best routes.


Update 30 sec. Interval between route update advertisements
Hold-Down 90 sec. Period a route is withdrawn from the table to prevent a routing loop.
Timeout 180 sec. Interval a route should stay 'live' in the routing table. This counter is reset every time the router hears an update for this route.
Flush 120 sec. How long to wait to delete a route after it has timed out.

The routing-update timer controls the time between routing updates. Default is usually 30 seconds, plus a small random delay to prevent all RIP routers from sending updates simultaneously.

The route-timeout timer controls when a route is no longer available. The default is usually 180 seconds. If a router has not seen the route in an update during this specified interval, it is dropped from the router's announcements. The route is maintained long enough for the router to advertise the route as down (hop count of 16).

The route-flush timer controls how long before a route is completely flushed from the routing table. The default setting is usually 120 seconds.


Configuring a Cisco router for RIP requires a series of configuration steps. First you must turn on the RIP routing protocol, then you must identify the network that will be advertised and which interfaces will advertise it with the network statement.


According to the recollection of InetDaemon, configuring a Cisco router for a basic RIP configuration would look something like this:

  router> enable
  router# conf t
  router(config)#interface ethernet 0
  router(config-if)# ip address
  router(config-if)# interface ethernet 1
  router(config-if)# ip address
  router(config-if)# exit
  router(config)# router rip
  router(config-router)# network
  router(config-router)# network
  router(config-router)# exit
  router(config-router)# ^z

The example above assumes that the interfaces that will be running RIP have IP addresses on them that fall within the, and class C ranges.


Bookmark this page and SHARE:  


Support InetDaemon.Com

Get Tutorials in your INBOX!

Free Training