OSPF Protocols and Operation
OSPF features can be broken into three major categories: neighbors, database exchange, and route calculation. OSPF routers first form a neighbor relationship that provides a foundation for all continuing OSPF communications. After routers become neighbors, they exchange the contents of their respective LSDBs, through a process called database exchange. Finally, as soon as a router has topology information in its link-state database, it uses the Dijkstra Shortest Path First algorithm to calculate the now-best routes and add those to the IP routing table.
IOS has an OSPF neighbor table (show ip ospf neighbor), an OSPF LSDB (show ip ospf database), and of course an IP routing table (show ip route).
A general definition of an OSPF neighbor is, from one router’s perspective, another router that connects to the same data link with which the first router can and should exchange routing information using OSPF. First, neighbors check and verify basic OSPF settings before exchanging routing information – settings that must match for OSPF to work correctly. Second, the ongoing process of one router knowing when the neighbor is healthy, and when the connection to a neighbor has been lost, tells the router when it must recalculate the entries in the routing table to reconverge to a new set of routes. Additionally, the OSPF Hello process defines how neighbors can be dynamically discovered, which means that new routers can be added to a network without requiring every router to be reconfigured.
With OSPF, the process of talking to a neighbor starts with messages called OSPF Hello messages. The Hellos in turn list each router’s Router ID (RID), which serves as each router’s unique name or identifier for OSPF. Finally, OSPF does several checks of the information in the Hello messages to ensure that the two routers should become neighbors.