marți, 26 noiembrie 2013

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?
Answer: There are 5 OSPF packets:
Hello: Discover neighbors.
DD (Data Description): Exchange LSDB catalog (LSA headers).
Request: Ask neighbor to send LSA that I don't have.
Update: Send LSA requested by neighbors.
Ack: Tell Update sending router that I have received your Update.
In the OSPF simulation listed below, you can see packets are moving on topology, their content, and impact to neighbor states.

Q2: What are neighbor states? What do they do?
Answer: There are 7 states:
Down. Neighbor is gone. E.g. neighbor is down, stops running OSPF, or is just initialized.
Init: The node has a one-way relationship with a neighbor. It receives a Hello from the neighbor.
2-way. The node has a bidirectional relationship with a neighbor. It has received a Hello from the neighbor and the Hello's neighbor list contains my name.
ExStart. Two neighbors negotiate Master-Slave relationship before exchanging LSA.
Exchange: Exchange LSDB catalogs with neighbors and find out which LSA is missing.
Loading. Ask a neighbor to send LSAs that I don't have.
Full: Two neighbors have the same LSDB. They have the same knowledge of the topology.

This is abstract. You can see a case study of the OSPF simulation listed below. It visualzies neighbor state changing at each router. Q3. How to groups 9 neighbor into some meaningful stages?
Answer. These states can be classified into 4 stages:
- Discover neighbors. Down, Init, 2-way. Use Hello.
- Determine Master-Slave: ExStart, Exchange. Use DD.
- Find out which LSA to exchange: Loading. Use DD, Request.
- Synchronize LSDB: Full Adjacency. Use Update, Ack.
Note: State changes are abstract. It's more clear when watching state changes on each node as a result of receiving OSPF packets. See Neighbor State Simulation listed under External links.

Q4. What is Master-Slave relationship for neighbors?
Answer: When two neighbors are ready to exchange LSA catalogs, they need to use a sequence number to tag LSA catalog exchange. The first job is to decide the sequence number. Two neighbors exchange DD to indicate their Router ID. The one with the higher Router ID wins and chooses a sequence number.
Note. In the Neighbor State Simulation (see External link), DD pac kets and their content are visualized.

Q5. Why neighbors need to use a sequence number to track LSA catalog exchange?
Answer: Sequence numbers are used to track LSA catalog transaction sessions. A router may have a large LSA catalog that does fit into one DD packet. This router may have several neighbors to exchange LSA catalog at the same time.

Q6. Does OSPF use TCP to provide reliable transmission of LSA?
Answer: No. OSPF uses Request-Update-Ack to ensure reliable transmission of LSA.

Q7. Why doesn't OSPF use TCP to transfer LSA?
Answer: TCP is designed to transmit large chunk of data across a congested network. Its goal is to adapt to network congestion and avoid packet losses due to router queue full. It is costly to set up a TCP sessions. An OSPF router transmits LSA to directly connected neighbors. There is no network congestion is involved between sender and receiver nodes. Using a light weight send-ack reliable transmi ssion method is sufficient.
This article is the FAQ of an interactive simulation: OSPF Neighbor state. You can play the simulation listed under External links.

access point vs router

Niciun comentariu:

Trimiteți un comentariu