What is OSPF?
The OSPF (Open Shortest Path First) protocol is one of a family of
IP Routing protocols, and is an Interior Gateway Protocol (IGP) for the Internet,
used to distribute IP routing information throughout a single Autonomous System (AS) in an IP network.
The OSPF protocol is a link-state routing protocol, which means that
the routers exchange topology information with their nearest neighbors. The topology information is flooded
throughout the AS, so that every router within the AS has a complete picture of the topology of the AS.
This picture is then used to calculate end-to-end paths through the AS, normally using a variant of the
Dijkstra algorithm. Therefore, in a link-state routing protocol, the next hop address to which data
is forwarded is determined by choosing the best end-to-end path to the eventual destination.
The main advantage of a link state routing protocol like OSPF is that
the complete knowledge of topology allows routers to calculate routes that satisfy particular criteria.
This can be useful for traffic engineering purposes, where routes can be constrained to meet particular
quality of service requirements. The main disadvantage of a link state routing protocol is that it does not
scale well as more routers are added to the routing domain. Increasing the number of routers
increases the size and frequency of the topology updates, and also the length of time it takes to
calculate end-to-end routes. This lack of scalability means that a link state routing protocol is
unsuitable for routing across the Internet at large, which is the reason why IGPs only route traffic
within a single AS.
Each OSPF router distributes information about its local state
(usable interfaces and reachable neighbors, and the cost of using each interface) to other routers using a
Link State Advertisement (LSA) message. Each router uses the received messages to build up an
identical database that describes the topology of the AS.
From this database, each router calculates its own routing table
using a Shortest Path First (SPF) or Dijkstra algorithm. This routing table contains all the destinations
the routing protocol knows about, associated with a next hop IP address and outgoing interface.
- The protocol recalculates routes when
network topology changes, using the Dijkstra algorithm, and minimises the routing protocol traffic
that it generates.
- It provides support for multiple paths of equal cost.
- It provides a multi-level hierarchy (two-level for OSPF)
called "area routing," so that information about the topology within a defined area of the AS
is hidden from routers outside this area. This enables an additional level of routing protection
and a reduction in routing protocol traffic.
- All protocol exchanges can be authenticated so that
only trusted routers can join in the routing exchanges for the AS.
OSPF version 2 (OSPFv2) is used with IPv4. OSPFv3 has been updated for compatibility with IPv6's 128-bit address space. However, this is not the only difference between OSPFv2 and OSPFv3. Other changes in OSPFv3, as defined in RFC 2740, include
- protocol processing per-link not per-subnet
- addition of flooding scope, which may be link-local, area or AS-wide
- removal of opaque LSAs
- support for multiple instances of OSPF per link
- various packet and LSA format changes (including removal of addressing semantics).
Both OSPFv2 and OSPFv3 are fully supported by DC-OSPF.
For more information about Metaswitch's
DC-OSPF product and expertise contact