Introduction to OSPF NSSA Area

Today I am going to talk about the OSPF NSSA area as this is one of the most important topic and always been asked by the interviewers. I knew many of you are already aware if the OSPF NSSA area but it is important for the network engineers who started studying OSPF in details specially area types. OSPF is one of the widely used protocol in the enterprise network and there are so many enhancements done like to integrate with the IPv6 and OSPFv3.

Before we talk about OSPF NSSA area,  I would like to tell you guys that we have our own youtube channel for various network videos that can further help you guys to study further. I will going to add many more videos soon on the channel, Please subscribe to the channel for the study network related videos

Subscribe us on Youtube: http://y2u.be/0c4lMYVp9go

OSPF NSSA Area
NSSA stands for not-so-stubby area and is used in OSPF protocol. NSSA is to allow OSPF Stub areas to carry External routes which is the routes learned from other protocols like RIP, EIGRP or BGP and then redistribution into an NSSA area creates a special type of link-state advertisement (LSA) known as type 7, which can only exist in an NSSA area. An NSSA autonomous system boundary router (ASBR) generates this LSA and an NSSA area border router (ABR) translates it into a type 5 LSA, which gets propagated into the OSPF domain.

Below is the basic topology showing the OSPF with NSSA area. The topology showing here is just for the demo purposes and has no relevance with any of the enterprise network.

Fig 1.1- Basic OSPF with NSSA area

What is the purpose and benefit of using the NSSA area in your OSPF network ?
OSPF NSSA generally reduce the size of the database when you are going to configure the area as a stub or totally stubby area. However, areas that have external routes redistributed into them cannot be configured as stub or totally stubby areas.

External routes with LSA 5 are not allowed in stub areas. Therefore, they cannot propagate from the stub area into the backbone area, resulting in loss of connectivity to the external networks.

This issue is resolved in the OSPF not-so-stubby area (NSSA), which is a stub area that advertises external routes and propagates them into the backbone.

At the NSSA Autonomous System Boundary Router (ASBR), external routes are introduced as type 7 LSAs and propagated through the NSSA. At the Area Border Router (ABR), these get converted back to type 5 LSAs and are introduced into the backbone. NSSAs block type 4 and 5 LSAs. NSSA totally stub area blocks type 3, 4, and 5 LSAs.

What is the concept of N and E bits?
N-bit (NSSA supported bit) and E-bit (External Routing Capability of the area) reflect an interface's external LSA flooding capability. When the peers exchange Hello messages, they check for the N-bit (should be set to 1) and E-bit (should be set to 0), along with Area ID. A mismatch in the Options field could result in failed adjacency.

So we are using Type 7 LSA, What is that ?
Well regarding the type 7 LSA, now you are able to understand that it is the external routes that can be propagated in the NSSA area only. The NSSA ASBR redistributes routes from different routing protocols like BGP, RIP or any other into OSPF, and vice versa. This router sets the E-bit in Router LSA flag. The ASBR originates a separate Type 7 LSA for each external route.

As i already told in the above mentioned statement that the type 7 LSAs are only flooded within the originating NSSA. The NSSA ABR (the routers connecting NSSA to backbone area 0) translates Type 7 LSA into Type 5 LSA, and flooded into the OSPF topology.

In Cisco IOS, by default, the NSSA ASBR always set the N/P-bit (Propagate) in the Options field of Type 7 LSA. The P-bit is not set only when the NSSA ASBR and NSSA ABR are the same router for the area. The P-bit tells the NSSA ABR to translate a Type 7 LSA to Type 5 LSA. These translated Type 5 LSAs copy the Forwarding Address (FA) from Type 7 LSA.

Basic Configurations of OSPF NSSA Area
In the basic configuration i am taking OSPF process id 1 with the area 1
ttlbits(config)# router ospf 1
ttlbits(config-router)# network 10.1.0.0 0.0.7.255 area 1
ttlbits(config-router)# area 1 nssa