OSPF - Why only two-level hierarchy?

577 Views Asked by At

Why is OSPF limited to the one-backbone-multiple-areas-structure? (two-level structure)?

Why I'm asking? - In some cases, it would make sense to travel further down the hierarchical architecture to let's say 3rd or 4th level depending on AS or OSPF area size. If you currently want to handle a huge OSPF area, you would possibly split the one area into two areas and let the backbone handle the rest, which is increasing backbone database size. So it may make sense to create the 3rd layer of hierarchy (subareas inside of areas).

Pls Note! - I'm not experienced with OSPF. All my knowledge is based on taking courses at the university and reading up articles on google.

Any ideas on the topic are welcome! Cheers, Lars

2

There are 2 best solutions below

0
On

Validated design on OSPF is to use two layers, however, there are other possibilities (that is not recommended). You can use sham-link and ospf virtual-link technology to extend OSPF. These kind of topology may be used when one company is fusioned/merged into one company (network-wise). -Again, this is not supposed recommended for long-term configuration, just as a workaround.

If you truly need a very large ospf network you can also make a core-ospf network, and redistribute other area zero-zones into the core network.

There are other routing protocols that handles very large network better. ISIS is slightly better, while BGP is designed for the whole internet.

0
On

It is for simple loop prevention mechanism. All non-backbone area must traverse backbone area before transiting another non-backbone area. area 1 <---> area 0 <--> area 2

area 1 <--> Area 2

Even though area 1 and 2 is directly connected, area 1 and area 2 communication must traverse area 0 backbone. This is to prevent loop. If you allow direct connection then there may be a possibility of loop where packet goes from area 1 to area 2 to area 0 then back to area 1. With this simple loop prevention mechanism, loop is prevented.

This rule will not work, if you have more than 2 levels. If you have 3 levels, how are you going to prevent loop, other than using AS-PATH method in BGP.