OSPF, Open Shortest Path First Routing Protocol

Description Glossary RFCs Publications Obsolete RFCs

Description:

Protocol suite: TCP/IP.
Protocol type:Transport layer interior link state routing protocol.
Multicast addresses: 224.0.0.5 (all routers).
224.0.0.6 (designated routers).
IP Protocol:89.
MIME subtype:
SNMP MIBs: iso.org.dod.internet.mgmt.mib-2.ospf (1.3.6.1.2.1.14)
Working groups: bmwg, Benchmarking Methodology.
ccamp, Common Control and Measurement Plane.
ospf, Open Shortest Path First IGP.
Links: IANA: OSPF authentication codes.
IANA: OSPF Opaque types.
IANA:OSPF signature algorithms.
IANA: OSPF Traffic Engineering TLVs.
IANA: OSPFv3 parameters.
wiki: OSPF.

MAC header IP header OSPF header Data :::

OSPF header:

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Version Type Length
Router ID
Area ID
Checksum AuType
Authentication:::
Data :::

Version. 8 bits.
OSPF version number.

Type. 8 bits.
OSPF request/reply code.

TypeDescriptionReferences
1Hello. RFC 2328, RFC 2740
2Database description. RFC 2328, RFC 2740
3Link state request. RFC 2328, RFC 2740
4Link state update. RFC 2328, RFC 2740
5Link state acknowledgment. RFC 2328, RFC 2740

Length. 16 bits.
Size of the OSPF message including the OSPF header in bytes.

Router ID. 32 bits.
The Router ID of the packet's source.

Area ID. 32 bits.
The area that this packet belongs to. All OSPF packets are associated with a single area. Most travel a single hop only. Packets travelling over a virtual link are labelled with the backbone Area ID of 0.0.0.0.

Checksum. 16 bits.
The standard IP checksum of the entire contents of the packet, starting with the OSPF packet header but excluding the 64 bit authentication field. This checksum is calculated as the 16-bit one's complement of the one's complement sum of all the 16 bit words in the packet, excepting the authentication field. If the packet's length is not an integral number of 16 bit words, the packet is padded with a byte of zero before checksumming. The checksum is considered to be part of the packet authentication procedure. The checksum calculation is omitted for some authentication types.

AuType. 16 bits.
Identifies the authentication procedure to be used for the packet.

Authentication. 64 bits.

AuthenticationDescriptionReferences
0None. RFC 2328
1Simple password authentication. RFC 2328
2Cryptographic authentication. RFC 2328
3
-
65535
reserved. 

Data. Variable length.


OSPF version 3 header:
This version is designed to support OSPF over IPv6 links.

0001020304050607 0809101112131415 1617181920212223 2425262728293031
Version Type Length
Router ID
Area ID
Checksum Instance ID reserved
Data :::

Version. 8 bits. Always set to 3.
OSPF version number.

Checksum. 16 bits.
OSPF uses the standard checksum calculation for IPv6 applications: The 16-bit one's complement of the one's complement sum of the entire contents of the packet, starting with the OSPF packet header, and prepending a "pseudo-header" of IPv6 header fields. The "Upper-Layer Packet Length" in the pseudo-header is set to value of the OSPF packet header's length field. The Next Header value used in the pseudo-header is 89. If the length of the packet is not an integral number of 16-bit words, the packet is padded with a byte of zero before checksumming. Before computing the checksum, the checksum field in the OSPF packet header is cleared to 0.

Instance ID. 8 bits.
Enables multiple instances of OSPF to be run over a single link. Each protocol instance would be assigned a separate Instance ID; the Instance ID has local link significance only. Received packets whose Instance ID is not equal to the receiving interface's Instance ID are discarded.

reserved. 8 bits.
Must be cleared to 0.


Opaque LSA Options:

