This is the third article of our OSPF series which analyzes the different OSPF States routers go through during the OSPF discovery and neighbor forming process. We analyze OSPF states (Init state, 2-way state, Exstart state, Exchange state, Loading state Full state, Down state), LSA Hello messages and more.
Our first OSPF article covered basic OSPF concepts - OSPF Topology & Routing table, OSPF Areas & Router roles, plus more. It is recommended users read the first article before continuing, to help refresh their OSPF theory. Our second OSPF article covered how OSPF routers perform neighbor relationship and adjacency and examined contents of OSPF Hello Packets, exchange of database descriptor (DBD) packets and Link State Request (LSR) packets.
OSPF Neighbor States
When OSPF forms adjacency with neighbors, the connection goes through several states before the routers are fully adjacent with each other, this section describes each state in detail. Following are the OSPF States we'll be examining:
- Down state
- Attempt state
- Init state
- 2-Way state
- Exstart state
- Exchange state
- Loading state
- Full state
The diagram below shows the different states OSPF routers will go through when discovering their OSPF neighbors:
Figure 1. OSPF Neighbor States & OSPF Neighbor Forming Process
The Down State is the first OSPF neighbor state and means no Hello packets have been received from a neighbor. In an already established OSPF adjacency, an OSPF state will transition from a FULL or 2-Way State to the Down State when the router Dead Interval Timer expires (4 x Hello Interval timer), which means OSPF has lost communication with its neighbor and is now considered non-reachable or dead.
This is a special state used only for manually configured neighbors in a Non-Broadcast MultiAccess (NBMA) network, it indicates that the router is sending Hello packets to its neighbor in a Non-Broadcast MultiAccess (NBMA) environment via unicast but no reply is received within the Dead Interval (4 x Hello Interval).
This state indicates that a Hello packet was received from a neighbor router but the receiving Router’s ID wasn’t listed in the Hello packet. When a router receives a Hello packet from a neighbor, it should list the sender's Router ID as an acknowledgment that it previously received a valid Hello packet.
This state describes the Bi-Directional communication state, Bi- Directional means that each router has received the other’s Hello packet and that each router can see its own Router ID included within the Hello packet’s neighbor field.
On broadcast media (e.g LAN) and Non-Broadcast MultiAccess (NBMA) networks (e.g Frame Relay, ATM, X.25), a router becomes full state (analyzed below) only with the Designated Router (DR) and the Backup Designated Router (BDR). It will, however, stay in the 2-way state with all other neighbors.
When the 2-Way state is complete, the DR and DBR routers are elected, considering they are on a broadcast or NBMA network.
This state specifies that DR and BDR have been elected and master-slave relation is determined. An initial sequence number for adjacency formation is also selected. The router with the highest router ID becomes the master and begins to exchange Link State data. Only the Master router is able to increment the sequence number.
In this state, OSPF routers exchange DataBase Descriptor (DBD) packets. These contain Link State Advertisement (LSA) headers describing the content of the entire Link State Database (LSD). The contents of the DataBase Descriptor (DBD) received by the router are compared with its own Link State Database (LSD) to check if changes or additional link-state information is available from its neighbor.
In this state, routers exchange full Link State information based on DataBase Descriptor (DBD) provided by neighbors, the OSPF router sends Link State Request (LSR) and receives Link State Update (LSU) containing all Link State Advertisements (LSAs).
Link State Updates (LSU) actually act as an envelope that contains all the Link State Advertisements (LSAs) – that have been sent to neighbors with new changes or new networks learned.
Full state is the normal operating state of OSPF that indicates everything is functioning normally. In this state, routers are fully adjacent with each other and all the router and network Link State Advertisements (LSAs) are exchanged and the routers' databases are fully synchronized.
For Broadcast and NBMA media, routers will achieve the Full State with their DR and BDR router only, while for Point-to-point and Point-to-multipoint networks a router should be in the Full State with every neighboring router.
This article analyzed the states OSPF routers go through during OSPF neighbor discovery and adjacency process. We examined in detail each OSPF State including: Down state, Attempt state, Init state, 2-way state, Exstart state, Exchange state, Loading state and Full state.