Open Shortest Path First (OSPF) Routing Protocol
Open Shortest Path First (OSPF) is a link-state routing protocol, rather than a distance vector protocol. The main difference here is that a linked-state protocol does not send its routing table in the form of updates, but only shared its connectivity configuration. By collecting connectivity information from all of the devices on the network, OSPF can store all this information in a database and use that information to build a topology map.
This information will allow OSPF to identify the best or shortest route to every other network segment on the network. The route selection is based on overall hops to the destination, as well as link speed or link cost.
The topology not only includes the best route to the destination as calculated by the Dijkstra algorithm (a search algorithm created by Edsger Dijkstra), but also, when possible, it includes a candidate or backup route to the destination.
After creating the topology map, OSPF populates the routing table with the chosen routes to each destination. As traffic passes from router to router, each router evaluates the best path to the destination network. In some cases, this process can lead to routing loops on the network, because each one is evaluating the path based on its own link state database.
The OSPF interior network protocol belongs to a single routing domain (or group of routers) known as an Autonomous System (AS). All routers belonging to the same AS share connection information and build their linked-state database from that information.
Specifically with OSPF, as opposed to link-state terminology in general, the primary, or best, route the destination goes through is the Designated Router (DR), although if it fails, the secondary or backup path will be sent to the Backup Designated Router (BDR).
OSPF typically uses multicast to share connection information with its neighbors, and this information is sent to the 188.8.131.52 multicast address.
OSPF is an open protocol and is defined in RFC2328 for version 2 of the protocol. Version 3 of OSPF has been updated to support IPv6 and is defined in RFC5340. Other than for the newly integrated support for IPv6, no major technical differences exist between version 2 and version 3.