External LSAs are flooded through the OSPF backbone as well as
through all regular areas. Let’s test this using
TraderMary’s network of Figure 6-10. A static route for
192.168.3.0
is defined (pointing to
null0) on Chicago and
redistributed into OSPF. Router Chicago then
advertises an external LSA with a link state ID of
192.168.3.0
:
hostname Chicago ! router ospf 10redistribute static metric 100 metric-type 1 subnets
network 172.16.0.0 0.0.255.255 area 0 !ip route 192.168.3.0 255.255.255.0 Null0
The LSA is flooded to all routers in the network. Let’s check Paris as an instance:
Paris#sh ip ospf database external
OSPF Router with ID (192.168.1.5) (Process ID 10)
AS External Link States
Routing Bit Set on this LSA
LS age: 158
Options: (No TOS-capability)
LS Type: AS External Link
Link State ID: 192.168.3.0 (External Network Number )
Advertising Router: 192.168.1.3
LS Seq Number: 80000001
Checksum: 0x8F67
Length: 36
Network Mask: /24
Metric Type: 1 (Comparable directly to link state metric)
TOS: 0
Metric: 100
Forward Address: 0.0.0.0
External Route Tag: 0
The route to 192.168.3.0
also appears in the
routing table:
Paris#sh ip route
...
Gateway of last resort is not set
...
O E1 192.168.3.0/24 [110/302] via 10.0.1.2, 00:02:08, Serial1
...
Flooding external LSAs throughout an OSPF network may be a waste of resources. Stub areas block the flooding of external LSAs, as we will see in the next section.
Referring to Figure 6-1, the router in area 1 that connects to the RIP network floods external LSAs into the network. It appears that nothing is gained by importing external LSAs into areas 2 and 3, which can point all external routes to their ABRs using default routes. Representing every external LSA in areas 2 and 3 would be a waste of resources. With this in mind, OSPF defines stub areas . When an area is defined as a stub area, all external LSAs are blocked at the ABRs, and, in place, the ABRs source a single default route into the stub area.
All routers in a stub area must be configured as stub routers. Stub routers form adjacencies only with other stub routers and do not propagate external LSAs. (How does a router know if its neighbor is a stub router? The E bit in the hello packet is turned to zero if the router is a stub router).
Area 1 in TraderMary’s network can be made stubby via the following configuration changes:
hostname NewYork2 ... router ospf 10 network 172.16.0.0 0.0.255.255 area 0 network 10.0.0.0 0.255.255.255 area 1area 1 stub
hostname Paris ... router ospf 10 redistribute rip network 10.0.0.0 0.255.255.255 area 1area 1 stub
The routing table for Paris now shows a default route pointing to the ABR (NewYork2) but does not show the external route to 192.168.3.0 (sourced by Chicago):
Paris#sh ip route ... Gateway of last resort is 10.0.1.2 to network 0.0.0.0 ... O*IA 0.0.0.0/0 [110/65] via 10.0.1.2, 00:00:35, Serial1 O IA 172.16.0.0/16 [110/74] via 10.0.1.2, 1d23h, Serial1 ...
After making this change, however, we will find that the network has
lost connectivity to 10.0.3.0
, which represents
the RIP external network connecting to router
Paris. The reason for this is rather obvious:
stub areas do not propagate external LSAs. In other words, an ASBR
cannot belong to a stub area.
The other major restriction with stub areas is that they cannot support virtual links, because they don’t have the complete routing table. An area that needs to support a VL cannot be a stub area.
Any area that does not contain an ASBR (i.e., does not support a connection to an external network) and is not a candidate for supporting a virtual link should be made a stub area.
There is one major disadvantage to configuring an area as a stub area. When multiple ABRs source a default route, the routers in the stub area may fail to recognize the shortest path to the destination network. This may help determine whether you choose to implement an area as a regular area or as a stub area.
Totally stubby areas carry the concept of stub areas further by blocking all summary LSAs in addition to external LSAs.
In the configuration in the previous section, where
Paris is configured as a stub area, the LS
database for Paris will not show external LSAs
but will still show all summary LSAs, so
Paris’s routing table still
shows the summarized inter-area route to
172.16.0.0/16
. If NewYork2
did not summarize the 172.16.0.0
subnets,
Paris would show all six
172.16.0.0
subnets:
172.16.1.0/24
, 172.16.50.0/24
,
172.16.100.0/24
,
172.16.250.0/24
,
172.16.251.0/24
, and
172.16.252.0/24
. Totally stubby areas, unlike stub
areas, replace all inter-area routes (in addition to external routes)
with a default route.
Area 1 can be configured as a totally stubby area by modifying the configuration of NewYork2 as follows. No change is required to router Paris.
hostname NewYork2
!
router ospf 10
redistribute static metric 10
network 172.16.0.0 0.0.255.255 area 0
network 10.0.0.0 0.255.255.255 area 1
area 1 stub no-summary
Paris’s routing table now does not contain any IA routes (other than the default sourced by NewYork2):
Paris#sh ip route ... Gateway of last resort is 10.0.1.2 to network 0.0.0.0 10.0.0.0/24 is subnetted, 2 subnets C 10.0.2.0 is directly connected, Ethernet0 C 10.0.1.0 is directly connected, Serial1 192.168.1.0/32 is subnetted, 1 subnets C 192.168.1.5 is directly connected, Loopback0 O*IA 0.0.0.0/0 [110/65] via 10.0.1.2, 00:00:23, Serial1
Totally stubby areas have the same restrictions as stub areas -- no ASBRs (no external LSAs) and no virtual links. Also, like stub areas, totally stubby areas see all ABRs as equidistant to all destinations that match the default route. When multiple ABRs source a default route, the routers in the totally stubby area may not recognize the shortest path to the destination network.
What if a stub area needs to learn routes from another routing protocol? For example, Paris -- in area 1 -- may need to learn some RIP routes from a legacy network. NSSAs -- as specified in RFC 1587 -- allow external routes to be imported into an area without losing the character of a stub area (i.e., without importing any external routes from the backbone area).
NSSAs import external routes through an ASBR in type 7 LSAs. Type 7 LSAs are flooded within the NSSA. Type 7 LSAs may optionally be flooded into the entire OSPF domain as a type 5 LSAs by the ABR(s) or be blocked at the ABR(s). As with any stub area, NSSAs do not import type 5 LSAs from the ABR.
The option (of whether or not to translate a type 7 LSA into a type 5 LSA at the NSSA ABR) is indicated in the P bit (in the options field) of the type 7 LSA. If this bit is set to 1, the LSA is translated by the ABR into a type 5 LSA to be flooded throughout the OSPF domain. If this bit is set to 0, the LSA is not advertised outside the NSSA area.
All routers in the NSSA must be configured with the nssa keyword (line 48):
hostname NewYork2
!
router ospf 10
redistribute static metric 10
network 172.16.0.0 0.0.255.255 area 0
network 10.0.0.0 0.255.255.255 area 1
48 area 1 nssa
There are three optional keywords for NSSA configuration:
area 1 nssa ? 49default-information-originate
50no-redistribution
51no-summary
When configured on the NSSA ABR, the default-information-originate keyword (line 49) causes the ABR to source a default route into the NSSA.
The no-redistribution keyword (line 50) is useful on NSSA ABRs that are also ASBRs. The no-redistribution keyword stops the redistribution of external LSAs (from the other AS) into the NSSA.
The no-summary keyword (line 51) gives you another oxymoron -- it makes the NSSA a totally stubby NSSA, so no type 3 or 4 LSAs are sent into the area.
NSSAs are thus a variant of stub areas with one less restriction -- external connections are allowed. In all other respects, NSSAs are just stub areas.