Understanding OSPF Routing
Open Shortest Path First (OSPF) is a robust link-state interior gateway protocol (IGP). People use OSPF when they discover that Routing Information Protocol (RIP) just isn’t going to work for their larger network, or when they need very fast convergence.
OSPF is the most widely used IGP. When we discuss IGPs, we’re talking about one routing domain, or Autonomous System (AS). Imagine a medium-sized company with multiple buildings and departments, all connected and sharing two redundant Internet links. All of the buildings on-site are part of the same AS. With OSPF, however, we also have the concept of an Area, which allows further segmentation, perhaps by department in each building.
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.
The election ballot can be stuffed, with a Priority ID, so that you can ensure that your beefiest router is the Designated Router (DR). Otherwise, the largest IP address wins. The key idea with a DR and backup DR (BDR) is that they are the ones to generate LSAs, and they must do database exchanges with other routers in the subnet. So, non-designated routers form adjacencies with the DR. The whole DR/BDR design is used to keep the protocol scalable. The only way to ensure that all routers have the same information is to make them synchronize their databases. If you have 21 routers, and want to bring another one up, then you’d have to form 21 new adjacencies. If you centralize the database, with a backup (just in case), then adding more becomes an easy to manage linear problem.
The database exchange is part of bringing up adjacencies after the hello packets are exchanged, and it’s very important. If the databases are out of sync, we could risk routing loops, blackholes and other perils. The third part of bringing up an adjacency is Reliable Flooding, or LSA exchange. The LSA area zero is special, and if you have multiple areas, they must all touch area zero. This is also called the Backbone Area. There are different types of areas in OSPF, and it can get really crazy when you throw in Virtual Links to allow two areas to speak without hitting area zero.
Image Source (1): AVICI Systems. Avici Systems Inc., is a leading provider of
purpose-built carrier-class routing solutions for the Internet.
There also are different types of routers in OSPF:
- ABR: An Area Border Router is a router that is in area zero, and one or more other areas.
- DR, BDR: 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.
- ASBR: 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 want 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 now reach the new network.
Did You Know...
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.
|Key Terms To Understanding OSPF Routing:
Open Shortest Path First - OSPF
interior gateway protocol - IGP
Routing Information Protocol -RIP
Charlies Schluting is contributor to EnterpriseNetworkPlanet, an Internet.com site.
Stay up to date on the latest developments in Internet terminology with a free weekly newsletter from Webopedia. Join to subscribe now.
From cute electronic toys to VR gaming, here are 5 hot gifts to give to your special tech enthusiast this holiday season. Read More »What's Hot in Tech: AI Tops the List
Like everything in technology, AI touches on so many other trends, like self-driving cars and automation, and Big Data and the Internet of Things... Read More »DevOp's Role in Application Security
As organizations rush to release new applications, security appears to be getting short shrift. DevSecOps is a new approach that holds promise. Read More »
Java is a high-level programming language. This guide describes the basics of Java, providing an overview of syntax, variables, data types and... Read More »Java Basics, Part 2
This second Study Guide describes the basics of Java, providing an overview of operators, modifiers and control Structures. Read More »The 7 Layers of the OSI Model
The Open System Interconnection (OSI) model defines a networking framework to implement protocols in seven layers. Use this handy guide to compare... Read More »