OSPF Neighbor State Details (From an OSPF Simulation - Down, Init, 2-way, ExStart, Exhcnage, LOading, Full)

Q1. What are OSPF packets? What do they do?- Synchronize LSDB: Full Adjacency. Use Update,
Answer: There are 5 OSPF packets:Ack.
Hello: Discover neighbors.Note: State changes are abstract. It's more clear
DD (Data Description): Exchange LSDB catalogwhen watching state changes on each node as a
(LSA headers).result of receiving OSPF packets. See Neighbor
Request: Ask neighbor to send LSA that I don'tState Simulation listed under External links.
have.Q4. What is Master-Slave relationship for
Update: Send LSA requested by neighbors.neighbors?
Ack: Tell Update sending router that I haveAnswer: When two neighbors are ready to
received your Update.exchange LSA catalogs, they need to use a
In the OSPF simulation listed below, you can seesequence number  to tag LSA catalog exchange.
packets are moving on topology, their content,The first job is to decide the sequence number.
and impact to neighbor states.Two neighbors exchange DD to indicate their
Q2: What are neighbor states? What do they do?Router ID. The one with the higher Router ID
Answer: There are 7 states:wins and chooses a sequence number.
Down. Neighbor is gone. E.g. neighbor is down,Note. In the Neighbor State Simulation (see
stops running OSPF, or is just initialized.External link), DD packets and their content are
Init: The node has a one-way relationship with avisualized.
neighbor. It receives a Hello from the neighbor.Q5. Why neighbors need to use a sequence
2-way. The node has a bidirectional relationshipnumber to track LSA catalog exchange?
with a neighbor. It has received a Hello from theAnswer: Sequence numbers are used to track
neighbor and the Hello's neighbor list contains myLSA catalog transaction sessions. A router may
name.have a large LSA catalog that does fit into one
ExStart. Two neighbors negotiate Master-SlaveDD packet. This router may have several
relationship before exchanging LSA.neighbors to exchange LSA catalog at the same
Exchange: Exchange LSDB catalogs with neighborstime.
and find out which LSA is missing.Q6. Does OSPF use TCP to provide reliable
Loading. Ask a neighbor to send LSAs that I don'ttransmission of LSA?
have.Answer: No. OSPF uses Request-Update-Ack to
Full: Two neighbors have the same LSDB. Theyensure reliable transmission of LSA.
have the same knowledge of the topology.Q7. Why doesn't OSPF use TCP to transfer LSA?
This is abstract. You can see a case study of theAnswer: TCP is designed to transmit large chunk
OSPF simulation listed below. It visualzies neighborof data across a congested network. Its goal is to
state changing at each router.adapt to network congestion and avoid packet
Q3. How to groups 9 neighbor into somelosses due to router queue full. It is costly to set
meaningful stages?up a TCP sessions. An OSPF router transmits
Answer. These states can be classified into 4LSA to directly connected neighbors. There is no
stages:network congestion is involved between sender
- Discover neighbors. Down, Init, 2-way. Use Hello.and receiver nodes.  Using a light weight send-ack
- Determine Master-Slave: ExStart, Exchange. Usereliable transmission method is sufficient.
DD.This article is the FAQ of an interactive simulation:
- Find out which LSA to exchange: Loading. UseOSPF Neighbor state. You can play the simulation
DD, Request.listed under External links.