Open Shortest Path First (OSPF)

Open Shortest Path First (OSPF) is a link-state dynamic routing protocol that routes IP-only. It is a scalable, open standard interior gateway protocol (IGP) that supports multivendor devices. OSPF routers build and maintains a global topology database with the exchange of link-state advertisements (LSA). The purpose of LSAs are to advertise topology and routing information between OSPF enabled routers. There are event-triggered updates that are sent only when a topology change occurs (link failure) to conserve bandwidth.

OSPF Areas

The purpose of routing protocols is to enable end-to-end network layer connectivity between endpoints. There is always a forward and reverse path selected between endpoints for each session. The routing table is comprised of multiple routes to different destination subnets that are learned from different route sources. The distinction is in how the local router learns of the route. Dynamic routing protocols such as OSPF, EIGRP, RIP, IS-IS, and BGP advertise and learn routes automatically.

OSPF is a hierarchical layered architecture that is defined with single or multiple areas. The single area design is often implemented with smaller network domains to enable faster convergence when a link failure occurs. The advantage of multiple areas is primarily within larger network domains. There are smaller routing tables on each router per area. Route summarization can be enabled at an area border router (ABR) to reduce the size of routing tables and amount of LSA flooding. Routing issues such as flapping are limited to each area with multi-area OSPF design.

Figure 1 OSPF Multi-Area Design

There is a mandatory common backbone area 0 only for multi-area OSPF. All other areas must connect to the OSPF backbone area. That is required to advertise routes between areas and prevent routing loops. The exception is when a virtual link is configured to tunnel through a normal area to the backbone area. OSPFv2 refers to the version of OSPF that only supports IPv4 addressing on network interfaces. It is the most widely deployed version of OSPF. The area number for single-area OSPF does not have to be numbered area 0.

Figure 2 OSPF Area Types

OSPF supports a variety of area types that are configured to advertise specific routes. The most common are normal areas and the backbone area where most LSAs are permitted. Stub areas are implemented at remote offices for default routing to a data center. OSPF not-so-stubby-area (NSSA) forwards redistributed routes from an external routing domain such as EIGRP.

OSPF router types are classified based on function and location. There are backbone routers, normal routers, area border routers (ABR), and autonomous system border router (ASBR). OSPF ABR routers have interfaces configured in more than one area. They are responsible for advertising routes between areas. OSPF ASBR is a redistribution point between OSPF and an external routing domain such as EIGRP or BGP.

OSPF LSA route types denote the route topology information and where it originated. Type 1 identifies a single router and referred to as Intra-Area (O). Type 2 is a network LSA since it is associated with a network segment (DR/BDR) and designated as Intra-Area (O) as well. Type 3 is a summary LSA generated only by an ABR and referred to as Inter-Area (IA). Type 4 LSA is a summary ASBR advertised only from an ABR, that advertises a route to the ASBR. Type 7 is an NSSA LSA that originates from an ASBR and is converted to Type 5 LSA at an ABR. They provide routes to external routing domains for OSPF routers.

Route Convergence

The primary characteristic of a link-state protocol is a global topology database created when link states are exchanged between all neighbors within an area. There are link states advertised between all areas as well, and routes are installed in the routing table.

OSPF runs Dijkstra SPF algorithm for shortest path (lowest cost) computation to each destination from the link state database and populates the routing table. This makes link state protocols extremely scalable, with optimized routing and fast convergence. After convergence when all OSPF tables are updated, there are only event-triggered routing updates that are sent to neighbors.

The correct order of operation for OSPF convergence initially starts with OSPF neighbors exchanging hello packets to form neighbor adjacency. Next all OSPF connected neighbors exchange LSA packets. OSPF neighbors then exchange database descriptor packets (DBD) to build the topology database. OSPF runs SPF algorithm for shortest path computation to all destinations, and that is used to build the routing table.

Neighbor Adjacency > Exchange LSAs > Build Topology Table > SPF Algorithm > Build Routing Table

Path Selection

OSPF link-state advertisements (LSA) are comprised of topology and route information. SPF calculates shortest (best) path to each destination based on route type and metric. Any router with an OSPF only deployment does not consider administrative distance unless there are static routes configured.

As a result, routes are installed based on route type first when there are multiple OSPF routes to the same destination. OSPF installs the route with lowest metric when there are multiple OSPF routes of the same route type. Finally, routes of the same route type with equal cost metric are installed and up to six equal cost paths are load balanced by default.

