Christmas Offer - Every Learner Must Check Out - Flat 88% OFF on All Access Pass
PyNet Labs- Network Automation Specialists

What is OSPF (Open Shortest Path First) Protocol?

Author : PyNet Labs
Last Modified: March 19, 2024 
OSPF Protocol - Open Shortest Path First


OSPF is a routing protocol that is widely used in large and complex networks. The Open Shortest Path First (OSPF) protocol is classified as an Interior Gateway Protocol (IGP). It is utilized to determine the optimal routing path between a source and destination router by implementing the shortest path first (SPF) algorithm. OSPF Protocol is a link-state routing protocol where the routers exchange topology information with their closest neighbors and also use the Dijkstra algorithm to determine the optimal path in the network. If you want to learn about OSPF in-depth, then BGP OSPF Training might be the best choice for you.

What is OSPF protocol?

OSPF stands for Open shortest path first. OSPF protocol is defined in RFC 2328 for IPv4 and RFC 5340 for IPv6. It operates at the network layer of the OSI model and uses IP packets to exchange routing information.

In a network, routers need to know how to forward data packets to their intended destinations. OSPF protocol allows routers to exchange information about the network’s structure, including the links between routers and their associated costs. This information helps routers calculate the shortest and most efficient paths for transmitting data.

OSPF Protocol offers several features that make it a better option for large and complicated networks. Some of these are:

  • It allows the network to be divided into smaller areas, which reduces the amount of routing information that each router has to process and store. Each area has an area border router (ABR) that connects it to other areas. The backbone area (area 0) is the core of the OSPF network and connects all other areas.
  • It helps in securing communication between routers and prevents unauthorized or malicious updates.
  • It uses multicast addresses to send routing updates to all routers in the same area or network. This reduces bandwidth consumption.
Router Roles in OSPF

You may also like – Difference between EIGRP and OSPF

OSPF Terms

  • Router ID – Router ID is an active IP address shown on the router and is considered the active IP address on the router’s interface when no loopback is configured. Otherwise, the highest loopback address is considered before the active IP address.
  • Router Priority – An 8-bit value allocated to the router operating OSPF allows it to select DR and BDR in the broadcast network.
  • Designated Router (DR) – DR is selected to reduce the number of adjacent locations and gives LSAs to all routers. All routers broadcast their DBD as it is selected in the broadcast network. In a broadcast network, the DR receives an appeal from the router for an update, so the DR responds to that appeal with an update.
  • Backup Designated Router (BDR) – In a broadcast network, it is a backup to the DR and takes over the DR’s functions when the DR is down.
  • DR and BDR electionsDR and BDR elections are done in broadcast or multi-access networks. Selection criteria are given below:
    • The higher the router priority of a router, the higher the DR it will be declared.
    • In router priority, the larger route should be considered if there is a tie. (The overactive IP address on the router’s interface is considered when no loopback is configured. Otherwise, the highest loopback address is considered before the overactive IP address).

How OSPF Works?

OSPF is a link-state routing protocol, which means that each router in the network maintains a database of the state of each link (interface) in the network. This database is called the link-state database (LSDB) and contains information such as:

  • The router ID of each router in the network
  • The IP address and subnet mask of each interface
  • The cost (metric) of each interface
  • The type and state of each interface
  • The neighbors (adjacent routers) on each interface

Each router periodically sends out link-state advertisements (LSAs) to its neighbors, which contain the information from its LSDB. The neighbors then flood these LSAs to their neighbors, and so on, until all routers in the network have received and stored the same LSAs in their LSDBs. This process is called link-state synchronization and ensures that all routers have a consistent network topology view.

Using the information from the LSDB, each router then runs a shortest-path algorithm (such as Dijkstra’s algorithm) to calculate the best path to each destination in the network. This path is based on the cost of each link, which can be configured manually or derived from factors such as bandwidth, delay, reliability, and load. The result of this OSPF cost calculation is stored in a table called the routing table, which contains the next-hop router and interface for each destination.

How OSPF Establishes Neighbor Relationships

Before OSPF routers can exchange routing information, they need to establish neighbor relationships with each other. This is done by sending hello packets on each interface that is configured for OSPF Protocol. Hello packets contain information such as:

  • The router ID of the sender
  • The hello interval (the time between hello packets)
  • The dead interval (the time after which a neighbor is considered down if no hello packets are received)
  • The area ID (the identifier of the OSPF area that the interface belongs to)
  • The authentication type and data (if any)
  • The list of neighbors that the sender knows about

When a router receives a hello packet from another router on the same interface, it checks if the following conditions are met:

  • The area ID matches
  • The authentication type and data match (if any)
  • The hello interval and dead interval match
  • The sender’s router ID is not already in the neighbor list

If these conditions are met, the receiver adds the sender’s router ID to its neighbor list and sends back a hello packet with its own information. This process is repeated until both routers have each other’s router IDs in their neighbor lists. This means that they have formed a two-way state.

OSPF Areas

OSPF divides the Autonomous system into areas to mitigate the impact of congestion that arises from excessive flooding. As ISPs partition the internet into smaller, more manageable chunks called “autonomous systems,” OSPF Protocol does the same thing to further segment the autonomous into “areas” for easier administration.

There are different types of OSPF areas, such as:

  1. Backbone Area: The backbone area, also referred to as area0 or area, constitutes the fundamental component of an OSPF network, serving as the central point of connection for all other network areas. It distributes routing information among non-backbone area types.
  2. Standard area: This is a regular area that can have any area ID other than 0. It can only connect to the backbone area or another standard area through an ABR (Area Border Router).
  3. Stub Area: Stud Area relies fully on a default route for its routing needs. This is a special area that does not receive external routes from other AS.
  4. Not So Stubby Areas: NSSA can import external AS routes and send them to another area. However, it’s not possible to receive external routes of AS from any other areas.
  5. Totally stubby area: This is another variation of the stub area that does not receive any external routes or inter-area routes from other areas. It only has a default route to the backbone area through an ABR.

