RIP timers are the most basic thing in the world right? Even the command to set them is named timers basic… However in some documentation it is not really clear what the difference is between the invalid and holddown timer. The default timers are 30 for updates, 180 for invalid, 180 for holddown and 240 for flush. I have heard and seen described in official documentation that when a route is in holddown it will not accept routes with a worse metric but routes with a better metric. This is however not true. First lets describe the different timers.

Updates – Updates are sent every 30 seconds by default to the address 224.0.0.9.

Invalid – If there has not been any updates for 180 seconds about the prefix it is consider invalid and the route will be poisoned (route advertised with a metric of 16).

Holddown – The timer for holddown will be activated when the route goes into an invalid state. This is set to 180 by default.

Flush – This timer is set to 240 seconds, when a routes is 240 seconds old it is flushed from the routing table.

So the holddown timer is used to stabilize the topology, even better routes will be suppressed which is not what some documentation says. Here is how I tested it.

I created a topology with 3 routers connecting to each other and both the routers announced 1.1.1.1/32 to the middle router. I created an ACL on the middle router to filter all traffic so that the best route will become invalid. On the third router I used an offset-list to make the route worse. After the route became invalid I stopped sending the route with a worse metric and sent it with a better metric. However the route is still not installed until the holddown timer has expired. If you manipulate the timers it is easier to see. I used 5 seconds for updates, 30 for invalid, 30 for holddown and flush of 240. You will see that it takes 60s before the route gets installed.

If you use the standard timers the holddown timer will not expire before the route is flushed since the 180 seconds start counting after 180s by default and then there is only 60s left until the route is flushed. Try this out for yourself and see if you get the same results as I.

Here is a good link describing the timers.

RIP timers
Tagged on:                 

4 thoughts on “RIP timers

  • October 18, 2011 at 7:28 am
    Permalink

    Nice.
    Question: is RIP that much of a topic for CCIE? Because I don’t give it attention any more. At all. But it might be best to look into it again later?

    Reply
    • October 18, 2011 at 12:27 pm
      Permalink

      Probably not a big topic. Know how to do authentication, offset-lists, filtering and unicast updates. That should cover most of the scenarios.

      Reply
  • October 22, 2011 at 11:54 pm
    Permalink

    I labbed it up and got the same results.

    According to the 3rd paragraph in the “Operation of RIP” chapter in Routing tcp/ip v1, a route should also go into holddown when an update with a higher metric is received from the same next-hop which has sent an update with a lower metric before.

    This didn`t work in my case either. The RIB entry was just immediately updated with the higher or lower metric after the RIP update was received.

    Reply
  • November 7, 2011 at 12:03 am
    Permalink

    Jochen,

    Yes, unfortunately Doyle is actually wrong about some stuff in the RIP chapter. He is a god in the networking world and definately knows his stuff but everybody makes mistakes. It’s unfortunate that the mistakes get printed though. This is the gory details of the protocols though and most people will not be in a situation where it really matters.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *