RFC 1583:OSPF Version 2
RFC-Ref

1. Introduction

    This document is a specification of the Open Shortest Path First
    (OSPF) TCP/IP internet routing protocol.  OSPF is classified as an
    Interior Gateway Protocol (IGP).  This means that it distributes
    routing information between routers belonging to a single Autonomous
    System.  The OSPF protocol is based on link-state or SPF technology.
    This is a departure from the Bellman-Ford base used by traditional
    TCP/IP internet routing protocols.

    The OSPF protocol was developed by the OSPF working group of the
    Internet Engineering Task Force.  It has been designed expressly for
    the TCP/IP internet environment, including explicit support for IP
    subnetting, TOS-based routing and the tagging of externally-derived
    routing information.  OSPF also provides for the authentication of
    routing updates, and utilizes IP multicast when sending/receiving
    the updates.  In addition, much work has been done to produce a
    protocol that responds quickly to topology changes, yet involves
    small amounts of routing protocol traffic.

    The author would like to thank Fred Baker, Jeffrey Burgan, Rob
    Coltun, Dino Farinacci, Vince Fuller, Phanindra Jujjavarapu, Milo
    Medin, Kannan Varadhan and the rest of the OSPF working group for
    the ideas and support they have given to this project.

1.1. Protocol overview

        OSPF routes IP packets based solely on the destination IP
        address and IP Type of Service found in the IP packet header.
        IP packets are routed "as is" -- they are not encapsulated in
        any further protocol headers as they transit the Autonomous
        System.  OSPF is a dynamic routing protocol.  It quickly detects
        topological changes in the AS (such as router interface
        failures) and calculates new loop-free routes after a period of
        convergence.  This period of convergence is short and involves a
        minimum of routing traffic.

        In a link-state routing protocol, each router maintains a
        database describing the Autonomous System's topology.  Each
        participating router has an identical database.  Each individual
        piece of this database is a particular router's local state
        (e.g., the router's usable interfaces and reachable neighbors).
        The router distributes its local state throughout the Autonomous
        System by flooding.

        All routers run the exact same algorithm, in parallel.  From the
        topological database, each router constructs a tree of shortest
        paths with itself as root.  This shortest-path tree gives the
        route to each destination in the Autonomous System.  Externally
        derived routing information appears on the tree as leaves.

        OSPF calculates separate routes for each Type of Service (TOS).
        When several equal-cost routes to a destination exist, traffic
        is distributed equally among them.  The cost of a route is
        described by a single dimensionless metric.

        OSPF allows sets of networks to be grouped together.  Such a
        grouping is called an area.  The topology of an area is hidden
        from the rest of the Autonomous System.  This information hiding
        enables a significant reduction in routing traffic.  Also,
        routing within the area is determined only by the area's own
        topology, lending the area protection from bad routing data.  An
        area is a generalization of an IP subnetted network.

        OSPF enables the flexible configuration of IP subnets.  Each
        route distributed by OSPF has a destination and mask.  Two
        different subnets of the same IP network number may have
        different sizes (i.e., different masks).  This is commonly
        referred to as variable length subnetting.  A packet is routed
        to the best (i.e., longest or most specific) match.  Host routes
        are considered to be subnets whose masks are "all ones"
        (0xffffffff).

        All OSPF protocol exchanges are authenticated.  This means that
        only trusted routers can participate in the Autonomous System's
        routing.  A variety of authentication schemes can be used; a
        single authentication scheme is configured for each area.  This
        enables some areas to use much stricter authentication than
        others.

        Externally derived routing data (e.g., routes learned from the
        Exterior Gateway Protocol (EGP)) is passed transparently
        throughout the Autonomous System.  This externally derived data
        is kept separate from the OSPF protocol's link state data.  Each
        external route can also be tagged by the advertising router,
        enabling the passing of additional information between routers
        on the boundaries of the Autonomous System.

1.2. Definitions of commonly used terms

        This section provides definitions for terms that have a specific
        meaning to the OSPF protocol and that are used throughout the
        text.  The reader unfamiliar with the Internet Protocol Suite is
        referred to [RS-85-153] for an introduction to IP.

        Router
            A level three Internet Protocol packet switch.  Formerly
            called a gateway in much of the IP literature.

        Autonomous System
            A group of routers exchanging routing information via a
            common routing protocol.  Abbreviated as AS.

        Interior Gateway Protocol
            The routing protocol spoken by the routers belonging to an
            Autonomous system.  Abbreviated as IGP.  Each Autonomous
            System has a single IGP.  Separate Autonomous Systems may be
            running different IGPs.

        Router ID
            A 32-bit number assigned to each router running the OSPF
            protocol.  This number uniquely identifies the router within
            an Autonomous System.

        Network
            In this memo, an IP network/subnet/supernet.  It is possible
            for one physical network to be assigned multiple IP
            network/subnet numbers.  We consider these to be separate
            networks.  Point-to-point physical networks are an exception
            - they are considered a single network no matter how many
            (if any at all) IP network/subnet numbers are assigned to
            them.

        Network mask
            A 32-bit number indicating the range of IP addresses
            residing on a single IP network/subnet/supernet.  This
            specification displays network masks as hexadecimal numbers.
            For example, the network mask for a class C IP network is
            displayed as 0xffffff00.  Such a mask is often displayed
            elsewhere in the literature as 255.255.255.0.

        Multi-access networks
            Those physical networks that support the attachment of
            multiple (more than two) routers.  Each pair of routers on
            such a network is assumed to be able to communicate directly
            (e.g., multi-drop networks are excluded).

        Interface
            The connection between a router and one of its attached
            networks.  An interface has state information associated
            with it, which is obtained from the underlying lower level
            protocols and the routing protocol itself.  An interface to
            a network has associated with it a single IP address and
            mask (unless the network is an unnumbered point-to-point
            network).  An interface is sometimes also referred to as a
            link.

        Neighboring routers
            Two routers that have interfaces to a common network.  On
            multi-access networks, neighbors are dynamically discovered
            by OSPF's Hello Protocol.

        Adjacency
            A relationship formed between selected neighboring routers
            for the purpose of exchanging routing information.  Not
            every pair of neighboring routers become adjacent.

        Link state advertisement
            Describes the local state of a router or network.  This
            includes the state of the router's interfaces and
            adjacencies.  Each link state advertisement is flooded
            throughout the routing domain.  The collected link state
            advertisements of all routers and networks forms the
            protocol's topological database.

        Hello Protocol
            The part of the OSPF protocol used to establish and maintain
            neighbor relationships.  On multi-access networks the Hello
            Protocol can also dynamically discover neighboring routers.

        Designated Router
            Each multi-access network that has at least two attached
            routers has a Designated Router.  The Designated Router
            generates a link state advertisement for the multi-access
            network and has other special responsibilities in the
            running of the protocol.  The Designated Router is elected
            by the Hello Protocol.

            The Designated Router concept enables a reduction in the
            number of adjacencies required on a multi-access network.
            This in turn reduces the amount of routing protocol traffic
            and the size of the topological database.

        Lower-level protocols
            The underlying network access protocols that provide
            services to the Internet Protocol and in turn the OSPF
            protocol.  Examples of these are the X.25 packet and frame
            levels for X.25 PDNs, and the ethernet data link layer for
            ethernets.


1.3. Brief history of link-state routing technology

        OSPF is a link state routing protocol.  Such protocols are also
        referred to in the literature as SPF-based or distributed-
        database protocols.  This section gives a brief description of
        the developments in link-state technology that have influenced
        the OSPF protocol.

        The first link-state routing protocol was developed for use in
        the ARPANET packet switching network.  This protocol is
        described in [McQuillan].  It has formed the starting point for
        all other link-state protocols.  The homogeneous Arpanet
        environment, i.e., single-vendor packet switches connected by
        synchronous serial lines, simplified the design and
        implementation of the original protocol.

        Modifications to this protocol were proposed in [Perlman].
        These modifications dealt with increasing the fault tolerance of
        the routing protocol through, among other things, adding a
        checksum to the link state advertisements (thereby detecting
        database corruption).  The paper also included means for
        reducing the routing traffic overhead in a link-state protocol.
        This was accomplished by introducing mechanisms which enabled
        the interval between link state advertisement originations to be
        increased by an order of magnitude.

        A link-state algorithm has also been proposed for use as an ISO
        IS-IS routing protocol.  This protocol is described in [DEC].
        The protocol includes methods for data and routing traffic
        reduction when operating over broadcast networks.  This is
        accomplished by election of a Designated Router for each
        broadcast network, which then originates a link state
        advertisement for the network.

        The OSPF subcommittee of the IETF has extended this work in
        developing the OSPF protocol.  The Designated Router concept has
        been greatly enhanced to further reduce the amount of routing
        traffic required.  Multicast capabilities are utilized for
        additional routing bandwidth reduction.  An area routing scheme
        has been developed enabling information
        hiding/protection/reduction.  Finally, the algorithm has been
        modified for efficient operation in TCP/IP internets.

1.4. Organization of this document

        The first three sections of this specification give a general
        overview of the protocol's capabilities and functions.  Sections
        4-16 explain the protocol's mechanisms in detail.  Packet
        formats, protocol constants and configuration items are
        specified in the appendices.

        Labels such as HelloInterval encountered in the text refer to
        protocol constants.  They may or may not be configurable.  The
        architectural constants are explained in Appendix B.  The
        configurable constants are explained in Appendix C.

        The detailed specification of the protocol is presented in terms
        of data structures.  This is done in order to make the
        explanation more precise.  Implementations of the protocol are
        required to support the functionality described, but need not
        use the precise data structures that appear in this memo.

Google
Web
RFC-Ref