on 02-20-2023 01:27 PM
All routers are running IOS 15.4
The link ethernet is configured in area 0.
The serial links are in area 1.
Basic configuration of all routers:
R1:
interface Ethernet0/0
ip address 12.0.0.1 255.255.255.0
ip ospf 1 area 0
no shut
!
interface Serial2/0
ip address 14.0.0.1 255.255.255.0
ip ospf 1 area 1
no shut
!
router ospf 1
router-id 0.0.0.1
R2:
int lo0
ip add 2.2.2.2 255.255.255.0
ip ospf network point-to-point
ip ospf 1 area 1
!
interface Ethernet0/0
ip address 12.0.0.2 255.255.255.0
ip ospf 1 area 0
no shut
!
interface Serial2/0
ip address 23.0.0.2 255.255.255.0
ip ospf 1 area 1
no shut
!
router ospf 1
router-id 0.0.0.2
R3:
interface Serial2/0
ip address 23.0.0.3 255.255.255.0
ip ospf 1 area 1
no shut
!
interface Serial2/1
ip address 34.0.0.3 255.255.255.0
ip ospf 1 area 1
no shut
!
router ospf 1
router-id 0.0.0.3
R4:
interface Serial2/0
ip address 14.0.0.4 255.255.255.0
ip ospf 1 area 1
no shut
!
interface Serial2/1
ip address 34.0.0.4 255.255.255.0
ip ospf 1 area 1
no shut
!
router ospf 1
router-id 0.0.0.4
According to the topology, R1 has two routes to reach the prefix 2.2.2.0:
1-An intra-area route through R4 (area 1).
2-An inter-area route through R2 (area 0).
According to the OSPF order route preference, an intra-area route is preferred over the inter-area route.
As a result, R1 will always route traffic to R4 through Area 1 even if the inter-area route through area 0 is more faster as shown by the routing table of R1 and the traceroute:
R1#show ip route | i 2.2.2.0
O 2.2.2.0 [110/193] via 14.0.0.4, 00:00:45, Serial2/0
R1#
R1#show ip route 2.2.2.0
Routing entry for 2.2.2.0/24
Known via "ospf 1", distance 110, metric 193, type intra area
Last update from 14.0.0.4 on Serial2/0, 00:00:30 ago
Routing Descriptor Blocks:
* 14.0.0.4, from 0.0.0.2, 00:00:30 ago, via Serial2/0
Route metric is 193, traffic share count is 1
R1#
The traceroute command shown that the packets go through R4 (area 1):
R1#tracer 2.2.2.2
Type escape sequence to abort.
Tracing the route to 2.2.2.2
VRF info: (vrf in name/id, vrf out name/id)
1 14.0.0.4 5 msec 8 msec 9 msec
2 34.0.0.3 39 msec 23 msec 18 msec
3 23.0.0.2 46 msec 27 msec 29 msec
R1#
As a result we have a suboptimal routing. Therefore it is desirable to forward the traffic to 2.2.2.0/24 through backbone area 0 (link R1-R2).
We can move the link R1 to R2 to area 1, but this solution is not scalable since we lose the ABRs R1 and R2 and OSPF optimization such summarization etc....
With IOS version 15.4, The OSPFv2 Multiarea Adjacency feature is introduced, this feature allows you to configure a link on the primary interface to enable optimized routing in multiple areas.
By default, an interface can only belong to one OSPF Area. When Multi-Area Adjacency is configured on an interface, the OSPF routers form more than one Adjacency (ADJ) over that link. The Multi-Area interface is a logical, point-to-point interface over which the ADJ is formed.
So before configuring the Multi-Area feature, verify the neighbors table of R1:
Two neighbors are listed over the physical links E0/0 and S2/0:
R1#show ip os nei
Neighbor ID Pri State Dead Time Address Interface
0.0.0.2 1 FULL/BDR 00:00:31 12.0.0.2 Ethernet0/0
0.0.0.4 0 FULL/ - 00:00:38 14.0.0.4 Serial2/0
R1#
To reach the prefix 2.2.2.0/24, R1 learns this prefix through a Type-3 LSA's R2 over area 0 and Type-1 LSA's R2 over area 1:
This is the Type-3 LSA's R2 learned via area 0:
Notice the Link State ID refers to the prefix 2.2.2.0/24:
R1#show ip ospf data summa 2.2.2.0 adv 0.0.0.2
OSPF Router with ID (0.0.0.1) (Process ID 1)
Summary Net Link States (Area 0)
LS age: 172
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 2.2.2.0 (summary Network Number)
Advertising Router: 0.0.0.2
LS Seq Number: 80000001
Checksum: 0x3FF4
Length: 28
Network Mask: /24
MTID: 0 Metric: 1
R1#
This is the Type-1 LSA's R2 learned via area 1:
Notice the prefix 2.2.2.0/24 is described as Link Type 3 (Link To Stub Network):
R1#show ip ospf data router adv 0.0.0.2 | beg Area 1
Router Link States (Area 1)
Routing Bit Set on this LSA in topology Base with MTID 0
LS age: 334
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 0.0.0.2
Advertising Router: 0.0.0.2
LS Seq Number: 80000003
Checksum: 0x3E15
Length: 60
Area Border Router
Number of Links: 3
Link connected to: a Stub Network
(Link ID) Network/subnet number: 2.2.2.0
(Link Data) Network Mask: 255.255.255.0
Number of MTID metrics: 0
TOS 0 Metrics: 1
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 0.0.0.3
(Link Data) Router Interface address: 23.0.0.2
Number of MTID metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 23.0.0.0
(Link Data) Network Mask: 255.255.255.0
Number of MTID metrics: 0
TOS 0 Metrics: 64
R1#
The show ip os border commands displays two possible paths to reach the ABR R2, one intra-area route directly via area 0 (R2) with cost 10 and one intra-area route via area 1 (R4) with cost 192:
The path through area 1 os always chosen even if it has a bad metric.
R1#show ip os bor
OSPF Router with ID (0.0.0.1) (Process ID 1)
Base Topology (MTID 0)
Internal Router Routing Table
Codes: i - Intra-area route, I - Inter-area route
i 0.0.0.2 [10] via 12.0.0.2, Ethernet0/0, ABR, Area 0, SPF 8
i 0.0.0.2 [192] via 14.0.0.4, Serial2/0, ABR, Area 1, SPF 7
R1#
Here the LSDB of R1, notice the presence of the Type-2 LSA originated by R2 0.0.0.2 in the segment ethernet :
R1#sh ip os data
OSPF Router with ID (0.0.0.1) (Process ID 1)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
0.0.0.1 0.0.0.1 114 0x80000008 0x006E96 1
0.0.0.2 0.0.0.2 483 0x80000005 0x007292 1
Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum
12.0.0.2 0.0.0.2 483 0x80000001 0x000522
Summary Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum
2.2.2.0 0.0.0.1 107 0x80000001 0x00CCA7
2.2.2.0 0.0.0.2 741 0x80000001 0x003FF4
14.0.0.0 0.0.0.1 107 0x80000001 0x004F9E
14.0.0.0 0.0.0.2 110 0x80000001 0x004E1E
23.0.0.0 0.0.0.1 107 0x80000001 0x00DE85
23.0.0.0 0.0.0.2 758 0x80000001 0x00D310
34.0.0.0 0.0.0.1 107 0x80000001 0x00CCCC
34.0.0.0 0.0.0.2 705 0x80000001 0x00C6D1
Router Link States (Area 1)
Link ID ADV Router Age Seq# Checksum Link count
0.0.0.1 0.0.0.1 109 0x80000007 0x000971 2
0.0.0.2 0.0.0.2 711 0x80000003 0x003E15 3
0.0.0.3 0.0.0.3 692 0x80000003 0x003946 4
0.0.0.4 0.0.0.4 111 0x80000004 0x006E20 4
Summary Net Link States (Area 1)
Link ID ADV Router Age Seq# Checksum
2.2.2.0 0.0.0.1 115 0x80000001 0x00A981
12.0.0.0 0.0.0.1 115 0x80000001 0x004BDA
12.0.0.0 0.0.0.2 758 0x80000002 0x0043E0
23.0.0.0 0.0.0.1 115 0x80000001 0x003E9C
34.0.0.0 0.0.0.1 115 0x80000001 0x00315E
R1#
Let's disable the serial interface connected to R4:
R1(config)#int s2/0
R1(config-if)#shu
As shown, when Interface Serial 2/0 is shutdown on R1, traffic passes through R2. Also, the cost that is associated with the route towards R2 is only 11, while the cost towards 2.2.2.0/24 via R2 was 193. This is the inter-area route through the backbone area.
R1#show ip route | i 2.2.2.0
O IA 2.2.2.0 [110/11] via 12.0.0.2, 00:00:41, Ethernet0/0
R1#
R1#show ip route 2.2.2.0
Routing entry for 2.2.2.0/24
Known via "ospf 1", distance 110, metric 11, type inter area
Last update from 12.0.0.2 on Ethernet0/0, 00:00:29 ago
Routing Descriptor Blocks:
* 12.0.0.2, from 0.0.0.2, 00:00:29 ago, via Ethernet0/0
Route metric is 11, traffic share count is 1
R1#
Let's enable the serial interface 2/0:
R1(config)#int e0/0
R1(config-if)#no shu
The OSPF protocol still prefers to route the traffic via R2 instead of R3, even though the cost to reach 10.1.1.1/32 is lower via R3.
To solve the problem of suboptimal routing. Multi-Area ADJ can be used in order to form multiple point-to-point logical adjacencies over a single link. The requirement is that there must be only two OSPF speakers on the link, and in a broadcast network, you must manually change the OSPF network type to Point-to-Point on the link.
This feature allows a single physical link to be shared by multiple Areas and creates an Intra-Area path in each of the Areas that share the link.
In order to meet this requirement, you must configure OSPF Multi-Area ADJ between R1 and R2 over link Ethernet 0/0, which is currently only in Area 0.
OSPF Multi-Area Adjacency is defined in RFC 5185, the reason is mentioned in the document:
This document about OSPF Multi-Area Adjacency describes an extension to the Open Shortest Path First
(OSPF) protocol to allow a single physical link to be shared by
multiple areas. This is necessary to allow the link to be considered
an intra-area link in multiple areas. This would create an intra-
area path in each of the corresponding areas sharing the same link.
Before configuring the Multi-Area feature, let's verify the interfaces that operate in OSPF on R1 and R2 using the show ip ospf int br command, the adjacency R1-R2 displays the election of DR and BDR :
R1#show ip ospf int br
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Et0/0 1 0 12.0.0.1/24 10 BDR 1/1
Se2/0 1 1 14.0.0.1/24 64 P2P 1/1
R1#
R2#do show ip ospf int br
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Et0/0 1 0 12.0.0.2/24 10 DR 1/1
Lo0 1 1 2.2.2.2/24 1 P2P 0/0
Se2/0 1 1 23.0.0.2/24 64 P2P 1/1
R2#
Now let's configure OSPF Multi-Area feature:
R1(config-if)#int e0/0
R1(config-if)#ip ospf multi-area 1
R2(config-if)#int e0/0
R2(config-if)#ip ospf multi-area 1
The OSPF ADJ comes up over the Multi-Area, In these outputs, the Ethernet0/0 Interface indicates the ADJ over Area 0, and the OSPF_MA2 Interface indicates the Multi-Area ADJ over Area 1:
R1#
*Sep 24 20:58:59.374: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on Ethernet0/0 from LOADING to FULL, Loading Done
*Sep 24 20:58:59.374: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.2 on OSPF_MA2 from LOADING to FULL, Loading Done
R1#
R2#
*Sep 24 20:55:59.183: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on Ethernet0/0 from LOADING to FULL, Loading Done
*Sep 24 20:55:59.184: %OSPF-5-ADJCHG: Process 1, Nbr 0.0.0.1 on OSPF_MA2 from LOADING to FULL, Loading Done
R2#
As mentioned previously, the interface needs to be in point-to-point mode for this to work, notice the state down the Multi-Area in the show ip os int br:
R1#sh ip os int br
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Et0/0 1 0 12.0.0.1/24 10 BDR 1/1
MA2 1 1 Unnumbered Et0/0 10 DOWN 0/0
Se2/0 1 1 14.0.0.1/24 64 P2P 1/1
R1#
R2#sh ip os int br
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Et0/0 1 0 12.0.0.2/24 10 DR 1/1
MA2 1 1 Unnumbered Et0/0 10 DOWN 0/0
Lo0 1 1 2.2.2.2/24 1 P2P 0/0
Se2/0 1 1 23.0.0.2/24 64 P2P 1/1
R2#
Another useful command the show ip ospf multi-area command that shows the state down of the interface E0/0 in Multi-Area:
R1#show ip ospf multi-area
OSPF_MA2 is down, line protocol is down
Primary Interface Ethernet0/0, Area 1
Interface ID 3
MTU is 1500 bytes
Interface DOWN as link is not P2P
R1#
R2#show ip ospf multi-area
OSPF_MA2 is down, line protocol is down
Primary Interface Ethernet0/0, Area 1
Interface ID 3
MTU is 1500 bytes
Interface DOWN as link is not P2P
R2#
Configure the interface E0/0 as point-to-point:
R1(config-if)#int e0/0
R1(config-if)#ip os net point-to-point
R2(config-if)#int e0/0
R2(config-if)#ip os net point-to-point
Verify the Multi-Area operation using the show ip osp int br and show ip ospf multi-area commands, notice the state now is UP, the other change is the link ethernet which is now considered as Point-to-point:
R1#show ip os int br
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Et0/0 1 0 12.0.0.1/24 10 P2P 1/1
MA2 1 1 Unnumbered Et0/0 10 P2P 1/1
Se2/0 1 1 14.0.0.1/24 64 P2P 1/1
R1#
R2#show ip os int br
Interface PID Area IP Address/Mask Cost State Nbrs F/C
Et0/0 1 0 12.0.0.2/24 10 P2P 1/1
MA2 1 1 Unnumbered Et0/0 10 P2P 1/1
Lo0 1 1 2.2.2.2/24 1 P2P 0/0
Se2/0 1 1 23.0.0.2/24 64 P2P 1/1
R2#
R1#show ip ospf multi-area
OSPF_MA2 is up, line protocol is up
Primary Interface Ethernet0/0, Area 1
Interface ID 3
MTU is 1500 bytes
Neighbor Count is 1
R1#
Let's verify the routing table, we can see that R1 installs an intra-area route through R2, in other words through the faster link (area 0).This should resolve the previously mentioned problem.
R1#show ip route | i 2.2.2.0
O 2.2.2.0 [110/11] via 12.0.0.2, 00:01:30, Ethernet0/0
R1#
R1#show ip route 2.2.2.0
Routing entry for 2.2.2.0/24
Known via "ospf 1", distance 110, metric 11, type intra area
Last update from 12.0.0.2 on Ethernet0/0, 00:01:19 ago
Routing Descriptor Blocks:
* 12.0.0.2, from 0.0.0.2, 00:01:19 ago, via Ethernet0/0
Route metric is 11, traffic share count is 1
R1#
The traceroute command confirms the result:
R1#tracer 2.2.2.2
Type escape sequence to abort.
Tracing the route to 2.2.2.2
VRF info: (vrf in name/id, vrf out name/id)
1 12.0.0.2 6 msec 6 msec 6 msec
R1#
As mentioned in RFC 5185, However, unlike numbered point-to-point links, no type 3 link is advertised for multi-area adjacencies. This point-to-point link will provide a topological path for that area. Let's verify the Type-LSA 1 's R2, we can see that R2 now sees R1 as a neighbor in the same area 0, it is described in the Link Type 1, the Link Type 1 decribes a Point-to-Point link with the Neighbor Router ID 0.0.0.1 which is the router R1, as a result all routes learned from R2 by R1 will be intra-area routes:
R1#show ip ospf data router adv 0.0.0.2 | beg Area 1
Router Link States (Area 1)
Routing Bit Set on this LSA in topology Base with MTID 0
LS age: 147
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 0.0.0.2
Advertising Router: 0.0.0.2
LS Seq Number: 80000006
Checksum: 0x63D0
Length: 72
Area Border Router
Number of Links: 4
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 0.0.0.1
(Link Data) Router Interface address: 0.0.0.3
Number of MTID metrics: 0
TOS 0 Metrics: 10
Link connected to: a Stub Network
(Link ID) Network/subnet number: 2.2.2.0
(Link Data) Network Mask: 255.255.255.0
Number of MTID metrics: 0
TOS 0 Metrics: 1
Link connected to: another Router (point-to-point)
(Link ID) Neighboring Router ID: 0.0.0.3
(Link Data) Router Interface address: 23.0.0.2
Number of MTID metrics: 0
TOS 0 Metrics: 64
Link connected to: a Stub Network
(Link ID) Network/subnet number: 23.0.0.0
(Link Data) Network Mask: 255.255.255.0
Number of MTID metrics: 0
TOS 0 Metrics: 64
R1#
Here the final LSDB of R1 after configuring Multi-Area feature, since the ethernet link is considered as P2P, there is no DR therefore no Netwok LSA, the Type-2 LSA disappeared:
R1#show ip os data
OSPF Router with ID (0.0.0.1) (Process ID 1)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
0.0.0.1 0.0.0.1 33 0x8000000E 0x008065 2
0.0.0.2 0.0.0.2 28 0x8000000C 0x00786D 2
Summary Net Link States (Area 0)
Link ID ADV Router Age Seq# Checksum
2.2.2.0 0.0.0.1 21 0x80000004 0x00A384
2.2.2.0 0.0.0.2 1428 0x80000001 0x003FF4
14.0.0.0 0.0.0.1 794 0x80000001 0x004F9E
14.0.0.0 0.0.0.2 22 0x80000004 0x00A738
23.0.0.0 0.0.0.1 21 0x80000004 0x00389F
23.0.0.0 0.0.0.2 1445 0x80000001 0x00D310
34.0.0.0 0.0.0.1 794 0x80000001 0x00CCCC
34.0.0.0 0.0.0.2 1392 0x80000001 0x00C6D1
Router Link States (Area 1)
Link ID ADV Router Age Seq# Checksum Link count
0.0.0.1 0.0.0.1 27 0x8000000A 0x00E673 3
0.0.0.2 0.0.0.2 28 0x80000006 0x0063D0 4
0.0.0.3 0.0.0.3 1379 0x80000003 0x003946 4
0.0.0.4 0.0.0.4 798 0x80000004 0x006E20 4
Summary Net Link States (Area 1)
Link ID ADV Router Age Seq# Checksum
2.2.2.0 0.0.0.1 802 0x80000001 0x00A981
12.0.0.0 0.0.0.1 802 0x80000001 0x004BDA
12.0.0.0 0.0.0.2 1445 0x80000002 0x0043E0
23.0.0.0 0.0.0.1 802 0x80000001 0x003E9C
34.0.0.0 0.0.0.1 802 0x80000001 0x00315E
R1#
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: