Contents

Introduction

Prerequisites

Requirements

Components Used

Conventions

Background Information

Down

Attempt

Init

2-Way

Exstart

Exchange

Loading

Full

Related Information

Introduction

This document describes when an OSPF adjacency forms a router goes through several state changes before it becomes fully adjacent with its neighbor.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

This document is not restricted to specific software and hardware versions.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to Cisco Technical Tips Conventions.

Background Information

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 , section 10.1. The states are Down, Attempt, Init, 2-Way, Exstart, Exchange, Loading, and Full. This document describes each state in detail.

OSPF Adjacency

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.

In the fully adjacent neighbor state, if a router does not receive hello packet from a neighbor within the RouterDeadInterval time (RouterDeadInterval = 4*HelloInterval by default) or if the manually configured neighbor is 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 ID was not included in the hello packet. When a router receives a hello packet from a neighbor, it must list the sender 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 sees the hello packet from the other router. This state is attained when the router receiving the hello packet sees its own Router ID within the received hello packet neighbor field. At this state, a router decides whether to become adjacent with this neighbor. On broadcast media and non-broadcast multi-access 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 multi-access 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 can also a cause a transition to 2-way state.

Exstart

Once the DR and BDR are elected, the actual process of the exchange 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 primary-secondary relationship and choose the initial sequence number for adjacency formation. The router with the higher router ID becomes the primary and starts the exchange, and as such, is the only router that can increment the sequence number. You would logically conclude that the DR/BDR with the highest router ID is the primary for this process. The DR/BDR election could be because of a higher priority configured on the router instead of highest router ID. Thus, it is possible that a DR plays a secondary role. Also, that primary/secondary 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 primary which is explicitly acknowledged by secondary. 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 lost LSA, it sends a link-state request packet for that LSA. 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 when the adjacencies are formed. 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 residual 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 can 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

Related Information

- OSPF Neighbor Problems Explained

- Why Does the show ip ospf neighbor Command Reveal Neighbors in the Init State?

- Why Does the show ip ospf neighbor Command Reveal Neighbors Stuck in Two-Way State?

- Why are OSPF Neighbors Stuck in Exstart/Exchange State?

- Troubleshoot OSPF

- OSPF Support Page

- Cisco Technical Support & Downloads