The last several posts have reviewed how routers exchange LSA’s, but we haven’t discussed what they do once they’ve actually GOT a fully populated LSDB. Oh sure, we’ve alluded to it – they do that SPF Dijkstra algorithm thing. Yeah…that thing. But what is that algorithm exactly? The SPF process simply looks at the cost of getting from point A to point B. SPF knows from his LSDB all the possible ways that he can get to a certain network. In a single area, he adds those costs together. The cheapest route wins.
Think of it like trying to determine how to go to work. You know that the fastest way to get to work is by the interstate. If the interstate were to shut down, you know that the next fastest way is via a State secondary road – it’s slower and winds a bit more, but it’ll get you there. And you know that there’s one more way to work, if you go way out of your way on this little back road that takes you out behind the cow pasture. But if you had no other choice, you could take it and get there.
SPF’s is similar, only it uses cold, hard math to make the determination of the most efficient route. To be fair, how it does this is actually mathematically intense, and beyond what the book teaches. Although you can read about it on Wikipedia. As a side note, you can artificially influence that process by installing costs on that link other than their natural defaults.
Last on today’s list of thoughts. There’s a number of things that are still ongoing on an OSPF network when all the LSDB’s are exchanged, everyone’s done their SPF calculations, and the network is stable. To wit, steady-state operations, which are as follows:
- Each OSPF router is sending a Hello in accordance with their interface’s Hello interval.
- Each OSPF router tracks hellos sent by neighbors. If a router doesn’t send a Hello by the end of the dead interval, that router is believed to have failed.
- LSA’s are incremented by 1 and reflooded to the whole network in accordance with the link-state refresh interval, which is 30 minutes by default.
- Each router tracks the age of each LSA. If an LSA has not been refreshed by the time the LSA’s MaxAge timer has expired (60 minutes by default), that route is…uh…suspect? Removed from the LSDB? Queried? The book doesn’t really say, so I’ll post it in Apoplexy and look it up.