An OSPF neighbour is another router that shares an OSPF enabled link with the local router.
OSPF can discover other routers on shared links with OSPF hello packets, an adjacent OSPF neighbour shares a synchronised database between the two routers.
The OSPF process on a router will maintain a list of OSPF neighbours and their current state:
|The initial state of any OSPF neighbour; indicating that the router has not received any hello packets from the neighbour.
|For routers in networks that do not support broadcast, where neighbours are statically configured. An attempt state means that the router is trying to communicate with the neighbour but no return information has been received.
|The state indicates that a hello packet has been received from the other neighbour, communication in both directions has not been fully established.
|Communication in both directions has been established. If a DR or BDR election is required, it occurs in this state.
|The first step towards forming the adjacency. The pair of routers identify which one will be the primary/secondary in the link state database synchronisation.
|Routers begin exchanging link state information using database descriptor (DBD) packets
|Link state request packets are sent to the neighbouring router, asking for more recent link state advertisements that are discovered in the exchange state.
|The neighbouring routers are fully adjacent
For an OSPF neighbour to be formed, it needs to meet a list of requirements:
- Router IDs must be unique between the two devices, and ideally for the entire OSPF domain.
- The interfaces must share a common subnet between each other. OSPF will utilise the primary interface IP when sending a hello packet.
- The configured MTUs must match.
- The area number must match.
- The DR enablement must be identical.
- OSPF hello and dead timers must match.
- Authentication type and credentials must match if enabled.
- Area type flags such as Stub or NSSA must also match.