> ## Content Index
> Fetch the complete content index at: https://www.pinglabz.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# OSPF Neighbor States Explained (With Packet Exchange Examples)
- URL: https://www.pinglabz.com/ospf-neighbor-states-explained/
- Published: 2026-03-24T03:16:24.000Z
- Updated: 2026-08-01T19:31:24.000Z
- Description: OSPF neighbors progress through 8 states from Down to Full, and understanding the packet exchange at each step is the key to troubleshooting adjacency problems. A guide to OSPF neighbor states with real packet captures.
- Author: Jaime
- Tags: OSPF, #Import 2026-08-01 19:54

## The 8 OSPF Neighbor States

### 1\. Down

**What it means:**  
No Hello packets have been received from the neighbor. This is the starting state.

New to OSPF? Start with the [full OSPF guide](https://www.pinglabz.com/ospf/), then come back here for the deep dive.

**What's happening:**

- The router is either:
  - Waiting for the first Hello from a neighbor, or
  - No longer receiving Hellos (neighbor went down)

**What you'll see:**  
You usually won't see "Down" in `show ip ospf neighbor` because down neighbors aren't listed. The absence of a neighbor means it's in the Down state.

**Next state:** Init (when the first Hello is received)

### 2\. Init

**What it means:**  
A Hello packet has been received from the neighbor, but this router's Router ID is **not yet listed** in the neighbor's Hello packet.

**What's happening:**

- You've heard from the neighbor
- The neighbor hasn't heard from you yet (or hasn't acknowledged you)

**Why you see this state:**

