The current version of OSPF for IPv4 is OSPFv2 introduced in RFC 1247 and updated in RFC 2328 by John Moy. In 1999, OSPFv3 for IPv6 was published in RFC 2740.

OSPF is a classless, link-state routing protocol with a default administrative distance of 110, and is denoted in the routing table with a route source code of O.

OSPF is enabled with the router ospf process-id global configuration mode command. The process-id value is locally significant, which means that it does not need to match other OSPF routers to establish adjacencies with those neighbors.

The network command used with OSPF has the same function as when used with other IGP routing protocols, but with slightly different syntax. The wildcard-mask value is the inverse of the subnet mask, and the area-id value should be set to 0.

By default, OSPF Hello packets are sent every 10 seconds on multiaccess and point-to-point segments and every 30 seconds on NBMA segments (Frame Relay, X.25, ATM), and are used by OSPF to establish neighbor adjacencies. The Dead interval is four times the Hello interval, by default.

For routers to become adjacent, their Hello interval, Dead interval, network types, and subnet masks must match. Use the show ip ospf neighbors command to verify OSPF adjacencies.

OSPF elects a DR to act as collection and distribution point for LSAs sent and received in the multiaccess network. A BDR is elected to assume the role of the DR should the DR fail. All other routers are known as DROTHERs. All routers send their LSAs to the DR, which then floods the LSA to all other routers in the multiaccess network.

The show ip protocols command is used to verify important OSPF configuration information, including the OSPF process ID, the router ID, and the networks the router is advertising.

OSPFv3 is enabled on an interface and not under router configuration mode. OSPFv3 needs link-local addresses to be configured. IPv6 Unicast routing must be enabled for OSPFv3. A 32-bit router-ID is required before an interface can be enabled for OSPFv3.