Network Working Group                                             J. Moy
Internet Draft                                   Sycamore Networks, Inc.
Expiration Date: July 2001                                 February 2001
File name: draft-ietf-ospf-subset-flood-00.txt


                    Flooding Over a Subset Topology
                  draft-ietf-ospf-subset-flood-00.txt



Status of this Memo

    This document is an Internet-Draft and is in full conformance with
    all provisions of Section 10 of RFC2026.

    Internet-Drafts are working documents of the Internet Engineering
    Task Force (IETF), its areas, and its working groups.  Note that
    other groups may also distribute working documents as Internet-
    Drafts.

    Internet-Drafts are draft documents valid for a maximum of six
    months and may be updated, replaced, or obsoleted by other documents
    at any time.  It is inappropriate to use Internet- Drafts as
    reference material or to cite them other than as "work in progress."

    The list of current Internet-Drafts can be accessed at
    http://www.ietf.org/ietf/1id-abstracts.txt

    The list of Internet-Draft Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.

Abstract

    This memo defines a method for limiting the flooding of OSPF LSAs to
    a configurable subset of the network topology.  The following OSPF
    properties are maintained: (1) routers are omitted from the routing
    calculation until their link-state databases are synchronized and
    (2) links must be bidirectional before they can be used in the
    calculation. Backward-compatibility with unmodified OSPF routers is
    also provided.










Moy                                                             [Page 1]


Internet Draft            OSPF Subset Flooding             February 2001


Table of Contents

    1        Overview ............................................... 2
    2        Mechanisms ............................................. 3
    2.1      Deciding to become adjacent ............................ 3
    2.2      LSA origination ........................................ 3
    2.2.1    Advertising forwarding adjacencies ..................... 4
    2.3      Modified routing calculation ........................... 4
    2.4      MTU check .............................................. 5
    4        Backward compatibility ................................. 5
    5        Notes .................................................. 5
             References ............................................. 6
    A        New LSA formats ........................................ 7
    A.1      Router-LSA: rtype field ................................ 8
    A.2      Router-additions-LSA .................................. 10
    A.3      Network-additions-LSA ................................. 12
             Security Considerations ............................... 13
             Authors' Addresses .................................... 13

1.  Overview

    Standard OSPF floods its LSAs over all links. This flooding logic is
    simple, robust, and auto-configuring. However, in highly meshed
    environments when many routers have a large number of neighbors,
    this flooding can be a burden on the router's processing power.

    For that reason, this memo suggests restricting flooding to a
    configured set of links. For backward-compatibility, and to enable
    the network operator to restore control connectivity from any
    location, a link is used for flooding if configured as such in
    *either* end. To prevent a link to be used for flooding, we use the
    technique from [Ref3], preventing its neighbor relationships from
    advancing past 2-way state.

    These neighbor relationships that were artificially stopped at 2-way
    state, but would have advanced to Full state if Section 10.4 of
    [Ref1] were followed, are termed "forwarding adjacencies". We do not
    change the building of router-LSAs and network-LSAs, and instead
    report these forwarding adjacencies in a new set of LSAs, called
    router-addition-LSAs and network-addition-LSAs.

    The standard OSPF routing calculation is then extended on an area-
    by-area basis to include the forwarding adjacencies, but only if
    both (a) all routers in the area support this memo and (b) both ends
    of the forwarding adjacency are reachable via the standard OSPF
    routing calculation.





Moy                                                             [Page 2]


Internet Draft            OSPF Subset Flooding             February 2001


