OSPF is by far the most complicated IGP on the RS lab if we go in to the details of the protocol and the loop prevention mechanisms. While doing some labs this week I ran in to some interesting issues. This post will describe different scenarios and test your understanding of OSPF. I will show a diagram and ask a question, try to answer it and when you want to know the answer then the text is hidden below. You can see the text by marking it since it’s written with a white font.
Lets begin. We will start with an issue I ran into while doing an ASET lab (Cisco partner labs). Look at the following diagram.
R5 is a PE in a MPLS VPN backbone. R5 is running OSPF in a VRF towards the CE R4. However R5 will not install interarea routes received from R4, why? Look at the following output.
R5#sh ip ospf data sum 1.1.1.3
OSPF Router with ID (1.1.1.5) (Process ID 100)
OSPF Router with ID (5.5.5.5) (Process ID 1)
Summary Net Link States (Area 51)
Routing Bit Set on this LSA
LS age: 1386
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 1.1.1.3 (summary Network Number)
Advertising Router: 1.1.1.4
LS Seq Number: 80000003
Checksum: 0xED3
Length: 28
Network Mask: /32
TOS: 0 Metric: 76
R5 is part of the MPLS super backbone (area0) so it is an ABR. ABRs will not install interarea routes that are received over a non backbone area. If the area between R4 and R5 was area 0 then there would be no issues but since we are using area 51 we have to use a workaround. We enable the capability vrf-lite under the ospf process which disables the loop checks of the PE
Now lets define some of the concepts of OSPF and test your understanding. Look at the diagram.
Is R3 an ABR?
No, the definition is that an ABR is a router with an UP interface in the backbone area and at least another area.
Will R3 generate IA routes for Area 1 and 2?
No, it is not an ABR so it will not generate any IA routes.
Now we create a loopback on R3 and put it in OSPF area 0. No OSPF adjacencies can of course be built over this interface. Will R3 generate any summary routes now?
Yes, even though R3 is not really connected to Area 0 it has an UP interface in area 0 so it will announce itself as an ABR and generate summary routes.
R2#sh ip ospf border-routers
OSPF Process 1 internal Routing Table
Codes: i – Intra-area route, I – Inter-area route
i 1.1.1.1 [1] via 155.1.12.1, FastEthernet0/1, ABR, Area 1, SPF 7
i 3.3.3.3 [1] via 155.1.23.3, FastEthernet0/0, ABR, Area 1, SPF 7
Summary Net Link States (Area 1)
Link ID ADV Router Age Seq# Checksum
33.33.33.33 3.3.3.3 13 0x80000001 0x004566
155.1.16.0 1.1.1.1 1958 0x8000000D 0x00B9C5
155.1.34.0 1.1.1.1 939 0x80000006 0x00155D
155.1.34.0 3.3.3.3 19 0x80000001 0x00CEA2
155.1.35.0 1.1.1.1 942 0x80000006 0x00145C
155.1.35.0 3.3.3.3 21 0x80000001 0x00C3AC
155.1.45.0 1.1.1.1 942 0x80000006 0x009BCB
155.1.45.0 3.3.3.3 21 0x80000001 0x005F06
155.1.46.0 1.1.1.1 942 0x80000006 0x0086E0
If we traceroute the IP of R5 this is the path.
R1#traceroute 155.1.35.5
Type escape sequence to abort.
Tracing the route to 155.1.35.5
1 155.1.16.6 140 msec 76 msec 48 msec
2 155.1.46.4 92 msec 64 msec 64 msec
3 155.1.45.5 184 msec * 108 msec
Why is this and how can we make the path go directly from R1 to R3 to R5? Look at the OSPF database.
Summary Net Link States (Area 1)
Link ID ADV Router Age Seq# Checksum
33.33.33.33 3.3.3.3 534 0x80000001 0x004566
155.1.16.0 1.1.1.1 437 0x8000000E 0x00B7C6
155.1.34.0 1.1.1.1 1459 0x80000006 0x00155D
155.1.34.0 3.3.3.3 542 0x80000001 0x00CEA2
155.1.35.0 1.1.1.1 1463 0x80000006 0x00145C
155.1.35.0 3.3.3.3 543 0x80000001 0x00C3AC
155.1.45.0 1.1.1.1 1463 0x80000006 0x009BCB
155.1.45.0 3.3.3.3 543 0x80000001 0x005F06
155.1.46.0 1.1.1.1 1463 0x80000006 0x0086E0
R3 is announcing the summary but it is not being used by R1. Why?
R1 and R4 have full adjacencies via Area 0 so they will not accept summary routes received on a non backbone interface. To fix this we need a full adjacency between R1 and R3 which is created with a virtual link.
R3(config-router)#area 1 virtual-link 1.1.1.1
R1(config-router)#area 1 virtual-link 3.3.3.3
R1#sh ip ospf data sum 155.1.35.0
OSPF Router with ID (1.1.1.1) (Process ID 1)
Summary Net Link States (Area 0)
Routing Bit Set on this LSA
LS age: 10 (DoNotAge)
Options: (No TOS-capability, DC, Upward)
LS Type: Summary Links(Network)
Link State ID: 155.1.35.0 (summary Network Number)
Advertising Router: 3.3.3.3
LS Seq Number: 80000001
Checksum: 0xC3AC
Length: 28
Network Mask: /24
TOS: 0 Metric: 1
R1#traceroute 155.1.35.5
Type escape sequence to abort.
Tracing the route to 155.1.35.5
1 155.1.13.3 64 msec 40 msec 44 msec
2 155.1.35.5 80 msec * 64 msec
R1 is now using the direct path since R3 is now a real ABR. However as R3 now has an adjacency to Area 0 it will no longer accept summary routes from R4. If we want to fix this another virtual link is needed.
I hope this post gave you some things to think about regarding OSPF. This post was mostly inspired by the great document from Petr Lapukhov
Thanks for the post. Really helpful stuff. Good luck with the Lab.
Thanks Chris 🙂
Thanks a lot great article.