Open Shortest Path First, or OSPF, is a dynamic routing protocol used by routers to exchange information about available IPv4 and IPv6 networks. It is classified as a link-state Interior Gateway Protocol, meaning it is designed to operate within a single organization or autonomous system.
OSPF allows routers to automatically learn the network topology, calculate the best path to each destination, and update their routing tables when network conditions change. Routers share link-state information, build a common map of the network, and use the Shortest Path First algorithm to select routes based primarily on interface cost.
OSPF reduces the need for manually configured static routes and can quickly adapt when a link, router, or network becomes unavailable. It also supports hierarchical network designs through the use of areas, making it suitable for both small networks and large enterprise or service-provider environments.
Development of Open Shortest Path First began in 1987 through the Internet Engineering Task Force. The objective was to create a link-state routing protocol that would be more efficient and scalable than RIP. OSPF selects routes using a path-cost metric, allowing routers to calculate the lowest-cost path to each destination.
OSPF achieves fast convergence by distributing Link-State Advertisements, or LSAs, whenever significant network changes occur. Routers exchange these LSAs using multicast communication on the local network, allowing them to maintain consistent link-state databases. During stable network conditions, OSPF generates relatively little routing traffic. OSPF Version 2 was first standardized in RFC 1247 in 1991 and was later revised in RFC 2328 in 1998.
Here is a complete (I think) list of RFC’s that relate to OSPF: hundreds of RFCs mention OSPF, while others define technologies that OSPF can advertise. The list below is a comprehensive catalog of RFCs directly devoted to OSPF, OSPFv2, OSPFv3, or MOSPF, through RFC 9983, published in May 2026. The RFC Editor index used for verification was generated July 20, 2026. (RFC Editor)
Core OSPF specifications
These are the most important RFCs for your introductory material:
- RFC 1131 — OSPF Specification; original OSPF version 1, obsolete
- RFC 1247 — OSPF Version 2; obsolete
- RFC 1583 — OSPF Version 2; obsolete
- RFC 2178 — OSPF Version 2; obsolete
- RFC 2328 — OSPF Version 2; current OSPFv2 Internet Standard, STD 54
- RFC 2740 — OSPF for IPv6; obsolete
- RFC 5340 — OSPF for IPv6; current base OSPFv3 specification
- RFC 5838 — Support of Address Families in OSPFv3
- RFC 8362 — OSPFv3 LSA Extensibility
- RFC 9454 — Update to OSPF Terminology (IETF Datatracker)
Historical and foundational RFCs
- 1131 — OSPF Specification
- 1245 — OSPF Protocol Analysis
- 1246 — Experience with the OSPF Protocol
- 1247 — OSPF Version 2
- 1248 — OSPF Version 2 Management Information Base
- 1252 — OSPF Version 2 Management Information Base
- 1253 — OSPF Version 2 Management Information Base
- 1364 — BGP OSPF Interaction
- 1370 — Applicability Statement for OSPF
- 1403 — BGP OSPF Interaction
- 1583 — OSPF Version 2
- 1584 — Multicast Extensions to OSPF
- 1585 — MOSPF: Analysis and Experience
- 1586 — Guidelines for Running OSPF over Frame Relay Networks
- 1587 — The OSPF NSSA Option
- 1765 — OSPF Database Overflow
- 1793 — Extending OSPF to Support Demand Circuits
- 1850 — OSPF Version 2 Management Information Base
- 2154 — OSPF with Digital Signatures
- 2178 — OSPF Version 2
- 2328 — OSPF Version 2
- 2329 — OSPF Standardization Report
- 2370 — The OSPF Opaque LSA Option
- 2676 — QoS Routing Mechanisms and OSPF Extensions
- 2740 — OSPF for IPv6
- 2844 — OSPF over ATM and Proxy-PAR (RFC Editor)
Areas, LSAs, convergence, operations, and management
- 3101 — The OSPF Not-So-Stubby Area Option
- 3137 — OSPF Stub Router Advertisement
- 3509 — Alternative Implementations of OSPF Area Border Routers
- 3623 — Graceful OSPF Restart
- 3883 — Detecting Inactive Neighbors over OSPF Demand Circuits
- 4061 — Benchmarking Basic OSPF Single-Router Control-Plane Convergence
- 4062 — OSPF Benchmarking Terminology and Concepts
- 4063 — Considerations When Using Basic OSPF Convergence Benchmarks
- 4136 — OSPF Refresh and Flooding Reduction in Stable Topologies
- 4167 — Graceful OSPF Restart Implementation Report
- 4222 — Prioritized Treatment of Specific OSPFv2 Packets
- 4750 — OSPF Version 2 Management Information Base
- 4811 — OSPF Out-of-Band LSDB Resynchronization
- 4812 — OSPF Restart Signaling
- 4813 — OSPF Link-Local Signaling
- 4915 — Multi-Topology Routing in OSPF
- 4940 — IANA Considerations for OSPF
- 4970 — Advertising Optional OSPF Router Capabilities
- 5185 — OSPF Multi-Area Adjacency
- 5187 — OSPFv3 Graceful Restart
- 5243 — OSPF Database Exchange Summary List Optimization
- 5250 — The OSPF Opaque LSA Option
- 5613 — OSPF Link-Local Signaling
- 5642 — Dynamic Hostname Exchange Mechanism for OSPF
- 5643 — Management Information Base for OSPFv3
- 5838 — Support of Address Families in OSPFv3
- 6549 — OSPFv2 Multi-Instance Extensions
- 6845 — OSPF Hybrid Broadcast and Point-to-Multipoint Interface Type
- 6860 — Hiding Transit-Only Networks in OSPF
- 6969 — OSPFv3 Instance ID Registry Update
- 6987 — OSPF Stub Router Advertisement
- 7503 — OSPFv3 Autoconfiguration
- 7770 — Advertising Optional OSPF Router Capabilities
- 8042 — OSPF Two-Part Metric
- 8099 — OSPF Topology-Transparent Zone
- 8379 — OSPF Graceful Link Shutdown
- 8510 — OSPF LLS Local Interface ID Advertisement
- 8687 — OSPF Routing with Cross-Address-Family TE Tunnels
- 8770 — Host Router Support for OSPFv2
- 9084 — OSPF Prefix Originator Extensions
- 9339 — OSPF Reverse Metric
- 9355 — OSPF BFD Strict Mode
- 9454 — Update to OSPF Terminology (IETF Datatracker)
Authentication and security
- 2154 — OSPF with Digital Signatures
- 4552 — Authentication and Confidentiality for OSPFv3
- 5709 — OSPFv2 HMAC-SHA Cryptographic Authentication
- 6506 — Supporting Authentication Trailer for OSPFv3; obsolete
- 6863 — Analysis of OSPF Security According to the KARP Design Guide
- 7166 — Supporting Authentication Trailer for OSPFv3
- 7474 — Security Extension for OSPFv2 with Manual Key Management (RFC Editor)
Traffic engineering, MPLS, GMPLS, and Segment Routing
- 3630 — Traffic Engineering Extensions to OSPF Version 2
- 4203 — OSPF Extensions for GMPLS
- 4973 — OSPF-xTE
- 5088 — OSPF Extensions for PCE Discovery
- 5329 — Traffic Engineering Extensions to OSPF Version 3
- 5392 — OSPF Extensions for Inter-AS MPLS and GMPLS TE
- 5786 — Advertising Router Local Addresses in OSPF-TE
- 5787 — OSPFv2 Extensions for ASON Routing; obsolete
- 6827 — ASON Routing for OSPFv2
- 7138 — OSPF-TE Extensions for G.709 Optical Networks
- 7471 — OSPF Traffic Engineering Metric Extensions
- 8330 — OSPF-TE Link Availability Extension
- 8363 — GMPLS OSPF-TE Flexi-Grid DWDM Extensions
- 8476 — Signaling Maximum SID Depth Using OSPF
- 8665 — OSPF Extensions for Segment Routing
- 8666 — OSPFv3 Extensions for Segment Routing
- 8687 — Cross-Address-Family OSPF TE Tunnels
- 8920 — OSPF Application-Specific Link Attributes; obsolete
- 9089 — Entropy Label Capability Signaling Using OSPF
- 9214 — OSPFv3 Code Point for MPLS LSP Ping
- 9356 — Layer 2 Bundle Member Link Attributes in OSPF
- 9492 — OSPF Application-Specific Link Attributes
- 9513 — OSPFv3 Extensions for SRv6
- 9903 — YANG Model for OSPF Segment Routing over MPLS (RFC Editor)
Mobile, ad hoc, and specialized networking
- 5449 — OSPF Multipoint Relay Extension for Ad Hoc Networks
- 5614 — MANET Extension of OSPF Using CDS Flooding
- 5820 — Extensions to OSPF to Support Mobile Ad Hoc Networking
- 7038 — Use of OSPF-MDR in Single-Hop Broadcast Networks
- 7137 — Use of the OSPF-MANET Interface in Single-Hop Broadcast Networks
- 5252 — OSPF-Based Layer 1 VPN Auto-Discovery
- 5523 — OSPFv3-Based Layer 1 VPN Auto-Discovery
- 6565 — OSPFv3 as a PE-CE Routing Protocol
- 4577 — OSPF as the PE-CE Protocol for BGP/MPLS VPNs
- 2676 — QoS Routing Mechanisms and OSPF Extensions
- 4973 — Experimental OSPF Traffic Engineering
- 8099 — OSPF Topology-Transparent Zone (IETF Datatracker)
Extensibility, attributes, and YANG models
- 7684 — OSPFv2 Prefix/Link Attribute Advertisement
- 7777 — Advertising Node Administrative Tags in OSPF
- 7884 — OSPF Extensions for S-BFD Target Discriminators
- 7949 — OSPFv3 over IPv4 for IPv6 Transition
- 8362 — OSPFv3 LSA Extensibility
- 8444 — OSPFv2 Extensions for BIER
- 9013 — OSPF Advertisement of Tunnel Encapsulations
- 9129 — YANG Data Model for the OSPF Protocol
- 9587 — YANG Model for OSPFv3 Extended LSAs
- 9792 — Prefix Flag Extension for OSPFv2 and OSPFv3
- 9825 — OSPF Prefix Administrative Tags
- 9903 — YANG Model for OSPF Segment Routing over MPLS
- 9983 — OSPFv2 Anycast Property Advertisement (RFC Editor)
If you are creating OSPF related materials like courses or labs, I would cite RFC 2328 as the authoritative OSPFv2 specification and mention RFC 5340 only when distinguishing OSPFv3 and IPv6. The rest are extensions, operational guidance, historical versions, or specialized applications.
I hope that helps someone.
If you would like to help support the continued development of independent networking, broadband, Wi-Fi, VoIP, and packet analysis content, please consider joining our Patreon community where you will gain access to exclusive technical resources, downloadable labs and PCAPs, bonus course content, troubleshooting guides, and additional member-only material. Comments and technical discussion are always welcomed at our Patreon community or on our Discord server. You can also support our work by simply buying us a coffee — every contribution helps us continue creating practical, real-world network science education for professionals and enthusiasts alike.