2.  Mechanisms

    The descriptions of the required enhancements is split into the
    following sections. Section 2.1 describes how we prevent flooding on
    certain links by preventing their neighbor relationships from
    advancing past state 2-Way. These non-flooding relationships, called
    "forwarding adjacencies", are advertised in new LSAs as described in
    Section 2.2. Section 2.3 describes how these new LSAs are used in
    the routing calculation. The use of forwarding adjacencies requires
    that we perform the MTU check in the OSPF Hello protocol, as Section
    2.4 explains.

    2.1.  Deciding to become adjacent

        OSPF floods only to neighbors is state Exchange or greater. So
        we prevent flooding on a link by preventing the neighbor
        relationships on the link from advancing past 2-way, exactly as
        was done in [Ref3].

        In particular, if Section 10.4 of [Ref1] indicates that the
        router should form an adjacency with a neighbor (transitioning
        the neighbor from 2-Way to ExStart state), the router should
        execute additional steps as follows:

        (1) If the interface type is Virtual Link, start forming the
            adjacency (we don't allow you to disable flooding over
            virtual links).

        (2) If the neighbor is asking to form an adjacency (that is,
            we're running the logic in Section 10.4 of [Ref1] because we
            have received a Database Description packet from the
            neighbor), start forming the adjacency. This is necessary
            for backward compatibility.

        (3) Otherwise, we're running Section 10.4 of [Ref1] because
            either (i) we've just received a bidirectional Hello from
            the neighbor, (ii) there was an error in the previous
            Database Exchange over this link or (iii) an adjacency over
            an equivalent link has been lost (see Section 2.2). In this
            case, start forming the adjacency by transitioning the
            neighbor state to ExStart *only* if you have been configured
            to do so.

    2.2.  LSA origination

        A router implementing the enhancements in this memo sets the FA
        bit it its router-LSA's type field (Section A.1), and advertises
        its forwarding adjacencies in router-addition-LSAs and network-



Moy                                                             [Page 3]


