RIPv2 Auto-summary

Answered Question
Feb 22nd, 2012

Hi all,

i have configured in my lab the following scenario:

R1 (10.1.12.1)<->(10.1.12.2)R2(10.1.23.2)<->(10.1.23.3)R3(10.1.34.3)<->(10.1.34.4)R4

R1, R2 and R3 are all configured with RIPv2 and with the commands version 2 and no auto-summary, the network statement are as follow:

R1: network 10.1.12.0

R2: network 10.1.12.0 and 10.1.23.0

R3: network 10.1.23.0

Despite this configuration R3 is advertising also network 10.1.34.0 and under RIP database i can see these addresses with auto-summary.

what is the reason for this behavior and why R3 is advertising a network which i don't want?

Thanks ahead.

I have this problem too.
0 votes
Correct Answer by Peter Paluch about 2 years 1 month ago

Hi,

The behavior you have observed is correct. Even though you configured each router with a particular network statement, the RIP configuration now contains only the network 10.0.0.0 statement - check your running-config. Cisco's RIP implementation always masks the address in the network command by the corresponding classful mask before entering it into running configuration. The roots of this behavior lie in RIPv1 and the behavior was not changed for RIPv2. This means that even if you configure each RIPv2 router using a particular subnet of the 10.0.0.0/8 range, the RIP on each router is running over all interfaces that lie in the 10.0.0.0/8 range. This is the reason why R3 advertises the 10.1.34.0/x network even though you have not explicitly added it to RIP. There is nothing you can do about it - in other words, Cisco's RIP implementation can not be configured to run only over a selected subnet of a classful network. The automatic summarization is not related to this behavior at all.

The auto-summary networks in the RIP database are always created by the RIP process. However, they are not advertised until the condition for their advertisement is met: a network from one particular classful network is going to be advertised out an interface that itself lies in a different classful network.

Please feel welcome to ask further.

Best regards,

Peter

  • 1
  • 2
  • 3
  • 4
  • 5
Average Rating: 5 (3 ratings)
Correct Answer
Peter Paluch Wed, 02/22/2012 - 13:38

Hi,

The behavior you have observed is correct. Even though you configured each router with a particular network statement, the RIP configuration now contains only the network 10.0.0.0 statement - check your running-config. Cisco's RIP implementation always masks the address in the network command by the corresponding classful mask before entering it into running configuration. The roots of this behavior lie in RIPv1 and the behavior was not changed for RIPv2. This means that even if you configure each RIPv2 router using a particular subnet of the 10.0.0.0/8 range, the RIP on each router is running over all interfaces that lie in the 10.0.0.0/8 range. This is the reason why R3 advertises the 10.1.34.0/x network even though you have not explicitly added it to RIP. There is nothing you can do about it - in other words, Cisco's RIP implementation can not be configured to run only over a selected subnet of a classful network. The automatic summarization is not related to this behavior at all.

The auto-summary networks in the RIP database are always created by the RIP process. However, they are not advertised until the condition for their advertisement is met: a network from one particular classful network is going to be advertised out an interface that itself lies in a different classful network.

Please feel welcome to ask further.

Best regards,

Peter

talmadari Wed, 02/22/2012 - 13:57

Thanks Peter it think it answer my question.

So if I understand your answer correctly, if I would like to use RIP as a routing protocol and to advertise only specific networks I should use some kind of filtering in order to prevent this kind of behavior right?

Peter Paluch Wed, 02/22/2012 - 14:12

Hello,

I am happy to have helped.

So if I understand your answer correctly, if I would like to use RIP as a  routing protocol and to advertise only specific networks I should use  some kind of filtering in order to prevent this kind of behavior right?

Yes, absolutely true. You would most likely want to use distribute-lists to prevent certain routes from being advertised, passive-interfaces to stop sending RIP updates via certain interfaces, and ACLs on those interfaces to prevent processing incoming RIP messages.

Once again, this is not a limitation of the RIP protocol itself - rather, this is a limitation of the particular Cisco's RIP implementation in the IOS.

