OSPF Loop prevention

On this post, I will show an example of loop prevention on OSPF protocol. There is a nice document at here about the principles of loop prevention. What I will just do is to show this on Junos. In order to show this, I am using the following topology;

ospf-loop-prevention

On this topology, J40 and J32 are ABRs. J40 has a connection to Area3 in broadcast segment and J32 also has a link to Area3 via J201. It looks like we have multiple paths towards the same Area3 from backbone area. Let’s see how OSPF handles this.

We have a network range 172.40.1.0/24 on area0 and it is summarized into area3. When we check LSDB for this network, we see that we have received two LSA(5) for this.\\
Note: You don’t see this network on the topology as it is a bit big and didn’t want to put the big topology for simplicity.

This is because we have multiple links from Area0 to Area3. As far as the protocol is concerned(as explained on the document I referenced) ABR expects summary LSAs from Area0 only. If it ever receives a summary LSA from a non-backbone area, LSAs will be in the database but won’t be used on calculation.

We can prove the above statement by the following command.

What we see is that although the path from J40 has a lower metric(41), J32 doesn’t use that route.

I also did a test and I broke the adjacency of J32 with backbone area0 after which route from J40 is installed which also confirms the statement.

During my tests, I got conflicting results which confused me a bit. If I notice later that what I have written is incorrect or anyone finds it odd, please let me know so that I can correct it.

You have a feedback?