- One-way communication (ACLs, firewall blocking return traffic)
- Wrong subnet mask (router receives Hello but can't respond properly)
- Authentication mismatch

**What you'll see:**

```
Router# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.2     1     INIT/DROTHER    00:00:33    192.168.1.2     Gi0/0

```

**Troubleshooting:**  
If a neighbor is stuck in **Init**, there's one-way communication. Check:

- ACLs blocking OSPF packets (protocol 89)
- Subnet mask mismatch
- Passive interface configuration

**Next state:** 2-Way

**Learn more:** [OSPF Neighbors Not Forming Troubleshooting](https://www.pinglabz.com/troubleshoot-ospf-neighbors-not-forming/)

### 3\. 2-Way

**What it means:**  
Bidirectional communication has been established. Each router sees its own Router ID in the other's Hello packet.

**What's happening:**

- Hello packets are being exchanged successfully
- On **point-to-point** links, routers immediately move to **ExStart**
- On **multi-access** (Ethernet) networks, routers wait here while the **DR/BDR election** happens

**Why this state is important:**  
On Ethernet, not all neighbors will progress past 2-Way. Only the DR and BDR will form full adjacencies with all routers. Regular routers (called "DROthers") stay at 2-Way with each other.

**What you'll see:**

```
Router# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.2     1     2WAY/DROTHER    00:00:34    192.168.1.2     Gi0/0

```

**Key point:** 
**2-Way is normal** on multi-access networks if the router is not the DR or BDR. It's **not** normal on point-to-point links (it should quickly become Full).

**Next state:** ExStart (if forming full adjacency)

### 4\. ExStart

**What it means:**  
Routers are negotiating who will be the "master" and who will be the "slave" in the database exchange process.

**What's happening:**

- Routers exchange **empty DBD (Database Description)** packets with the **I (Initial), M (More), MS (Master/Slave)** bits set
- The router with the **higher Router ID** becomes the master
- The master controls the DBD sequence number

**Why it matters:**  
This state is usually very brief (milliseconds to a few seconds). If neighbors get stuck here, it's almost always an **MTU mismatch**.

**What you'll see:**

```
Router# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.2     1     EXSTART/DR      00:00:35    192.168.1.2     Gi0/0

```

**Troubleshooting:**  
If stuck in **ExStart**, check for **MTU mismatch**:

```
Router# show interface gi0/0 | include MTU
  MTU 1500 bytes

```

**Learn more:** [OSPF MTU Mismatch Troubleshooting](https://www.pinglabz.com/ospf-mtu-mismatch-troubleshooting/)

**Next state:** Exchange

### 5\. Exchange

**What it means:**  
Routers are exchanging **Database Description (DBD)** packets, which contain summaries of the LSAs in each router's LSDB.

**What's happening:**

- Each router sends DBD packets listing the LSAs it knows about
- Routers compare the summaries to their own LSDB
- If a router sees an LSA it doesn't have (or an LSA with a newer sequence number), it marks it for download

**Why it matters:**  
This is where routers figure out what LSAs they need to request.

**What you'll see:**

```
Router# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.2     1     EXCHANGE/BDR    00:00:36    192.168.1.2     Gi0/0

```

**Troubleshooting:**  
If stuck in **Exchange**, suspect:

- MTU mismatch (DBD packets too large to send)
- Overloaded router (CPU maxed out)

**Next state:** Loading (if missing LSAs) or Full (if LSDBs are identical)

### 6\. Loading

**What it means:**  
Routers are requesting and receiving missing LSAs.

**What's happening:**

- Router sends **Link-State Request (LSR)** packets asking for specific LSAs
- Neighbor responds with **Link-State Update (LSU)** packets containing the LSAs
- Router sends **Link-State Acknowledgment (LSAck)** to confirm receipt

**Why it matters:**  
This is the state where LSDBs are synchronized.

**What you'll see:**

```
Router# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.2     1     LOADING/DR      00:00:37    192.168.1.2     Gi0/0

```

**How long it lasts:**  
Usually very brief (seconds). In large networks with thousands of LSAs, it can take longer.

**Next state:** Full

### 7\. Full

**What it means:**  
The adjacency is fully formed. LSDBs are synchronized, and routers are exchanging LSA updates as needed.

**What's happening:**

- Routers have identical LSDBs (for the shared area)
- SPF has been calculated
- Routes are installed in the routing table
- Routers will continue to exchange periodic Hellos and LSA updates

**Why it matters:** 
**Full is the goal.** This is what you want to see on all adjacencies (except DROther-to-DROther on multi-access networks).

**What you'll see:**

```
Router# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
192.168.1.2     1     FULL/DR         00:00:38    192.168.1.2     Gi0/0
192.168.1.3     1     FULL/BDR        00:00:34    192.168.1.3     Gi0/0
192.168.1.4     0     2WAY/DROTHER    00:00:39    192.168.1.4     Gi0/0

```

**Key observations:**

- Neighbor `192.168.1.2` is the DR - Full adjacency
- Neighbor `192.168.1.3` is the BDR - Full adjacency
- Neighbor `192.168.1.4` is a DROther - 2-Way state (normal!)

### 8\. Attempt (Rare)

**What it means:**  
Used only on **NBMA (Non-Broadcast Multi-Access)** networks when manually configured neighbors haven't responded.

**What's happening:**  
The router is trying to send unicast Hellos to a manually configured neighbor, but hasn't received a response.

**Where you'll see it:**  
Almost never, unless you're working with Frame Relay or manually configured NBMA neighbors.

**What you'll see:**

```
Router# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.1.1.2        1     ATTEMPT/DROTHER - 10.1.1.2        Serial0/0

```

## OSPF Neighbor State Transition Summary

Here's the normal flow for a successful adjacency:

**Down**

What's HappeningNo Hellos received

Packets ExchangedNone

**Init**

What's Happening

Hello received, waiting for bidirectional

Packets ExchangedHello

**2-Way**

What's Happening

Bidirectional communication established

Packets ExchangedHello

**ExStart**

What's Happening

Master/slave negotiation

Packets Exchanged

Empty DBD (I, M, MS bits set)

**Exchange**

What's Happening

LSA summaries exchanged

Packets ExchangedDBD packets

**Loading**

What's HappeningMissing LSAs requested

Packets ExchangedLSR, LSU, LSAck

**Full**

What's HappeningLSDBs synchronized

Packets Exchanged

Periodic Hellos, LSA updates

**Point-to-Point Flow:**

```
Down → Init → 2-Way → ExStart → Exchange → Loading → Full

```

**Broadcast (Ethernet) Flow (DR/BDR):**

```
Down → Init → 2-Way → ExStart → Exchange → Loading → Full

```

**Broadcast (Ethernet) Flow (DROther-to-DROther):**

```
Down → Init → 2-Way (STOPS HERE)

```

## What "FULL/DR," "FULL/BDR," and "2WAY/DROTHER" Mean

When you run `show ip ospf neighbor`, you see two pieces of information in the State column:

**Format:** `[State]/[Role]`

### Examples:

**FULL/DR**

- **State:** Full adjacency
- **Role:** Neighbor is the Designated Router

**FULL/BDR**

- **State:** Full adjacency
- **Role:** Neighbor is the Backup Designated Router

**2WAY/DROTHER**

- **State:** 2-Way (bidirectional communication, but no full adjacency)
- **Role:** Neighbor is neither DR nor BDR

**FULL/-**

- **State:** Full adjacency
- **Role:** Point-to-point link (no DR/BDR)

## When to Expect Full Adjacencies vs 2-Way

### Full Adjacencies Form:

✅ On **point-to-point** links (e.g., WAN serial links, GRE tunnels)  
✅ Between **all routers and the DR**  
✅ Between **all routers and the BDR**  
✅ On **point-to-multipoint** networks

### 2-Way is Normal:

✅ Between **DROthers** on multi-access networks (Ethernet, etc.)

**Example:**  
On an Ethernet segment with 5 routers:

- 1 router becomes the DR
- 1 router becomes the BDR
- 3 routers are DROthers

**Adjacencies:**

- DR ↔ All routers: **Full** (4 adjacencies)
- BDR ↔ All routers: **Full** (4 adjacencies)
- DROther ↔ DROther: **2-Way** (no full adjacency)

This design reduces overhead. Without DR/BDR, 5 routers would need **10 full adjacencies** (N × (N-1) / 2). With DR/BDR, only **8**.

**Learn more:** [OSPF DR and BDR Explained](https://www.pinglabz.com/ospf-dr-bdr-designated-router/)

Get the OSPF Field Reference - 9 pages, free

Everything you'd want to remember about OSPF on nine printable pages. State machine diagram, LSA types, troubleshooting decision tree, copy-paste IOS XE templates, and real lab captures. Free for PingLabz members - just sign up with your email.

[Get the OSPF cheat-sheet](https://www.pinglabz.com/ospf-cheatsheet/)

## Troubleshooting Stuck Neighbor States

### Stuck in Init

**Problem:** One-way communication

**Common causes:**

- ACL blocking OSPF (IP protocol 89)
- Firewall dropping OSPF packets
- Subnet mask mismatch
- Interface configured as passive

**How to verify:**

```
Router# debug ip ospf adj
OSPF-1 ADJ Gi0/0: Rcv hello from 192.168.1.2 area 0
OSPF-1 ADJ Gi0/0: 2-Way communication to 192.168.1.2 on Gi0/0, state 2WAY

```

If you don't see "2-Way communication," the neighbor isn't seeing your Hellos.

That is the useful part: the router has already told you which direction is dead, so you only have to explain one side of the link. [Diagnosing a one-way OSPF hello](https://www.pinglabz.com/ospf-stuck-in-init-one-way-hello/) takes that reading and works through the ACL, the mask and the passive-interface cases one at a time.

**Learn more:** [OSPF Neighbors Not Forming](https://www.pinglabz.com/troubleshoot-ospf-neighbors-not-forming/)

### Stuck in 2-Way (Point-to-Point Link)

**Problem:** Should progress to ExStart, but doesn't

**Common causes:**

- Interface configured as broadcast instead of point-to-point
- Misconfigured network type

**How to check:**

```
Router# show ip ospf interface gi0/0 | include Network Type
  Process ID 1, Router ID 10.0.0.1, Network Type BROADCAST

```

**How to fix:**

```
Router(config)# interface gi0/0
Router(config-if)# ip ospf network point-to-point

```

**Learn more:** [OSPF Network Types Explained](https://www.pinglabz.com/ospf-network-types-explained/)

### Stuck in ExStart or Exchange

**Problem:** MTU mismatch

**Common causes:**

- One router has MTU 1500, the other has MTU 1400
- Jumbo frames enabled on one side but not the other

**How to check:**

```
Router# show interface gi0/0 | include MTU
  MTU 1500 bytes

```

**How to fix (option 1):**  
Match MTU on both routers:

```
Router(config-if)# ip mtu 1500

```

**How to fix (option 2):**  
Tell OSPF to ignore MTU:

```
Router(config-if)# ip ospf mtu-ignore

```

**Learn more:** [OSPF MTU Mismatch Troubleshooting](https://www.pinglabz.com/ospf-mtu-mismatch-troubleshooting/)

### Neighbors Flapping (Up/Down)

**Problem:** Adjacency forms, then drops, then forms again

**Common causes:**

- Hello/Dead timer mismatch
- Intermittent link issues
- Authentication misconfiguration
- Duplicate Router ID

**How to check timers:**

```
Router# show ip ospf interface gi0/0 | include Timer
  Timer intervals configured, Hello 10, Dead 40

```

**How to check for duplicate Router ID:**

```
Router# show ip ospf
%OSPF-4-DUP_RTRID1: Detected router with duplicate router ID 10.0.0.1

```

**Learn more:** [OSPF Timers Explained](https://www.pinglabz.com/ospf-timers-hello-dead-intervals/), [Duplicate Router ID Troubleshooting](https://www.pinglabz.com/fix-duplicate-ospf-router-id/)

## Monitoring Neighbor State Changes

### See current neighbors

```
Router# show ip ospf neighbor

```

### Watch neighbor state changes in real time

```
Router# debug ip ospf adj

```

**Example output:**

```
*Mar 17 12:34:56.789: OSPF-1 ADJ Gi0/0: Rcv hello from 192.168.1.2 area 0
*Mar 17 12:34:56.791: OSPF-1 ADJ Gi0/0: 2-Way communication to 192.168.1.2, state 2WAY
*Mar 17 12:34:56.795: OSPF-1 ADJ Gi0/0: Nbr 192.168.1.2 has larger Router ID
*Mar 17 12:34:56.796: OSPF-1 ADJ Gi0/0: Send DBD to 192.168.1.2 seq 0x123 opt 0x52 flag 0x7 len 32
*Mar 17 12:34:56.801: OSPF-1 ADJ Gi0/0: Rcv DBD from 192.168.1.2 seq 0x456 opt 0x52 flag 0x7 len 32 state EXSTART
*Mar 17 12:34:56.802: OSPF-1 ADJ Gi0/0: NBR Negotiation Done. We are the SLAVE
*Mar 17 12:34:56.850: OSPF-1 ADJ Gi0/0: Loading Done, state FULL

```

**Turn off debug:**

```
Router# undebug all

```

⚠️ **Warning:** `debug` commands generate CPU-intensive output. Use carefully in production.

## Summary: Neighbor State Checklist

Now you know:

✅ **8 OSPF neighbor states** and what each means  
✅ **Normal state progression** from Down to Full  
✅ **When 2-Way is normal** (DROthers on Ethernet)  
✅ **When Full is expected** (point-to-point, DR/BDR adjacencies)  
✅ **Common stuck states** and their causes (Init, ExStart, Exchange)  
✅ **How to troubleshoot** state issues with `show` and `debug` commands

**Next Step:**  
Understanding neighbor states is half the battle. The other half is understanding **why** DR and BDR exist. Read [**OSPF DR and BDR Explained**](https://www.pinglabz.com/ospf-dr-bdr-designated-router/) next.

**Internal Links:**

- ← [OSPF Key Terms and Concepts](https://www.pinglabz.com/ospf-key-terms-and-concepts/)
- → [OSPF DR and BDR Explained](https://www.pinglabz.com/ospf-dr-bdr-designated-router/)
- → [OSPF Neighbors Not Forming Troubleshooting](https://www.pinglabz.com/troubleshoot-ospf-neighbors-not-forming/)
- → [OSPF MTU Mismatch Troubleshooting](https://www.pinglabz.com/ospf-mtu-mismatch-troubleshooting/)

Take the OSPF reference with you

The free OSPF field-reference PDF: neighbor states, LSA types, and the show commands you will actually run. Delivered by email, no card required.

[Get the free PDF](https://www.pinglabz.com/ospf-cheatsheet/)