Saturday, November 13, 2010

OSPF Simulation Tutorial for Beginners (Interactive, Visual)

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 He left his neighbor, and its interface IP addresses. After the multiplication neighbors, OSPF nodes all have the same set of router LSAs in their LSDBs. Now they have the same knowledge of the network topology.

Q5. How to use a router LSDB to calculate routing paths?

Answer: LSDB, OSPF node learns the entire topology of the network: number of routers that are connected, each router interfaces and their IP addresses; link Interface cost (OSPFmetric). 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 192.11.68.2.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.

No comments:

Post a Comment