Open Shortest Path First is a robust link-state interior gateway protocol (IGP). People use OSPF when they discover that RIP just isn’t going to work for their larger network, or when they need very fast convergence.
To understand the design needs for areas in OSPF, let’s start by discussing how OSPF works. There’s some terminology you may not have encountered before, including:
- Router ID: In OSPF this is a unique 32-bit number assigned to each router. This is chosen as the highest IP address on a router, and can be set large by configuring an address on a loopback interface of the chosen router.
- Neighbor Routers: two routers with a common link that can talk to each other.
- Adjacency: a two-way relationship between two neighbor routers. Neighbors don’t always form adjacencies.
- LSA: Link State Advertisements are flooded; they describe routes within a given link.
- Hello Protocol: this is how routers on a network determine their neighbors and form LSAs.
- Area: a hierarchy. A set of routers that exchange LSAs, with others in the same area. Areas limit LSAs and encourage aggregate routes.
OSPF is a link-state routing protocol, as we’ve said. Think of this as a distributed map of the network. To get this information distributed, OSPF does three things.
First, when a router running OSPF comes up it will send hello packets to discover its neighbors and elect a designated router. The hello packet includes link-state information, as well as a list of neighbors. Providing information about your neighbor to that neighbor serves as an ACK, and proves that communication is bi-directional. OSPF is smart about the layer 2 topology: if you’re on a point-to-point link, it knows that this is enough, and the link is considered “up.” If you’re on a broadcast link, the router must wait for an election before deciding if the link is operational.
An Area Border Router is a router that is in area zero, and one or more other areas.
A Designated Router, as we said, is the router that keeps the database for the subnet. It sends and receives updates (via multicast) from the other routers in the same network.
The Autonomous System Boundary Router is very special, but confusing. The ASBR connects one or more AS, and exchanges routes between them. The ASBR’s purpose is to redistribute routes from another AS into its own AS.
The concept of redistribution finally rears its head: let’s say we have a router, an internal-only router (not a BR), and we wish to connect it to a new network that we don’t control. After this connection is made, we have a few options. We can fire up a non-IGP routing protocol, like BGP, to exchange routes. Alternatively, we could decide that a summary route is good enough, and hard-code a static route to the new network in this router. Anything directly using this router for this destination would be able to get to the new network, but OSPF doesn’t know about it. To make that happen, we ‘redistribute” the miscellaneous information into OSPF. We wouldn’t want to feed 200K+ routes from BGP into OSPF, but if we went the static route, we’d definitely want to propagate that information so everyone in our AS could get to the new place. As soon as we tell our internal router that it should redistribute static routes into OSPF, it becomes an ASBR, and the entire network can reach the new network.
Come back next week for the areas and LSA discussion, which will consolidate your understanding of the whole OSPF concept, and enable you to understand good OSPF design.
In a Nutshell
- OSPF is a fast-converging, link-state IGP used by millions.
- OSPF forms adjacencies with neighbors and shares information via the DR and BDR using Link State Advertisements.
- Areas in OSPF are used to limit LSAs and summarize routes. Everyone connects to area zero, the backbone.