OSPF Advanced Configuration
There are a number of advantages to using OSPF over other internal routing protocols. One advantage is that it is vendor independent, and another is that it is very flexible and can be adapted to be used in a number of different network situations. This article picks up where the Basic OSPF Configuration article left off by briefly discussing and showing the configuration commands required to configure some of this OSPF flexibility.
OSPF Advanced Concepts
Before going into the advanced OSPF configuration, let’s review a couple of key concepts.
Stub Areas
One of the features that can be used with OSPF that can reduce device cost and unneeded traffic is stub areas. Normally within an OSPF area, each of the devices is sent a number of Link State Advertisements (LSA) that enables it to form a map of the existing OSPF network. While this does enable these OSPF devices to form a more complete “view” of the network, it also requires that these devices be able to process this information. Stub areas enable the network designer to limit the number of LSAs that are advertised into an area and replace them with summary information. For example, if area 3 was to be configured as a stub area, the Area Border Router (ABR) between area 3 and the backbone area (area 0) would only send an LSA that includes a summary to send all external traffic (redistributed from another routing protocol) to the ABR. Cisco also includes an area type proprietary to OSPF called totally stubby areas; these areas are not sent external traffic or summary information from other areas (inter-area routes), both are replaced by a default route to the ABR.
Network Types
The way that OSPF operates depends on the type of network technology that is being used and how it is connecting together the different parts of the network. On Cisco equipment, a normal LAN that supports multicast and broadcast communications by default uses the Broadcast network type; this network type is Cisco proprietary. The Broadcast network type supports the dynamic discovery of neighbors and utilizes the concept of Designated Routers (DR) and Backup Designated Routers (BDR), this support enables an easy to setup OSPF network and reduces the amount of traffic that is required between the different OSPF devices.
There are four other network types that are supported when running OSPF on Cisco devices; these include Non-Broadcast Multi-access (NBMA), Point-to-Point (Cisco Proprietary), Point-to-Multipoint, and Point-to-Multipoint nonbroadcast (Cisco Proprietary). By default, frame-relay interfaces are treated as NBMA, point-to-point interfaces are treated as point-to-point and Ethernet interfaces are treated as broadcast. Table 1 shows how these different network types operate:
Table 1 OSPF Network Types
OSPF Network Type |
Uses DR/BDR |
Dynamic Discovery |
Default Hello Interval |
Cisco Proprietary? |
Broadcast |
Yes |
Yes |
10 |
Yes |
Point-to-Point |
No |
Yes |
10 |
Yes |
NBMA |
Yes |
No |
30 |
No |
Point-to-Multipoint |
No |
Yes |
30 |
No |
Point-to-Multipoint nonbroadcast |
No |
No |
30 |
Yes |
OSPF Advanced Configuration Commands
This section will review the different commands that will be used to configure some of OSPFs advanced options.
auto-cost reference-bandwidth
As discussed in the OSPF Concepts article, the default reference bandwidth that is used by OSPF when calculating its metric is 100 Mbps. This default setting worked well in previous years when the speed of network interfaces did not exceed this bandwidth, but in modern networks it is not uncommon to see either 1 Gbps or 10 Gbps LAN interfaces. By default, in networks that have these higher bandwidth interfaces, a 100Mbps, 1Gbps or 10Gbps support would each have the same metric, this is because of the default reference bandwidth. On networks that support these higher speed interfaces, it is important to change this reference bandwidth to have some differentiation in metric, this is done with the auto-cost reference-bandwidth bandwidth OSPF router configuration command. It is also vital that if this change is going to be configured that it is done on all OSPF devices within the network.
area stub
To configure an area as a stub, the area area-id stub [no-summary] command is used, a totally stubby area would be configured by adding the optional no-summary parameter.
ip ospf network
By default, an OSPF device will select a specific network type depending on the type of network interface being configured. If the default setting is not the one that the engineer wants to use, the ip ospf network network-type interface command is used. The network-type parameter can be configured with broadcast, non-broadcast (NBMA), point-to-multipoint, point-to-multipoint nonbroadcast, or point-to-point.
neighbor
When configuring an OSPF network type that does not support dynamic discovery of neighbors, it is required to statically configure the IP addresses of the OSPF neighbors; this is done with the neighbor ip-address OSPF router configuration command.
OSPF Advanced Configuration
In this next section, we will take the commands that were reviewed in the previous section and show the steps that are required to use them on a real OSPF device, and how to use these commands depending on the needs of a specific network situation.
OSPF Reference Bandwidth
The steps required to configure the OSPF reference bandwidth are shown in Table 2:
Table 2 Reference Bandwidth Configuration
1 |
Enter global configuration mode. |
router#configure terminal |
2 |
Create an OSPF routing process and enter router configuration mode. |
router(config)#router ospf process-id |
3 |
Configure the OSPF reference bandwidth (in Mbps). |
router(config-router)#auto-cost reference-bandwidth bandwidth |
Stub Areas
The steps required to configure stub areas are simple and are shown in Table 3:
Table 3 OSPF stub area Configuration
1 |
Enter global configuration mode. |
router#configure terminal |
2 |
Create an OSPF routing process and enter router configuration mode. |
router(config)#router ospf process-id |
3 |
Configure an OSPF area as a stub area. |
router(config-router)#area area-id stub [no-summary] |
OSPF network types
The steps that are required for OSPF network type configuration vary depending on the specific network type selected; the steps required are shown in Table 4:
Table 4 OSPF network type Configuration
1 |
Enter global configuration mode. |
router#configure terminal |
2 |
Enter interface configuration mode. |
router(config)#interface interface |
3 |
Configure the OSPF network type to be used on the interface. |
router(config-if)#ip ospf network {broadcast | non-broadcast | point-to-multipoint | point-to-multipoint nonbroadcast | point-to-point} |
|
If the OSPF network type selected does not support dynamic neighbor discovery continue with steps 4-5. |
|
4 |
Enter router configuration mode. |
router(config-if)#router ospf process-id |
5 |
Configure a static OSPF neighbor. |
router(config-router)#neighbor ip-address |
OSPF Advanced Configuration Examples
This section goes over two different examples to show the commands discussed above.
OSPF Stub Configuration Examples
The first example will show the configuration of an OSPF stub area; in this example area 50 does not require the advertisement of external networks.
Figure 1 OSPF Stub Example Topology
To configure area 50 as a stub, following the steps shown in Table 5, it must be configured on all internal area 50 OSPF devices as well as on router ABR:
Table 5 Area 50 Stub configuration
1 |
Enter global configuration mode. |
router#configure terminal |
2 |
Enter EIGRP router configuration mode. |
router(config)#router ospf 10 |
3 |
Configure area 50 as a stub area. |
router(config-router)#area 50 stub |
OSPF Network Type Configuration Example
The second example will go over the steps that are required when configuring OSPF over a frame relay network. It is important to note that this is one way to configure OSPF over frame-relay and is only shown as an example and not as the ‘best’ solution. The network shown in Figure 2 will be used for this example.
Figure 2 OSPF Network Type Example Topology
To configure the frame relay interface between OSPF devices R1 and R2 the following configuration would be used.
Table 6 Frame Relay Interface Configuration
1 |
Enter global configuration mode. |
router#configure terminal |
2 |
Enter interface configuration mode. |
router(config)#interface s1/0 |
3 |
Configure the interface to use the OSPF NBMA network type (this is the default for physical frame-relay interfaces shown for example). |
router(config-if)#ip ospf network nonbroadcast |
4 |
Enter OSPF router configuration mode. |
router(config-if)#router ospf 10 |
|
Steps 1 through 4 would be configured on both R1 and R2. |
|
5 |
Configure the neighbors for OSPF (NBMA does not support dynamic neighbor discovery) on R1. |
router(config-router)#neighbor 172.16.1.2 |
5 |
Configure the neighbors for OSPF on R2. |
router(config-router)#neighbor 172.16.1.1 |
Summary
The configuration of an advanced OSPF implementation can become quite complex; the purpose of this article was to discuss some of the commands that are used in these advanced configurations and how they would be configured in a sample environment. Hopefully the article has been able to bring these features and their configuration in focus a little better and will enable some additional understanding when testing them on IOS.