07-23-2011 01:09 AM - edited 03-04-2019 01:04 PM
I have been searching for the right reason why all the areas must be connected to area 0 in OSPF. I have a little idea, but not clear with the whole thing. How does OSPF's behaving as a kinked state protocolol outside an area give rise to routing loops (if we don't connect two areas through ar 0) ?
Solved! Go to Solution.
07-24-2011 04:30 AM
I think the confusion about a routing loop is coming because of the way OSPF is often described in books.
You are right when you say that OSPF acts as a distance vector protocol between areas. And because of this OSPF uses a central area, area 0, to exchange routes between other areas. This is part of the reason area 0 exists to stop routing loops.
But i think you are then making the assumption that without an area 0 you are in danger of a routing loop. But you would only be in danger of a routing loop in OSPF if areas that are not area 0, could actually exchange routes between themselves. But they can't and this is a specific design choice.
So when the books talk about possible routing loops they are only talking about a hypothetical situation that could occur if OSPF areas were allowed to exchange routes between themselves without the use of an area 0. You can't actually get a routing loop this way with OSPF because as Joseph points out if you have multiple areas without an area 0 they are in fact treated as separate OSPF processes and would not exchange routes anyway.
Jon
07-24-2011 05:51 AM
Jon and friends,
First of all - Jon, it is wonderful to see you responding. Thanks for keeping an active contact to the CSC.
I think that what Vivek (I hope that is the correct first name) is asking is exactly the principial, underlying issue that drives the OSPF's design: is it possible for a generic, nonspecific routing protocol that operates with link-state style inside an area, and with distance vector between areas, without any further limitations on the inter-area communication, to form a routing loop? With respect to OSPF, it is indeed a hypothetical question as OSPF's design already prevents such occurences, but what drove that design in the first place?
So far, I was not able to come up with an example how a set of areas connected in a circle could form a loop, although I have to say that routing loop creation has always been my weak point. What I am thinking about, however, is a scenario that roughly follows these steps:
Please consider this scenario very rough and violating many principles of OSPF routing information propagation, but that is actually the point - OSPF is well designed but we want to see the rationale behind those design traces.
Can anyone think of a working example of a true routing loop basing on the aforementioned scenario?
Best regards,
Peter
07-23-2011 01:58 AM
hi vivek,
it's designed by default. please see helpful link below explaining further on OSPF design.
07-23-2011 04:34 AM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
You can have multiple OSPF areas without an area zero, they just won't share routes.
Area zero, by design, is special in that other areas will accept and provide routes to it. (NB: area types and special OSPF statements define and control route exchanges between an non-zero area and area zero.)
The reason for OSPF areas and area zero is to provide scalability. This two level hiearchy limits the footprint of Dijkstra's algorithm topology (per area) and allows control of route distribution between areas.
07-23-2011 02:42 PM
Vivek
Joseph mentioned an important aspect of the answer to your question and I would like to add a bit to it.
You could configure a router with two OSPF areas and make both not area zero. The router will allow you to configure this and does not generate any error message. The OSPF will run in both areas but the areas do not share any routes with each other.
The reason for this is that OSPF uses LSA type 1 and LSA type 2 to advertise routes within the area and uses LSA type 3 to advertise between areas. In OSPF (at least in Cisco implementation) the router will not generate any type 3 unless it is connected to area 0.
HTH
Rick
Sent from Cisco Technical Support iPhone App
07-23-2011 11:27 PM
Thanks Richard, Joseph and John
All your replies are correct, but still not complete to the level I want
Actually, I know that all areas must connect to Area 0 because OSPF acts as a Linked-state protocol within an area & Distance-vector outside the area. That is because OSPF sends summary LSA 3 between areas, which only advertises the ABR's Router ID as the origin of the routes coming from its area. The area receiving the update (summary LSA 3) from another area will see the connected ABR's RID as the next hop for all the destinations within that area. So, if we connect two area directly without Area 0 in between, this will give rise to a loop.(I hope what I understood till this point is right).
But what i did not understand is that how will this give rise to a loop ??
I hope you guys or someone else out here knows the complete thing and will help me
thanks!
07-24-2011 03:14 AM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
Why do you believe a loop is created if two different OSPF areas are attached without an area zero?
A router with multiple OSPF areas, but without an area zero, would behave similar to a router running multiple routing protocols without any distribution between those protocols.
07-24-2011 04:30 AM
I think the confusion about a routing loop is coming because of the way OSPF is often described in books.
You are right when you say that OSPF acts as a distance vector protocol between areas. And because of this OSPF uses a central area, area 0, to exchange routes between other areas. This is part of the reason area 0 exists to stop routing loops.
But i think you are then making the assumption that without an area 0 you are in danger of a routing loop. But you would only be in danger of a routing loop in OSPF if areas that are not area 0, could actually exchange routes between themselves. But they can't and this is a specific design choice.
So when the books talk about possible routing loops they are only talking about a hypothetical situation that could occur if OSPF areas were allowed to exchange routes between themselves without the use of an area 0. You can't actually get a routing loop this way with OSPF because as Joseph points out if you have multiple areas without an area 0 they are in fact treated as separate OSPF processes and would not exchange routes anyway.
Jon
07-24-2011 05:51 AM
Jon and friends,
First of all - Jon, it is wonderful to see you responding. Thanks for keeping an active contact to the CSC.
I think that what Vivek (I hope that is the correct first name) is asking is exactly the principial, underlying issue that drives the OSPF's design: is it possible for a generic, nonspecific routing protocol that operates with link-state style inside an area, and with distance vector between areas, without any further limitations on the inter-area communication, to form a routing loop? With respect to OSPF, it is indeed a hypothetical question as OSPF's design already prevents such occurences, but what drove that design in the first place?
So far, I was not able to come up with an example how a set of areas connected in a circle could form a loop, although I have to say that routing loop creation has always been my weak point. What I am thinking about, however, is a scenario that roughly follows these steps:
Please consider this scenario very rough and violating many principles of OSPF routing information propagation, but that is actually the point - OSPF is well designed but we want to see the rationale behind those design traces.
Can anyone think of a working example of a true routing loop basing on the aforementioned scenario?
Best regards,
Peter
09-09-2020 06:23 AM
Without Area 0, OSPF will not share routing information between non-backbone areas.
03-21-2021 10:49 AM
I believe he said this "Please consider this scenario very rough and violating many principles of OSPF routing information propagation"
07-27-2011 03:33 AM
Thanks all for your comments!
I agree that if we connect two different areas without Ar 0 in between, they won't exchange routes & will act as two separate ospf processes. But as Peter said, I was refering to the logic behind this protocol feature.
Peter's example is explains all that's needed here.
Although I used a different approach to get an answer before I saw Peter & Jon's comments.
For a moment, consider as if each OSPF area is a router running RIP. Now if you try to recall how RIP loops occured, you have the answer .. wasn't that simple .. & I was looping around these loops
08-19-2011 07:25 AM
Hello Vivek and others,
interesting thread indeed
reversing the initial question we could ask how OSPF could be modified in order to perform inter area routing in a safer way.
The problem arises from the area scope of LSA type 3 summary route that are re-generated at each area border.
To be noted the LSA type 3 data structure provides no info on the original area id allowing for use of two different non zero areas with same area id, with no issues if there is no address overlapping.
Looking at what is done in ISIS or at iBGP route reflection rules the LSA type 3 should be modified by adding additional fields:
a flag bit to indicate if the LSA is the re-generation of an LSA receveid in another area or it is indeed original
the original area-id
the originator OSPF RID
these changes might provide a way to deal with inter area routing in a safer way.
Clearly these suggestions have no practical value as no one wants to change a protocol that has reached a wide use and distribution
the flag bit is present in ISIS to indicate leakage between ISIS levels
iBGP RR servers introduce cluster-list and originator-id attributes
Hope to help
Giuseppe
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide