Open Shortest Path First (OSPF) is a link-state, hierarchical Interior Gateway Protocol (IGP) routing algorithm. The well known Dijkstra's algorithm is used to calculate the shortest path tree. It uses cost as its routing metric. A link state database is constructed of the network topology which is identical on all routers.
An OSPF network can be broken up into smaller networks where a backbone always known as area zero can have any other arbitrarily numbered areas connecting directly to it. All areas must connect via area zero. Virtual links are an exception to this but they are not recommended. It was often a general rule not to have more than fifty routers in one area. However, improvements in processor power can now allow over 400 sufficiently powerful routers to participate with no stability issues. Routers at the edge of two areas are known as 'Area Border Routers' or ABRs. OSPF passes summarised routes between autonomous systems, via Autonomous System Boundary Routers (ASBRs).
Routers in the same broadcast domain or at each end of a point to point link form adjacencies when they have discovered each other . The routers elect a designated router (DR) and backup designated router (BDR) which act as hub to reduce broadcast traffic between many routers. OSPF uses multicast to send 'hello packets' and link state updates on multicast addresses 184.108.40.206 and 220.127.116.11.
OSPF can utilise authentication for forming adjacencies and therefore exchanging routing information unlike RIP which is more vulnerable to external attacks. OSPF was VLSM capable or classless from its inception. OSPF is capable of tagging external routes.
OSPF is the suggested successor to RIP in the Internet environment.
A new version of OSPF to support IP version 6 has been proposed, commonly called OSPFv3.
Multicast extensions to OSPF (MOSPF) was a largely unsuccessful attempt to adapt OSPF for use as multicast routing protocol.