OptionDescriptionReferences
0  
1Traffic Engineering.RFC 3630
2Sycamore Optical Topology Descriptions. 
3grace-LSA.RFC 3623
4RI, Router Information.RFC 4970
5L1VPNRFC 5252
6Inter-AS-TE-v2 RFC 5392
7
-
127
  
128
-
255
reserved for private use.RFC 5250

Glossary:

ABR, Area Border Router.

LSA, Link State Announcement.

NSSA, "not-so-stubby" area.
(RFC 1587) NSSAs are similar to the existing OSPF stub area configuration option but have the additional capability of importing AS external routes in a limited fashion.

Opaque LSA.


RFCs:

[RFC 1245] OSPF protocol analysis.

[RFC 1246] Experience with the OSPF protocol.

[RFC 1370] Applicability Statement for OSPF.

[RFC 1403] BGP OSPF Interaction.

[RFC 1586] Guidelines for Running OSPF Over Frame Relay Networks.

[RFC 1745] BGP4/IDRP for IP---OSPF Interaction.

[RFC 1765] OSPF Database Overflow.

[RFC 1793] Extending OSPF to Support Demand Circuits.

[RFC 1812] Requirements for IP Version 4 Routers.

[RFC 1850] OSPF Version 2 Management Information Base.

[RFC 2154] OSPF with Digital Signatures.

[RFC 2328] OSPF Version 2.

[RFC 2329] OSPF Standardization Report.

[RFC 2676] QoS Routing Mechanisms and OSPF Extensions.

[RFC 2844] OSPF over ATM and Proxy-PAR.

[RFC 2991] Multipath Issues in Unicast and Multicast Next-Hop Selection.

[RFC 3101] The OSPF Not-So-Stubby Area (NSSA) Option.

[RFC 3137] OSPF Stub Router Advertisement.

[RFC 3166] Request to Move RFC 1403 to Historic Status.

[RFC 3167] Request to Move RFC 1745 to Historic Status.

[RFC 3509] Alternative Implementations of OSPF Area Border Routers.

[RFC 3623] Graceful OSPF Restart.

[RFC 3630] Traffic Engineering (TE) Extensions to OSPF Version 2.

[RFC 3883] Detecting Inactive Neighbors over OSPF Demand Circuits (DC).

[RFC 4061] Benchmarking Basic OSPF Single Router Control Plane Convergence.

[RFC 4062] OSPF Benchmarking Terminology and Concepts.

[RFC 4063] Considerations When Using Basic OSPF Convergence Benchmarks.

[RFC 4124] Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering.

[RFC 4136] OSPF Refresh and Flooding Reduction in Stable Topologies.

[RFC 4167] Graceful OSPF Restart Implementation Report.

[RFC 4203] OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS).

[RFC 4222] Prioritized Treatment of Specific OSPF Version 2 Packets and Congestion Avoidance.

[RFC 5243] OSPF Database Exchange Summary List Optimization.

[RFC 5250] The OSPF Opaque LSA Option.

[RFC 5252] OSPF-Based Layer 1 VPN Auto-Discovery.

[RFC 5330] A Link-Type sub-TLV to Convey the Number of Traffic Engineering Label Switched Paths Signalled with Zero Reserved Bandwidth across a Link.

[RFC 5340] OSPF for IPv6.


Publications:


Obsolete RFCs:

[RFC 1131] The OSPF Specification.

[RFC 1247] OSPF Version 2.

[RFC 1248] OSPF Version 2 Management Information Base.

[RFC 1252] OSPF Version 2 Management Information Base.

[RFC 1253] OSPF Version 2 Management Information Base.

[RFC 1349] Type of Service in the Internet Protocol Suite.

[RFC 1364] BGP OSPF Interaction.

[RFC 1583] OSPF Version 2.

[RFC 1587] The OSPF NSSA Option.

[RFC 2178] OSPF Version 2.

[RFC 2370] The OSPF Opaque LSA Option.

[RFC 2740] OSPF for IPv6.


Description Glossary RFCs Publications Obsolete RFCs