Reading and Understanding The OSPF Database
Reading and Understanding The OSPF Database
Introduction
OSPF, being a link-state protocol, allows for every router in the network to know of every
link and OSPF speaker in the entire network. From this picture each router independently
runs the Shortest Path First (SPF) algorithm to determine the best path through the
network. All of this information is stored in the "Link State Database" (LSDB). Every
network engineer has seen the LSDB at some point by running show ip ospf database but
few actually know how to read the details. By looking only at the LSDB we should have
enough information to draw a topology diagram from scratch.
OSPF uses "Link State Advertisements" (LSAs) to provide information about links and
link-costs to neighboring OSPF speakers. OSPF defines multiple LSAs, which all serve a
different purpose.
Network Area Border Routers (ABRs) representing all of the Type 1 and
Type 4 - ABRs connected to an area where Type 4 LSAs are sent to other areas
ASBR Summary external routes (Type 5) are to build the Shortest Path Tree to an
LSA originated ASBR.
Starting on a router named r120 we can get a high-level overview of the network (or at
least our Area).
Next, who are all of the DRs in this Area? What network segments do they represent?
Routers 10.0.0.112 and 10.0.0.113 are the router IDs of the DRs for two
segments. 192.168.1.112 and192.168.7.113 represent the IP address of the DR on that
segment. We will see later that if we were to look at the Router LSA for 10.0.0.112, for
example, we would see 192.168.1.112 as one of the interfaces owned by that router.
The Summary Network LSAs (Type 3) are generated by the ABRs and will give us
information about every segment in the network, outside of our Area. Type 1 and Type 2
LSAs are not flooded beyond an ABR. The ABR is responsible for taking all of the
information in Type 1 and Type 2 LSAs and repackaging them into Type 3 LSAs.
From this we know Area 1 has two ABRs with RIDs 10.0.0.111 and 10.0.0.112. We also
see a total of 7 segments in the entire OSPF network. Each network is seen twice
because each ABR generates its own LSA. Two ABRs means two LSAs.
Type 4, Summary Network LSAs are next. These are generated by the ABRs
(10.0.0.111 and 10.0.0.112) to represent any routers or ABRs outside of our Area that is
passing along Type 5 (external LSAs). This may be a little confusing at this point but it
will make more sense when we start working through the topology.
Here we see two different prefixes being redistributed into OSPF. The ADV Router is
either the configured with the redistribute command (10.0.0.113) or an ABR connected to
a NSSA area where redistribution is happening.
With this information let's build some high-level topologies. First, start with what we know
from the Type 1 LSAs (all the routers in our area)
We will skip the Type 2 Network LSAs for now and go to the Type 3 Summary Network
LSAs. This gives us the other subnets in the network and the ABRs for Area 1
The Type 4 ASBR Summary LSAs let us know that 10.0.0.114 is also an ABR on Area 0
and finally, the Type 5's tell us about the externals. Using the "ADV Router" field we can
figure out where those routes come from.
Just from looking at the summary information in the database we've been able to put a
lot of information together. Now we can start looking into the LSAs to get an idea of what
the connectivity of Area 1 looks like.
We will start with router r120. Since we don't know anything about the links r120 has, we
start with a router with no connections.
To see the connections on r120 we'll need to look at the Router LSA that is generated by
r120 (remember: Router LSAs are represented by the Router ID)
2.) There is a least one other router on this segment with IP 192.168.7.113, and this is
the DR
2a.) Because there is a DR, we know this interface is multi-access (not point-to-point)
3.) The Router ID (10.0.0.120) is not advertised in OSPF (becuase there is no link
information representing the router ID)
We have an IP and a DR, but we don't know the subnet mask or which router in Area 1
owns the DR IP address. There is where the Type 2 LSA comes in. Remember the Type
2 is generated by the DR for a segment, and represents that segment, so we look for the
segment DR.
A lot of great information here. First, we see the advertising router, which is the Router ID
of the DR. In this case it's 10.0.0.113. Now we know who r120 is attached to. We also
see the network mask (/24) and all of the routers on the segment. In this case only r120
and 10.0.0.113 are on the segment. If there were other routers on this segment we would
see their Router IDs in the "Attached Router" list. So let's update the topology diagram.
Now we can look at the Router LSA of 10.0.0.113
We know that routers 10.0.0.112, 10.0.0.111 and 10.0.0.113 are all attached to this
segment. Now we can look at the Router LSAs for routers 10.0.0.112 and 10.0.0.111.
This will provide us with their interface IPs as well as any Stub Networks we haven't seen
yet.
Now we know that the DR, 192.168.1.112, is router 10.0.0.112. We know that
router 10.0.0.111 is also connected to the 192.168.1.0/24 segment with
IP 192.168.1.111. We now know the entire topology for Area 1.
We know everything there is to know about Area 1. There is nothing to learn from router
10.0.0.113, since all of the links on that router are discovered. The next point to continue
mapping the network would be on one of the ABRs. We will start with 10.0.0.112, or r112.
Since r112 is an ABR it will have Type 1, 2, 3 and 4 information for both Area 1 and Area
0. We will want to focus on the Area 0 information. Let's get started by looking at our own
Router LSA
Looks like we only have link 192.168.0.112 in this area, and we are not the DR on this
segment. Now we take a look at the Type 2 LSA for this segment.
One interface here, with IP 192.168.0.111. This is the same segment as r112 and
Router 10.0.0.110. Finally, let's look at10.0.0.110
r112#show ip ospf data router 10.0.0.110
OSPF Router with ID (10.0.0.112) (Process ID 1)
Router Link States (Area 0)
LS age: 1232
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 10.0.0.110
Advertising Router: 10.0.0.110
LS Seq Number: 80000263
Checksum: 0x4E09
Length: 48
Number of Links: 2
Link connected to: a Transit Network
(Link ID) Designated Router address: 192.168.0.111
(Link Data) Router Interface address: 192.168.0.110
Number of MTID metrics: 0
TOS 0 Metrics: 10
Link connected to: a Transit Network
(Link ID) Designated Router address: 192.168.2.110
(Link Data) Router Interface address: 192.168.2.110
Number of MTID metrics: 0
TOS 0 Metrics: 10
We have two links again, one connected to the segment with 10.0.0.110 and a new
segment. Again, notice that the segment 192.168.3.0 is a Stub Network, so there are no
other OSPF speakers on this link. Now, before we think we've finished up, we haven't
looked at the Type 3 LSAs that are generated by ABRs. We don't know if there is another
ABR in Area 0, so let's look
Before addressing the new routes here, you can see the Type 3 LSAs in Area 0 that are
generated by the two ABRs, 10.0.0.111 and 10.0.0.112. These routes here are all of the
routes in Area 1, that we just described. This is how an ABR hides the details of an Area
from the rest of the network.
We see four new networks all coming from the ABR 10.0.0.114. Now we can update our
topology diagram of Area 0.
Again, we need to jump to our ABR to see what's going on in the rest of the network.
On r114 things get interesting. Looking at the LSAs we see that r114 is in 3 areas.
But things look a little fishy in Area 2 and Area 3. Notice that Area 2 has no "Summary
ASB Link States" (Type 4). Also notice that Area 3 has "Type-7 AS External Link States".
If we are in an area that does not have any Type 4 LSAs, that area can not have external
routes. OSPF works by linking the information carried in a Type-4 LSA to the information
carried in the Type-5 LSA to build a tree. OSPF Stub areas do not allow any external
information, matching this description. We can assume that Area 2 is a Stub Area.
Again, let's get a lay of the land by looking at the Router LSA summaries.
We can see there are four routers in the area. 10.0.0.116 and 10.0.0.119 both have two
links.
Let's digest this here. First 10.0.0.115 has a single interface with IP 192.168.5.115. Next
we see 10.0.0.116 with two interfaces, 192.168.5.116 and 192.168.6.116. Let's update
the topology and then take a look at the segment with DR 192.168.6.119. This must be
the router 10.0.0.119, the only router in Area 2 we haven't looked at yet.
Remember that routers 10.0.0.116 and 10.0.0.119 both had two links. We have
discovered the two links on 10.0.0.116, but we still have one link on 10.0.0.119 to find, so
let's look at the Type-1 for 10.0.0.119
Now we have discovered all of the links in Area 2. Because Area 2 still receives Type-3
LSAs, it will know about all of the links in the OSPF network. The only thing it will not have
will be the external routes that are injected into OSPF.
Remember that r114 was in three Areas: Area 0, Areas 2 and Area 3. Before digging into
Area 3, let's take another look at the LSAs that exist in Area 3.
We see Type 1 (Router Link States), Type 2 (Net Link State), Type 3 (Summary Net Link)
and Type 7 (Type-7 AS External). Similar to Area 2, we do not see Type 4 or Type 5
LSAs. However we see Type-7 LSAs, which only exist in Not So Stubby Areas (NSSA).
In a normal Stub area external route information is not allowed. NSSA areas allow us to
have all of the features of a Stub area (no externals from other parts of the network) while
still allowing external information to be originated in this area. To accomplish this, NSSA
areas do not allow Type-5 (normal external LSAs) and use a special Type-7 LSAs. When
the Type-7 arrives on the ABR (r114 in this case), the ABR must convert this Type-7 to a
Type-5 for the rest of the network. We'll take a look at this process in a little while.
First, let's see how many routers and links are in Area 3
We have 3 routers, each with 1 link. Now, as always, take a look at our Type-1
r114#show ip ospf data router 10.0.0.114
Router Link States (Area 3)
LS age: 723
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 10.0.0.114
Advertising Router: 10.0.0.114
LS Seq Number: 80000334
Checksum: 0xB579
Length: 36
Area Border Router
AS Boundary Router
Number of Links: 1
Link connected to: a Transit Network
(Link ID) Designated Router address: 192.168.4.117
(Link Data) Router Interface address: 192.168.4.114
Number of MTID metrics: 0
TOS 0 Metrics: 10
Here are three routers attached to this segment. r114, the DR and a third router. Now the
Type-1 LSAs for the other routers.
We see IPs 192.168.4.118 and 192.168.4.117. Here's the topology for Area 3.
But let's not forget about the Type-7 LSAs we saw earlier. Because these are Type-7, we
are not looking at externalLSAs but nssa-external LSAs
This is the LSA representing the external network 172.16.0.118/32. Within this area the
routers should send traffic for this destination to the Forwarding Address
of 192.168.4.118. Once the LSA arrives on the ABR, r114, it will be converted into a Type-
5 LSA and sent to all other areas (that aren't stubs, meaning that Area 2 will not see this
LSA). We can confirm this by looking at the Type-5 LSAs
r114#show ip ospf data external 172.16.0.118
OSPF Router with ID (10.0.0.114) (Process ID 1)
Type-5 AS External Link States
LS age: 146
Options: (No TOS-capability, DC)
LS Type: AS External Link
Link State ID: 172.16.0.118 (External Network Number )
Advertising Router: 10.0.0.114
LS Seq Number: 80000101
Checksum: 0x9477
Length: 36
Network Mask: /32
Metric Type: 2 (Larger than any link state path)
MTID: 0
Metric: 20
Forward Address: 192.168.4.118
External Route Tag: 0
Here we see the Type-5 originated not by 10.0.0.118, like the Type-7, but by 10.0.0.114.
This is due to the Type-7 to Type-5 conversion. Since r114 is generating a new LSA it
sets itself as the Advertising Router. You'll also notice that the Forwarding Address has
remained the same. When other routers in the network build the tree to reach this external
destination they will build to the best ABR to reach this network (since it would be part of
a Type-3 LSA). For more information on Forwarding Addresses, there is a great docon
Cisco.com.
With all of this information we can finish the topology for Area 3
and then for the entire OSPF network.
Summary
Hopefully reading the OSPF topology is a little more clear now. The less obvious
takeaways are how OSPF scales by hiding topology information. You noticed that in an
area we have a large number of Type 1 and Type 2 LSAs. Outside of that area there is
only a single Type-3 LSA generated by each ABR. We can also use Stub Areas to hide
external information, keeping even less information in the LSDB of the routers in those
areas.
Finally, think about how each LSA type links together. OSPF's SPF algorithm links
different pieces of information together. For a router in Area 1 to reach the external route
in Area 3, it has to look at the Type-5 that represents the external route. Then it has to
look at the Type-4 representing the ABR on the area that the ASBR lives in. Then we
have to look at the Type-3 to get to that remote ABR. Finally we look at the Type-1 and
Type-2 LSAs in our area to determine how to get to our closest ABR.
Each LSA serves a specific purpose and they all fit together to supply end-to-end
connectivity.