OSPF is a complex protocol. To help beginners grasp abstract its concepts, a different approach is taken -- Visualizing OSPF simulation. This tutorial, OSPF basic, simulates the basic OSPF activities on a simple topology: H1-R1-R2-H2. R1 and R2 are routers. H1 and H2 are hosts. This simulation shows 4 stages:
1) R1 and R2 are not running OSPF. H1 ping H2. It fails.
2) Start OSPF on two routers. R1 and R2 discover each other as neighbors by flooding Hello.
3) R1 and R2 develop Full relationship and synchronize their LSA (Link State Advertisement) database by sending DD, Request, and Update. R1 and R2 refresh their routing tables. H1 and H2 become reachable.
4) H1 pings H2 again. It succeeds this time.
Q1. What is OSPF?
Answer: OSPF is a link state routing protocol. OSPF routers exchange their Link State Advertisement (OSPF LSA) to learn interface IP addresses from each other. Each router saves its LSAs in its Link State Database (LSDB.) Neighboring nodes synchronize their LSDBs. With consistent LSDBs, OSPF routers are able to calculate shortest paths to reach destinations.
Q2. What does OSPF do?
Answer: Roughly, OSPF is going through the following stages:
1) OSPF node creates a Router LSA to describe its interface IP addresses. This LSA is the most basic LSA.
2) Routers discover neighbors by flooding Hello. When a pair find each other, they are in 2-way state.
3) Neighbors synchronize their LSDBs in three steps:
i. Send DD to get LSDB catalog from each other.
ii. Send Request to ask for missing LSAs.
iii. Send Update to transmit LSAs requested.
When two neighbors have the same LSDB, they are in Full Adjacency state.
4) With the same LSDB, routers have consistent knowledge of the network topology and interface IP addresses. They can calculate routing paths independently and update their routing tables. The collection of routing tables from OSPF routers provides the shortest paths between destinations.
Q3. What is Router LSA?
Answer: Each OSPF router creates a Router LSA to describe its interfaces' IP addresses. In a very simple OSPF network, only Router LSAs are needed to calculate shortest paths.
Q4. What does Router LSA do?
Answer: In a simple OSPF network (no LAN, no area), neighboring nodes exchange their Router LSAs and learn how many links its neighbor has, and their interface IP addresses. After neighbor propagation, all OSPF nodes have the same set of Router LSAs in their LSDBs. Now they have the same knowledge of network topology.
Q5. How can a router use LSDB to calculate routing paths?
Answer: From LSDB, an OSPF node learns the complete topology of the network: the number of routers being connected; Individual router's interfaces and their IP addresses; Interface link costs (OSPF metric). With such detail information, OSPF calculates shortest paths to reach all destinations found in LSDB.
For example [a], in the OSPF simulation, R1's LSDB contains two Router LSAs:
1) R1 originated LSA contains two IP addresses: 192.168.1.0/24,192.168.3.0/30.
2) R2 originated LSA contains two IP addresses: 192.168.2.0/24,192.168.3.0/30.
After LSDB synchronization, R1 and R2 both have these two LSAs. And they know that R1 and R2 are connected by the link 192.168.3.0. Now R1 can calculate routing path to reach remote destination 18.104.22.168.2 and adds an entry (192.168.2.0/24, S1/0) to its routing table.
Note [a]: This article is the FAQ of OSPF simulation. After reading, you can play the interactive simulation listed in External Links. It visualize OSPF work flow with moving packets are changing tables.
External links for interactive OSPF simulations:
1. OSPF simulation for beginners (This article): http://www.visualland.net/view.php?cid=767&protocol=OSPF&title=1.1%20OSPF%20basic&ctype=1
2. List of additional interactive OSPF simulation (Table of Content): http://www.visualland.net/protocol.overview.php?p=OSPF&protocol=&title=0.%20OSPF%20Overview&ctype=1