When OSPF adjacency is formed, a
router goes through several state changes before it becomes fully
adjacent with its neighbor. Those states are defined in the OSPF RFC
2328 leavingcisco.com, section 10.1. The states are Down > Attempt > Init > 2-Way > Exstart > Exchange > Loading > Full.
Down
This is the first OSPF neighbor state. It means that no
information (hellos) has been received from this neighbor, but hello
packets can still be sent to the neighbor in this state.
During the fully adjacent neighbor state, if a router doesn't
receive hello packet from a neighbor within the RouterDeadInterval time
(RouterDeadInterval = 4*HelloInterval by default) or if the manually
configured neighbor is being removed from the configuration, then the
neighbor state changes from Full to Down.
Attempt
This state is only valid for manually configured neighbors in an NBMA
environment. In Attempt state, the router sends unicast hello packets
every poll interval to the neighbor, from which hellos have not been
received within the dead interval.
Init
This state specifies that the router has received a hello packet
from its neighbor, but the receiving router's ID was not included in the
hello packet. When a router receives a hello packet from a neighbor, it
should list the sender's router ID in its hello packet as an
acknowledgment that it received a valid hello packet.
2-Way
This state designates that bi-directional communication has been
established between two routers. Bi-directional means that each router
has seen the other's hello packet. This state is attained when the
router receiving the hello packet sees its own Router ID within the
received hello packet's neighbor field. At this state, a router decides
whether to become adjacent with this neighbor. On broadcast media and
non-broadcast multiaccess networks, a router becomes full
only with the designated router (DR) and the backup designated router
(BDR); it stays in the 2-way state with all other neighbors. On
Point-to-point and Point-to-multipoint networks, a router becomes full
with all connected routers.
At the end of this stage, the DR and BDR for broadcast and
non-broadcast multiacess networks are elected. For more information on
the DR election process, refer to DR Election.
Note: Receiving a Database Descriptor (DBD) packet from a neighbor in the init state will also a cause a transition to 2-way state.
Exstart
Once the DR and BDR are elected, the actual process of exchanging
link state information can start between the routers and their DR and
BDR.
In this state, the routers and their DR and BDR establish a
master-slave relationship and choose the initial sequence number for
adjacency formation. The router with the higher router ID becomes the
master and starts the exchange, and as such, is the only router that can
increment the sequence number. Note that one would logically conclude
that the DR/BDR with the highest router ID will become the master during
this process of master-slave relation. Remember that the DR/BDR
election might be purely by virtue of a higher priority configured on
the router instead of highest router ID. Thus, it is possible that a DR
plays the role of slave. And also note that master/slave election is on a
per-neighbor basis.
Exchange
In the exchange state, OSPF routers exchange database descriptor
(DBD) packets. Database descriptors contain link-state advertisement
(LSA) headers only and describe the contents of the entire link-state
database. Each DBD packet has a sequence number which can be incremented
only by master which is explicitly acknowledged by slave. Routers also
send link-state request packets and link-state update packets (which
contain the entire LSA) in this state. The contents of the DBD received
are compared to the information contained in the routers link-state
database to check if new or more current link-state information is
available with the neighbor.
Loading
In this state, the actual exchange of link state information
occurs. Based on the information provided by the DBDs, routers send
link-state request packets. The neighbor then provides the requested
link-state information in link-state update packets. During the
adjacency, if a router receives an outdated or missing LSA, it requests
that LSA by sending a link-state request packet. All link-state update
packets are acknowledged.
Full
In this state, routers are fully adjacent with each other. All the
router and network LSAs are exchanged and the routers' databases are
fully synchronized.
Full is the normal state for an OSPF router. If a router is stuck
in another state, it is an indication that there are problems in forming
adjacencies. The only exception to this is the 2-way state, which is
normal in a broadcast network. Routers achieve the FULL state with their
DR and BDR in NBMA/broadcast media and FULL state with every neighbor
in the remaining media such as point-to-point and point-to-multipoint.
Note: The DR and BDR that achieve FULL state with every router on the segment will display FULL/DROTHER when you enter the show ip ospf neighbor
command on either a DR or BDR. This simply means that the neighbor is
not a DR or BDR, but since the router on which the command was entered
is either a DR or BDR, this shows the neighbor as FULL/DROTHER.