16. Explain OSPF Virtual Link?
OSPF requires the use of a backbone area (area 0) with each area connecting to area 0 through an ABR. However in some cases, regular area might not have a convenient point of connection to the backbone area. In this case, OSPF uses virtual link to connect that regular area to backbone area virtually. An OSPF virtual link allows two ABRs that connect to the same non-backbone area to form a neighbor relationship through that non-backbone area, even when separated by many other routers and subnets. This virtual link acts like a virtual point-to-point connection between the two routers, with that link inside area 0. The routers form a neighbor relationship, inside area 0, and flood LSAs over that link.

17. Explain OSPF Stub Area and different types of Stub Areas?
Stub Area
Sometimes we need to control the advertisement of external routes into an area. This area is called Stub area. Stub areas are not capable of importing routes external to ospf.Type 4 & Type 5 LSA are filtered from Stub areas and a default route is injected into that area by ABR in place of external routes.To make area stub we have to give # area 1 stub command on all routers of that area.
Three restrictions apply to OSPF stub areas
1.No virtual links are allowed in stub area.
2.Stub area cannot be a backbone area.
3.No Autonomous System Boundary Routers are allowed.

Totally Stubby Area
Like stub areas, totally stubby areas do not receive type 4 or 5 LSAs from their ABRs. However, they also do not receive type 3 LSAs. It only allows advertisement of internal routes in that area.
To make area totally stubby area we have to give # area 1 stub no-summary command on ABR.

Not-So-Stubby Areas
The motivation behind NSSA is to allow OSPF stub areas to carry external routes. External routes are imported into OSPF NSSA as Type 7 LSA by ASBR. Type 7 LSA cannot go into area 0 so it is converted back into Type 5 LSA by ABR and injected into area 0.
To make area Not-So-Stubby Area we have to give # area 1 NSSA command on all routers of that area.

Totally NSSA
Along with Type 4 & Type 5 LSA, Type 3 LSA will also be filtered in Totally NSSA.
To make area Totally Not-So-Stubby Area we have to give # area 1 nssa no-summary command on ABR of that area.

18. How do I change the reference bandwidth in OSPF?
We can change the reference bandwidth using the ospf auto-cost reference-bandwidth command under router ospf. By default, reference bandwidth is 100 Mbps.

19. How does OSPF calculate its metric or cost?
OSPF uses Cost as its metric. The formula to calculate the OSPF cost is reference bandwidth divided by interface bandwidth. For example, in the case of Ethernet, it is 100 Mbps / 10 Mbps = 10.
If # ip ospf cost _ command is used on the interface, it overrides this formulated cost.

20. Explain OSPF Authentication?
These are the three different types of authentication supported by OSPF to secure routing updates.
1.Null Authentication - also called Type 0. It means no authentication information is included in the packet header. It is the default.
2.Plain Text Authentication - also called Type 1. It uses simple clear-text passwords.
3.MD5 Authentication - also called Type 2. It uses MD5 cryptographic passwords.

Plain Text Authentication
Step1 - To configure plain text authentication, first we have to enable authentication. Authentication can be enabled either under area or for specific interface.
To enable authentication for area
Router(config)# router ospf 100
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# area 0 authentication
This will enable authentication for all the interfaces of the router in area 0.
OR
If we dont want to enable authentication for an area, we can enable it for the specific interface. This is useful if different interfaces that belong to the same area need to use different authentication methods..
Router(config)# interface fa0/1
Router(config-if)# ip ospf authentication

MD5 Authentication
Step1 - To configure MD5 authentication, first we have to enable authentication.
Router(config)# router ospf 1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# area 0 authentication message-digest
OR
Router(config)# interface fa0/1
Router(config-router)# ip ospf authentication message-digest
Step2 - Next, We have to configure authentication key on the interface
Router(config)# interface fa0/1
Router(config-router)# ip ospf message-digest-key 10 md5 Cisco123
Here Cisco123 is the password value and 10 is the Key ID (number). It doesn’t matter which key ID you choose but it has to be the same on both ends.
Authentication passwords do not have to be the same throughout an area. However, they must be same between neighbors.