| 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 catalog | | | | when 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't | | | | State 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 have | | | | Answer: 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 see | | | | sequence 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 a | | | | visualized. |
| neighbor. It receives a Hello from the neighbor. | | | | Q5. Why neighbors need to use a sequence |
| 2-way. The node has a bidirectional relationship | | | | number to track LSA catalog exchange? |
| with a neighbor. It has received a Hello from the | | | | Answer: Sequence numbers are used to track |
| neighbor and the Hello's neighbor list contains my | | | | LSA catalog transaction sessions. A router may |
| name. | | | | have a large LSA catalog that does fit into one |
| ExStart. Two neighbors negotiate Master-Slave | | | | DD packet. This router may have several |
| relationship before exchanging LSA. | | | | neighbors to exchange LSA catalog at the same |
| Exchange: Exchange LSDB catalogs with neighbors | | | | time. |
| 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't | | | | transmission of LSA? |
| have. | | | | Answer: No. OSPF uses Request-Update-Ack to |
| Full: Two neighbors have the same LSDB. They | | | | ensure 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 the | | | | Answer: TCP is designed to transmit large chunk |
| OSPF simulation listed below. It visualzies neighbor | | | | of 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 some | | | | losses 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 4 | | | | LSA 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. Use | | | | reliable transmission method is sufficient. |
| DD. | | | | This article is the FAQ of an interactive simulation: |
| - Find out which LSA to exchange: Loading. Use | | | | OSPF Neighbor state. You can play the simulation |
| DD, Request. | | | | listed under External links. |