Internet Draft            OSPF Subset Flooding             February 2001


        addition-LSAs.

        2.2.1.  Advertising forwarding adjacencies

            Forwarding adjacencies, those bidirectional neighbors
            (neighbor state 2-Way) that would have been advertised in
            router-LSAs and network-LSAs had the router been configured
            to flood over them, are advertised instead in router-
            addition-LSAs and network-addition-LSAs.

            The way a forwarding adjacency is advertised depends upon
            its associated interface type and the role that the router
            is playing on the associated segment.

            o   Neighbors that have been stopped at 2-Way state on
                point-to-point and point-to-multipoint interfaces are
                added to router-addition-LSAs as Type 1 links (point-to-
                point connection to another router), formatted according
                to Sections 12.4.1.1 and 12.4.1.4 of [Ref1].

            o   If the router is attached to a broadcast or NBMA
                segment, is not the DR, and its conversation with the DR
                has been limited to state 2Way, a Type 2 link
                (connection to a transit network) is added to a router-
                addition-LSA.

            o   If the router is the DR on an attached broadcast or NBMA
                segment, neighbor conversations that have been limited
                to state 2Way are added to network-addition-LSAs.

    2.3.  Modified routing calculation

        If all the router-LSAs in Area A's link-state database have the
        FA bit (Section A.1) set in their rtype field, then the OSPF
        routing calculation for Area A is modified as follows.

         (1)   The intra-area calculation for Area A, Section 16.1 of
               [Ref1], is run to determine which routers are reachable
               in Area A.

         (2)   The intra-area calculation is then rerun. However, this
               time when Section 16.1 of [Ref1] examines the router-LSA
               for router X, you must examine both the router-LSA
               originated by X *and* all the router-addition-LSAs that
               it has originated. Likewise, when 16.1 of [Ref1] examines
               network-LSAs for network N (defined by its Designated
               Router's address), you must examine the network-LSA and
               also all matching network-addition-LSAs. For the



Moy                                                             [Page 4]


Internet Draft            OSPF Subset Flooding             February 2001


               forwarding adjacencies listed in router-addition-LSAs and
               network-addition-LSAs, we substitute a different check
               for the bidirectional check in Step 2b of Section 16.1 of
               [Ref1]. In order to use a forwarding adjacency in the
               routing calculation, both router endpoints must have been
               found to be reachable.

    2.4.  MTU check

        Links that are not used by the OSPF Database Exchange process
        are now included in the routing calculation. However, we still
        want links with MTU mismatches to be excluded from the routing
        calculation. For this reason we implement the MTU mismatch
        detection in OSPF's Hello Protocol, exactly as was specified in
        Section 2.4 of [Ref3].  This logic prevents links with MTU
        mismatches from being declared bidirectional.  See Section G.9
        of [Ref3] for more details on MTU mismatches.

3.  Backward compatibility

    If the router's neighbor requests to form a full adjacency, by
    sending a Database Description packet, the router must comply as
    long as a full adjacency is warranted according to Section 10.4 of
    [Ref1}, and is the same backward-compatibility mechanism used by
    [Ref3].

    Also, all routers within an OSPF area need to be capable of
    including forwarding adjacencies (advertised in router-additions-
    LSAs and network-additions-LSAs) in their routing calculations
    before any router in the area is allowed to. This is determined by
    checking to see that all router-LSAs in the area's link-state
    database have the FA-bit set.

4.  Notes

    Note the following concerning the enhancements proposed by this
    memo.

    o   We do not recommend any particular configuration syntax. A
        vendor may decide to let you configure over which links to
        flood, or configure over which links not to flood. Or the vendor
        could combine with the functionality of [Ref3], and configure
        the Router IDs of the neighbors with which to flood (or not to
        flood).

    o   In the future, the routers may themselves choose which links to
        use in flooding, For example, if a distributed, stable algorithm
        were developed which produced a 2-connected spanning graph, that



Moy                                                             [Page 5]


Internet Draft            OSPF Subset Flooding             February 2001


        might be used to autoconfigure the flooding links.

    o   If insufficient links are configured from flooding, some routers
        may become isolated from the flooding algorithm, and hence from
        the routing calculation. However, since a link's flooding
        participation need only be configured in one endpoint, and
        operator would be able to reconfigure flooding and fix the
        problem remotely.

    o   Two Dijkstra calculations are employed by the enhanced routing
        calculation of this memo, the first to determine router
        reachability, and the second to include the forwarding
        adjacencies. However, since the first only deals with
        reachability, one does not need to perform its sorting phase.

References

    [Ref1]  Moy, J., "OSPF Version 2", RFC 2328, April 1998.

    [Ref2]  Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July
            1998.

    [Ref3]  Moy, J., "Flooding over parallel point-to-point links",
            Internet Draft, draft-ietf-ospf-ppp-flood-00.txt, November
            2000.  RFC 2154, June 1997.

    [Ref4]  Moy, J., "OSPF Version 2", RFC 2178, July 1997.

    [Ref5]  Coltun, R., D. Ferguson and J. Moy, "OSPF for IPv6", RFC
            2740, December 1999.





















Moy                                                             [Page 6]


Internet Draft            OSPF Subset Flooding             February 2001


A. New LSA formats

    This memo requires that the router set an additional bit in it's
    router-LSA's rtype field (Section A.1) and that the router be
    capable of originating and processing two new LSAs, the router-
    additions-LSA (Section A.2) and the network-additions-LSA (Section
    A.2).












































Moy                                                             [Page 7]


Internet Draft            OSPF Subset Flooding             February 2001


A.1 Router-LSA: rtype field

    The format and building of the OSPF router-LSA remains unchanged,
    reflecting the router's full adjacencies (neighbor state Full) as
    specified in Section 12.4.1 of [Ref1]. However, a new flag, called
    bit FA, is added to the rtype field of the router-LSA. A router sets
    this bit if and only if it is capable of using the new router-
    additions-LSAs and network-additions-LSAs in its routing
    calculations. Equivalently, bit FA is set when the router is capable
    of using forwarding adjacencies in the routing calculation.  Setting
    bit FA also implies that the router is capable of handling Opaque-
    LSAs, as specified in [Ref2].

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            LS age             |     Options   |       1       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Link State ID                          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Advertising Router                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     LS sequence number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         LS checksum           |             length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |    rtype      |        0      |            # links            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
       |                          Link ID                              | P
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ E
       |                         Link Data                             | R
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Type      |     # TOS     |        TOS 0 metric           | #
     + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ L
     # |      TOS      |        0      |            metric             | I
     T +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ N
     O |                              ...                              | K
     S +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ S
     | |      TOS      |        0      |            metric             | |
     + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
       |                              ...                              |

                                The router-LSA








Moy                                                             [Page 8]


Internet Draft            OSPF Subset Flooding             February 2001


                     +---+---+---+---+---+---+---+---+
                     | * | FA| S | Nt| W | V | E | B |
                     +---+---+---+---+---+---+---+-+-+

                                The rtype field














































Moy                                                             [Page 9]


Internet Draft            OSPF Subset Flooding             February 2001


A.2 Router-additions-LSA

    The router-additions-LSA is an area-scoped Opaque-LSA, having Opaque
    Type equal to TBD1. It is used to advertise forwarding adjacencies,
    and uses the same format as the router-LSA. The router's collection
    of forwarding adjacencies can be listed in one or more router-
    additions-LSAs, with the Opaque ID field used to distinguish the
    LSAs. Rules for building the router-additions-LSA are described in
    Section 2.2.1 above.
        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            LS age             |     Options   |      10       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Opaque Type  |               Opaque ID                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Advertising Router                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     LS sequence number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         LS checksum           |             length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |               0               |            # links            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
       |                          Link ID                              | P
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ E
       |                         Link Data                             | R
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Type      |     # TOS     |        TOS 0 metric           | #
     + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ L
     # |      TOS      |        0      |            metric             | I
     T +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ N
     O |                              ...                              | K
     S +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ S
     | |      TOS      |        0      |            metric             | |
     + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
       |                              ...                              |

                           The router-additions-LSA

    The format of the router-additions-LSA is identical to the router-
    LSA, except for the following differences:

    o   Multiple router-addition-LSAs can be originated, distinguished
        by Opaque ID. The value of Opaque ID can be arbitrary. Note the
        similarity to the OSPF for IPv6 router-LSA [Ref5].





Moy                                                            [Page 10]


Internet Draft            OSPF Subset Flooding             February 2001


    o   The router-additions-LSA has no rtype field.


















































Moy                                                            [Page 11]


Internet Draft            OSPF Subset Flooding             February 2001


A.3 Network-additions-LSA

    The network-additions-LSA is an area-scoped Opaque-LSA, having
    Opaque Type equal to TBD2. It is used by the Designated Router on a
    broadcast or NBMA segment to advertise its forwarding adjacencies on
    the segment, and uses a similar format to the network-LSA. The
    router's collection of forwarding adjacencies can be listed in one
    or more network-additions-LSAs, with the Opaque ID field used to
    distinguish the LSAs. Rules for building the network-additions-LSA
    are described in Section 2.2.1 above.

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |            LS age             |      Options  |      10       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  Opaque Type  |               Opaque ID                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     Advertising Router                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     LS sequence number                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |         LS checksum           |             length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Network Address                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Network Mask                          |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                        Attached Router                        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                              ...                              |


    The format of the network-additions-LSA is identical to the network-
    LSA, except for the following differences:

    o   The IP address of the network segment is included in the body of
        the network-additions-LSA, in the "Network Address" field. As in
        standard OSPF, this is the IP address of the segment's
        Designated Router.

    o   Multiple network-addition-LSAs can be originated, distinguished
        by Opaque ID. The value of Opaque ID can be arbitrary.








Moy                                                            [Page 12]


Internet Draft            OSPF Subset Flooding             February 2001


    Security Considerations

    This memo does not create any new security issues for the OSPF
    protocol. Security considerations for the base OSPF protocol are
    covered in [Ref1].

Authors' Addresses

    J. Moy
    Sycamore Networks, Inc.
    150 Apollo Drive
    Chelmsford, MA 01824
    Phone: (978) 367-2505
    Fax:   (978) 256-4203
    email: jmoy@sycamorenet.com




































Moy                                                            [Page 13]