RIPv2: Counting to Infinity

One of the basic working principles of distance vector routing states that devices must exchange lists (vectors) of known networks and their distances.  For each network advertised a router chooses the neighbor providing the least total metric as the next hop and installs that network into the routing table ignoring the other advertised routes.

The only exception to this rule is if the next hop router for a network starts advertising higher distance metrics.  The receiving router will immediately accept the route and update its total distance to the network in the routing table. It will then advertise the updated metrics to all its neighbors as well.  Only subsequent advertisements with lower metrics will cause the existing route to be removed, also the logic of this is if a next hop has become more distant from the destination than it was previously, so have all routers/networks that still traverse this next hop.

This goes into the logic of Counting to Infinity.  Assume two neighbors are pointing to each other in a tight routing loop for a network.  If router A advertises the network with a metric of 1, Router B will advertise that network with a metric of 2.  Because router b is router A’s next hop, it immediately accepts the route and updates its metric.  Then the process starts over, Router A advertises with a metric of 3, then router B updates its table and advertises a metric of 4….this process can go on an infinite amount of times, hence the term counting to infinity.

Since RIPv2 understands the concept of an infinite metric (a metric that represents an unreachable network) this process is able to be broken once that metric has been reached.  Breaking the loop.  This can be a slow process but it is a result of the way the distance vector protocol behaves and the infinite metric is a consequence of this behavior.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s