The order of preference starts with OSPF Intra-Area (O) route type. They represent any OSPF route that originates from within the same area and have the highest preference. OSPF Inter-Area (IA) routes are exchanged between areas and preferred next after Intra-Area (O) routes. Finally there are NSSA and external routes that originate from a different routing protocol through an OSPF ASBR redistribution router.

NSSA and external routes have a lower preference than other previously mentioned route types. LSA Type 7 originate from an ASBR and include NSSA Type 1 route (N1) and NSSA Type 2 route (N2). N1 and N2 routes are advertised from an ASBR and transit not-so-stubby-area (NSSA). They are converted to Type 5 LSA at an ABR and flooded throughout the OSPF domain. The cost assigned to N1 is a default metric cost (20) + internal path cost from ASBR to destination. The cost assigned to N2 is a default metric cost (20) only and added at ASBR router redistribution point.

LSA Type 5 originate from an ABR and include External Type 1 route (E1) and External Type 2 route (E2). They are flooded from an ABR throughout the OSPF routing domain. The cost assigned to E1 route is a default metric cost (20) + internal path cost from ASBR to destination. The cost assigned to E2 route is a default metric cost (20) only and does not include internal path cost from ASBR to destination. It is the least preferred route based on order of route type preference shown here.

Intra-Area (O) > Inter-Area (IA) > NSSA (N1) > External (E1) > NSSA (N2) > External (E2)

Metric Calculation

Each routing protocol has a unique method for calculating route metric. OSPF calculates a cost metric based on interface bandwidth. The default cost of an OSPF enabled interface = 1.

cost = 100 Mbps / interface bandwidth

Each network link is comprised of the local interface and a neighbor interface. The lowest cost assignable to an interface is 1 even though calculation could arrive at a lower number. The reference bandwidth of OSPF is configurable to account for faster interfaces that start at Gigabit (1000 Mbps) speed today. The reference bandwidth is a global configuration command that must match for all routers in the same OSPF routing domain.

router ospf 1
auto-cost reference-bandwidth 1000

The alternative to reference bandwidth method is ip ospf cost command. It allows you to configure the cost metric directly on a network interface. The third option is to manually configure interface speed with the IOS interface bandwidth command. That affects how OSPF calculates metric for that specific link only, and not the interface physical speed. You would have to configure the bandwidth command on both local and neighbor interface. It is not recommended however since it could affect how other routing protocols calculate metric.

OSPF Characteristics

  • Link-state routing protocol
  • Interior Gateway Protocol (IGP)
  • Administrative distance = 110
  • IP only routing
  • IPv6 support (OSPFv3)
  • Open standard
  • Layer 3 (IP protocol 89)
  • Metric = interface cost (bandwidth)
  • Reference bandwidth = 100 Mbps
  • Classless routing
  • Hierarchical topology
  • Global database topology (LSA) table
  • SPF algorithm: shortest path to destination calculated from LSA table
  • Event-triggered routing updates
  • Router types: Normal, Backbone, ABR, ASBR
  • Area types: Normal, Backbone, Stub, Totally Stubby, NSSA, Totally NSSA
  • Route types: Intra-Area (O), Inter-Area (IA), NSSA Type 1 (N1), NSSA Type 2 (N2), External Type 1 (E1), External Type 2 (E2)
  • LSA types: Router (Type 1), Network (Type 2), Summary (Type 3), Summary ASBR (Type 4), External (Type 5), NSSA (Type 7)
  • OSPF LSA refresh every 30 minutes
  • Multicast address: (All OSPF routers)
  • Multicast address: (updates to DR/BDR only)
  • Network types: broadcast, non-broadcast, point-to-point, point-to-multipoint, point-to-multipoint non-broadcast)
  • Hello timer = 10 sec, Dead timer = 40 sec (broadcast / point-to-point)
  • Hello timer = 30 sec, Dead timer = 120 sec (non-broadcast, point-to-multipoint non-broadcast)
  • Hop count = unlimited
  • Loop prevention: native (SPF)
  • Wildcard masks only
  • Message authentication: none / text password / MD5
  • Route auto-summarization: not supported
  • Scalable to large enterprise domains
  • Load balancing = 4 equal cost paths (default)