Before getting into the working of OSPF, let’s first understand the different states of OSPF.

OSPF States

OSPF Protocol has different states that describe the status of a router or a neighbor relationship. The main states of OSPF are:

  • Down: The initial state when a router has no information about a neighbor or a network.
  • Init: The state when a router has received a hello packet from a neighbor but has not established bidirectional communication yet.
  • Two-way: The state when a router has established bidirectional communication with a neighbor but has yet to decide whether to exchange routing information or not.
  • Exstart: The state when a router has decided to exchange routing information with a neighbor and has negotiated the master-slave relationship and the initial sequence number.
  • Exchange: The state when a router exchanges DBD packets with a neighbor to synchronize their LSDBs.
  • Loading: The state when a router requests and receives more details about LSAs from a neighbor using LSR, LSU, and LSAck packets.
  • Full: The final state when a router has synchronized its LSDB with a neighbor and is ready to forward packets.

OSPF Message Types

There are five types of messages used in OSPF Protocol –

  • Hello: The Hello is used to create neighborhood relationships and analyze the proximity of neighbors. It means that “Hello” is necessary to establish a connection between routers.
  • Database description: After making a connection, when the neighboring router wants to communicate with the system for the first time. It transmits the information to the database for network topology to the system; through this, the system can update or make changes accordingly.
  • Link State Request: The router sends a link-state request to obtain information about the specified route. For example, Router 1 wants information about Router 2, so Router 1 shares a link-state request with Router 2. If Router 2 receives a link-state request, it sends link-state information to Router 1.
  • Link State Update: The router uses link-state updates to announce the status of the link. When a route needs to broadcast the state of its link, it uses link-state updates.
  • Link-State Acknowledgment: With link-state acknowledgment, routing is more reliable by forcing each node to share an acknowledgment on each link-state update. For example, Router A shares a link-state update with Routers B and C. In response, Router B and C share a link-state acknowledgment to Router A, thereby notifying Router A that both routers have received the link-state update.

Advantages of OSPF Protocol

OSPF has several benefits that make it a popular routing protocol, such as:

  • It can scale to large and complex networks by using hierarchical design, areas, and route summarization.
  • It supports variable-length subnet masking (VLSM) and classless inter-domain routing (CIDR), which allow more efficient use of IP addresses and reduce the size of routing tables.
  • Quicker detection and restoration from a link or node failures are made possible by OSPF’s support for fast reroute (FRR) and bidirectional forwarding detection (BFD).
  • It can support different types of networks, such as broadcast, non-broadcast, point-to-point, point-to-multipoint, and virtual links.
  • It supports different types of traffic, such as unicast, multicast, and anycast.
  • It is an open standard that is widely implemented by different vendors and devices.

Disadvantages of OSPF Protocol

Here are the major disadvantages of the OSPF protocol –

  • It requires additional storage because the SPF algorithm requires additional CPU processing.
  • Saving adjacent topologies requires more RAM.
  • It is very complex, so it isn’t easy to troubleshoot.

OSPF v3 vs OSPF v2

OSPF V3 (Open Shortest Path First Version 3) and OSPF V2 (Open Shortest Path First Version 2) are two versions of the OSPF routing protocol. Let’s explore the main differences between them:

FeatureOSPF v2OSPF v3
AddressingUses IP addressesUses link-local addresses
AuthenticationUses plain text or MD5Uses IPv6’s IPsec
AreasSupports standard, stub, NSSA, and totally stubby areasSupports all OSPF v2 areas plus new types: not-so-stubby and totally NSSA
LSA types7Has two new LSA (LSA 8 and LSA 9)
Header size24 bytes16 bytes
Flooding scopeUses link-state and AS scopeUses link-local, area, AS, and site scope

These are the major differences between the two versions of OSPF Protocol.

Frequently Asked Questions

Q1 – What is OSPF used for?

The Open Shortest Path First (OSPF) protocol is utilized to determine the optimal route for data packets as they go through a series of interconnected networks.

Q2 – What are the 7 stages of OSPF?

The seven stages of OSPF Protocol are:

  • Down
  • Init
  • Two-Way
  • Exstart
  • Exchange
  • Loading
  • Full

Q3 – What are the 3 components of OSPF?

The three components of OSPF protocol are: Neighbor discovery, Link-state information exchange, and Best-path calculation.

Q4 – What is the principle of OSPF?

Open Shortest Path First (OSPF) is a link-state routing protocol that operates within a single autonomous system. It uses its own shortest path first algorithm to find the best and optimal pathway between a source and a destination router.


The Open Shortest Path First is a routing protocol used in computer networks to find the shortest path between two nodes. It holds a significant position in the infrastructure of the internet as a routing mechanism. Efficiently identifying the shortest path can effectively reduce unnecessary network traffic.

In this blog, we have briefly described OSPF protocol , its states, benefits, working, and how it establishes neighbor relationships. We also have compared OSPFv2 and OSPFv3 for better understanding. One can learn more about routing protocols by becoming part of our CCNA course.

Suggested Reads –

OSPF Interview Questions and Answers

You can learn more about OSPF Protocol and its fundamentals with this video –

Recent Blog Post

Leave a Reply

Your email address will not be published. Required fields are marked *

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram