OSPFv2 by default setup only one adjacency over a single link. But this can be an issue some time and as a network designer you should understand the consequences and know the available solutions.
Placing a link in wrong OSPF area can create an OSPF sub optimal routing especially in hub and spoke topology.
In IS-IS or OSPFv3, this wouldn’t be an issue because IS-IS and OSPFv3 allow link to be placed in more than area or level. (In IS-IS, area is assigned to the router, not to the link. Thus I use level keyword)
Let’s look at the below network to understand what is the issue and how OSPF multi-area adjacency can solve the sub optimal routing problem.
OSPF Sub optimal routing/OSPF Wrong area placement/OSPF Multi-Area Adjacency
What is the path from Router C to 192.168.10.0/24 and from Router D to 192.168.0.0/24 networks? Is there a problem with the path? Why? What is a possible solution?
If Link 1 is in Area 0, Router C will choose a path through E, F, and D to 192.168.10.0/24 rather than Link 1. This is because OSPF always prefers intra-area routes over inter-area routes.
If Link 1 is placed in Area 10, Router D will choose a path through B, A, and C to 192.168.0.0/24 for the same reason. This is suboptimal.
Placing link into Area 1 and creating a virtual link could be solution but this solution would be a band-aid and should be considered only as a temporary solution.
Or creating a GRE tunnels and running OSPF on top of different GRE tunnels and having different areas could be another solution but GRE tunnels create another set of problems which are out of scope of this post.
New OSPF adjacency is also required for each additional non-backbone areas.
Best solution is RFC 5185 which is OSPF Multi-Area Adjacency.
More than one OSPF adjacency and multiple-area can be allowed over a single link with the RFC 5185.
Below is a sample configuration from the Cisco device which supports RFC 5185:
rtr-C(config)# interface Ethernet 0/0
rtr-C(config-if)# ip address 192.168.12.1 255.255.255.0
rtr-C(config-if)# ip ospf 1 area 0
rtr-C(config-if)# ip ospf network point-to-point
rtr-C(config-if)# ip ospf multi-area 2
This is an extension for OSPF routing protocol and having a code with this RFC provides flexible network design. That’s why if your topology require optimal area placement on the network links, you should keep RFC 5185 in mind.