
The TCP/IP Guide - Version 3.0 (Contents) ` 734 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
However, as we discussed in our look at RIP, that protocol has some serious technical
issues, and these are exacerbated when it is used on a larger AS. Many of its problems are
due to it being a distance-vector protocol—the algorithm itself simply limits the ability of RIP
to choose the best route and adapt to changing network conditions. Other problems with
RIP were based on its implementation, such as the selection of a value of 16 for “infinity”
that made it impossible to use RIP in a situation where more than 15 hops might occur
between devices. Problems such as the lack of classless addressing support were
addressed in Version 2 of RIP, but the basic difficulties with the protocol as a whole persist.
Development and Standardization of OSPF
The Internet Engineering Task Force (IETF) recognized that RIP by itself simply would not
meet the needs of all autonomous systems on the Internet. They formed a working group in
1988 to develop a new routing protocol based on the more capable link-state algorithm,
also called shortest path first (SPF). Research into this type of protocol had already begun
as early as the 1970s, with some of it conducted on the ARPAnet, the predecessor of the
Internet upon which much of TCP/IP was developed.
This new protocol was called Open Shortest Path First, or OSPF, and its name conveys two
of its most important characteristics. The first word refers to the fact that the protocol, like all
TCP/IP standards, was developed using the open and public RFC process, so it is not
proprietary and no license is required to use it. The SPF portion of the name refers to the
type of algorithm it uses, which is designed to allow routers to dynamically determine the
shortest path between any two networks.
The first version of OSPF was described in RFC 1131, published in October 1989. This was
quickly replaced by OSPF Version 2 in July 1991, described in RFC 1247. Since then there
have been several revisions to the OSPF Version 2 standard, in RFCs 1583, 2178, and
2328, with the last of these the current standard. OSPF Version 2 is the only version in use
today, so it is usually what is meant when people (including myself) refer to “OSPF”.
Overview of OSPF Operation
The fundamental concept behind OSPF is a data structure called the link-state database
(LSDB). Each router in an autonomous system maintains a copy of this database, which
contains information in the form of a directed graph that describes the current state of the
autonomous system. Each link to a network or another router is represented by an entry in
the database, and each has an associated cost (or metric). The metric can be made to
include many different aspects of route performance, not just a simple hop count as is used
in RIP.
Information about the autonomous system moves around the autonomous system in the
form of link-state advertisements (LSAs), messages that let each router tell the others what
it currently knows about the state of the AS. Over time, the information that each router has
about the autonomous system converges with that of the others, and they all have the same
data. When changes occur to the internetwork, routers send updates to ensure that all the
routers are kept up-to-date.