Best regards,

Peter

kishore.chennupati Thu, 02/23/2012 - 03:11

Hi Peter,

The auto-summary networks in the RIP database are always created by the RIP process. However, they are not advertised until the condition for their advertisement is met: a network from one particular classful network is going to be advertised out an interface that itself lies in a different classful network.

so reading your last statement  and relating it to the above topology the router R3 is advertising 10.1.34.0 out on 10.1.23.0

but both belong to the same classful boundaries.??? Am I reading between your words correctly? or have I gone dumb?

please advise

Kishore

Peter Paluch Thu, 02/23/2012 - 03:56

Hello Kishore,

so reading your last statement  and relating it to the above topology the router R3 is advertising 10.1.34.0 out on 10.1.23.0 but both belong to the same classful boundaries

Yes, that is correct. Resorting to classful addressing paradigm, both addresses 10.1.34.0 and 10.1.23.0 are class-A addresses and hence belong to the classful (also called major) network 10.0.0.0. (I am not writing netmasks here because the class of the address automatically determines the netmask, in this case, 255.0.0.0). Therefore, a subnet of the major network 10.0.0.0 is going to be advertised out an interface which also belongs to the major network 10.0.0.0. That is why the automatic summarization does not take place, and the network is advertised as-is.

Best regards,

Peter

NathanCoelho Sun, 06/23/2013 - 12:36

I know this is a real old post, but I had to search a lot on Google to understand why this behavior was happening.

And your answer, Peter Paluch, really helped me to understand ripv2 configuration.

So, basically, it is useless to do commands like:

"

router rip

version 2

no auto-summary

network 172.16.10.0

network 172.16.20.0

network 172.16.30.0

"

Because when I would check show running-config it would just show me

"

router rip

version 2

network 172.16.0.0

no auto-summary

"

Right?

Is there any Cisco doc that explains further on this?

Thanks for the help!

Nathan

Peter Paluch Sun, 06/23/2013 - 14:44

Hello Nathan,

You are welcome!

So, basically, it is useless to do commands like:

"

router rip

version 2

no auto-summary

network 172.16.10.0

network 172.16.20.0

network 172.16.30.0

Yes, quite correct. These multiple network statements will be collapsed into a single network 172.16.0.0 command, and all directly connected networks on your router that are addressed from the B-class 172.16.0.0 network will be added to the RIP process.

Is there any Cisco doc that explains further on this?

To be honest, I do not recall reading any similar document. Nevertheless, the reason for this behavior falls back to RIPv1 in "classful times" when IP addresses were allocated to customers (owners) in terms of entire blocks sized and allocated from respective address classes (also called major networks). As a single major network always belonged to a single owner, it was quite customary to simply activate the RIPv1 over this entire major network and all interfaces belonging into it. That is most probably the reason why there is no wildcard mask argument for the network command in RIPv1.

When RIPv2 came in, Cisco implemented the version switch simply as an additional version command in the router rip configuration and not as a separate configuration section (such as router ripv2 or similar). So the router rip section is essentially "overloaded" - when IOS just starts processing it, it does not yet know whether the RIP version will be 1 or 2 - it will find out only after processing the version command. Now, because of backward compatibility reasons with older IOSes, if the network command was augmented with the wildcard mask argument, older IOSes that supported only RIPv1 would reject the entire network command as being invalid. With no changes to the network command syntax, however, older IOSes will skip the version 2 command (telling you it is an unknown command) but they will still be able to process the network commands, and run RIPv1. I suppose that is the reason why Cisco developers did not extend the syntax of the network command with the wildcard mask argument after implementing RIPv2 - to provide for the maximum backward compatibility of the configuration.

Best regards,

Peter

Actions

Login or Register to take actions

This Discussion

Posted February 22, 2012 at 12:58 PM
Stats:
Replies:8 Avg. Rating:5
Views:517 Votes:0
Shares:0
Tags: No tags.

Discussions Leaderboard