OSPF                                                            K. Patel
Internet-Draft                                                    Arrcus
Updates: 6987 (if approved)                            P. Pillay-Esnault
Intended status: Standards Track                          PPE Consulting
Expires: April 26, May 19, 2020                                        M. Bhardwaj
                                                            S. Bayraktar
                                                           Cisco Systems
                                                        October 24,
                                                       November 16, 2019

                     Host Router Support for OSPFv2


   The Open Shortest Path First Version 2 (OSPFv2) does not have a
   mechanism for a node to repel transit traffic if it is on the
   shortest path.  This document defines a bit (Host-bit) that enables a
   router to advertise that it is a non-transit router." router.  It also
   describes the changes needed to support the H-bit in the domain.  In
   addition, this document updates RFC 6987 to advertise type-2 External
   and NSSA LSAs Not-So-Stubby-Area (NSSA) Link State Advertisements (LSAs) with a
   high cost in order to repel traffic effectively.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on April 26, May 19, 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Language . . . . . . . . . . . . . . . . . . . .   3
   3.  Host-bit Support  . . . . . . . . . . . . . . . . . . . . . .   3
   4.  SPF Modifications . . . . . . . . . . . . . . . . . . . . . .   5
   5.  Auto Discovery and Backward Compatibility . . . . . . . . . .   6
   6.  OSPF AS-External-LSAs/NSSA LSAs with Type 2 Metrics . . . . .   7
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   8.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   8   9
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   8   9
     10.2.  Informative References . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   The OSPFv2 specifies a Shortest Path First (SPF) algorithm that
   identifies transit vertices based on their adjacencies.  Therefore,
   OSPFv2 does not have a mechanism to prevent traffic transiting a
   participating node if it is a transit vertex in the only existing or
   shortest path to the destination.  The use of metrics to make the
   node undesirable can help to repel traffic only if an alternative
   better route exists.

   This functionality is particularly useful for a number of use cases:

   1.  To gracefully isolate a router to avoid blackhole scenarios when
       there is a reload and possible long reconvergence times.

   2.  Closet Switches are usually not used for transit traffic but need
       to participate in the topology.

   3.  Overloaded routers could use such a capability to temporarily
       repel traffic until they stabilize.

   4.  BGP Route reflectors known as virtual Route Reflectors (vRRs),
       that are not in the forwarding path but are in central locations
       such as data centers.  Such Route Reflectors typically are used
       for route distribution and are not capable of forwarding transit
       traffic.  However, they need to learn the OSPF topology to
       perform SPF computation for optimal routes and reachability
       resolution for its clients

   This document describes the Host-bit (H-bit) functionality that
   prevents other OSPFv2 routers from using the host router by excluding
   it in path calculations for transit traffic in OSPFv2 routing
   domains.  If the H-bit is set then the calculation of the shortest-path shortest-
   path tree for an area, as described in section 16.1 of [RFC2328], is
   modified by including a check to verify that transit vertices DO NOT
   have the H-bit set (see Section 4).  Furthermore, in order to repel
   traffic effectively, [RFC6987] is updated so that type-2 External and
   NSSA LSAs are advertised with a high cost (see Section 6).  Open
   Shortest Path First Version 3 defines an option bit for router-LSAs
   known as the R-bit in [RFC5340] to support a similar functionality.

2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  Host-bit Support

   This document defines a new router-LSA bit known as the Host Bit or
   the H-bit.  An OSPFv2 router advertising a router-LSA with the H-bit
   set indicates that it MUST NOT be used as a transit router (see
   Section 4) by other OSPFv2 routers in the area supporting the

   If the H-bit is not set then backwards compatibility is achieved as
   the behavior will be the same as in [RFC2328].

       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            |
       |H|0|0|N|W|V|E|B|        0      |            # links            |
       |                          Link ID                              |
       |                         Link Data                             |
       |     Type      |     # TOS     |            metric             |
       |                              ...                              |
       |      TOS      |        0      |          TOS  metric          |
       |                          Link ID                              |
       |                         Link Data                             |
       |                              ...                              |

                        Figure 1: OSPF Router-LSA

   Bit H is the high-order bit of the OSPF flags as shown below.

                               0 1 2 3 4 5 6 7

                      Figure 2: OSPF Router-LSA Option bits

   When the H-bit is set, the OSPFv2 router is a Host (non-transit)
   router and is incapable of forwarding transit traffic.  In this mode,
   the other OSPFv2 routers in the area MUST NOT use the host router for
   transit traffic, but may send traffic to its local destinations.

   An OSPFv2 router originating a router-LSA with the H-bit set MUST
   advertise all its non-stub links with a link cost of MaxLinkMetric

   When the H-bit is set, an Area Border Router (ABR) MUST advertise the
   same H-bit setting in its self-originated router-LSAs for all
   attached areas.  The consistency of the setting will prevent inter-
   area traffic transiting through the router by suppressing
   advertisement of prefixes from other routers in the area in its
   summary LSAs.  Only IPv4 prefixes associated with its local
   interfaces MUST be advertised in summary-LSAs to provide reachability
   to end hosts attached to a router with the H-bit set.

   When the H-bit is set the host router cannot act as an AS Boundary
   Router (ASBR).  Indeed, ASBR are transit routers to prefixes that are
   typically imported through redistribution of prefixes from other
   routing protocols.  Therefore, non-local IPv4 prefixes, e.g., those
   imported from other routing protocols, SHOULD NOT be advertised in
   AS-external-LSAs if the H-bit is set.  Some use cases, such as an
   overloaded router or a router being gracefully isolated, may benefit
   from continued advertisement of non-local prefixes.  In these cases,
   the type 2-metric in AS-external-LSAs MUST be set to LSInfinity to
   repel traffic.(see Section 6 of this document).

4.  SPF Modifications

   The SPF calculation described in section 16.1 [RFC2328] will be
   modified to ensure that the routers originating router-LSAs with the
   H-bit set will not be used for transit traffic.  Step 2 is modified
   as follows:

                2) Call the vertex just added to the
                   tree vertex V.  Examine the LSA
                   associated with vertex V.  This is
                   a lookup in the Area A's link state
                   database based on the Vertex ID. If
                   this is a router-LSA, and the H-bit
                   of the router-LSA is set, and
                   vertex V is not the root, then the
                   router should not be used for transit
                   and step (3) should be executed
                   immediately. If this is a router-LSA,
                   and bit V of the router-LSA (see
                   Section A.4.2) is set, set Area A's
                   TransitCapability to TRUE. In any case,
                   each link described by the LSA gives
                   the cost to an adjacent vertex.  For
                   each described link, (say it joins
                   vertex V to vertex W):

5.  Auto Discovery and Backward Compatibility

   To reduce the possibility of any routing loops due to partial
   deployment, this document defines an OSPF Router Information (RI) LSA
   [RFC7770] capability.  The RI LSA MUST be area-scoped.  Bit:

          Bit       Capabilities

          7         Host Router Support capability

          Table 1: OSPF Router Information LSA Capabilities

   Auto Discovery via announcement of the Host Router Support Capability
   ensures that the H-bit functionality and its associated SPF changes
   MUST only take effect if all the routers in a given OSPF area support
   this functionality.

   In normal operation, there is no guarantee that the RI LSA will reach
   all routers in an area in a timely manner, which may result in
   forwarding loops in partial deployments.  For example, if a new
   router joins an area, which previously had only H-bit capable routers
   with H-bit set then it may take some time for the RI to propagate to
   all routers.

   The following recommendations will mitigate transient routing loops:

   o  Implementations are RECOMMENDED to provide a configuration
      parameter to manually override enforcement of the H-bit
      functionality in partial deployments where the topology guarantees
      that OSPFv2 routers not supporting the H-bit do not compute routes
      resulting in routing loops.

   o  All routers, with the H-bit set, MUST advertise all of the
      router's non-stub links with a metric equal to MaxLinkMetric
      [RFC6987] in its LSAs in order to avoid OSPFv2 (unless last
      resort) routers not supporting the H-bit from attempting to use it
      for transit traffic.

   o  All routers supporting H-Bit MUST check all the RI LSAs of nodes
      in the area before actively running the modified SPF to account
      for the H-bit in order to verify that all routers are in routing
      capability.  If any router does not advertise the Host Router
      Support capability then the SPF Modifications (Section 4) MUST NOT
      be used in the area.

6.  OSPF AS-External-LSAs/NSSA LSAs with Type 2 Metrics

   When calculating the path to an OSPF AS-External-LSA or NSSA-LSA
   [RFC3101] with a Type-2 metric, the advertised Type-2 metric is taken
   as more significant than the OSPF intra-area or inter-area path.
   Hence, advertising the links with MaxLinkMetric as specified in
   [RFC6987] does not discourage transit traffic when calculating AS
   external or NSSA routes with Type-2 metrics.

   Consequently, [RFC6987] is updated so that the Type-2 metric in any
   self-originated AS-External-LSAs or NSSA-LSAs is advertised as
   LSInfinity-1 [RFC2328].  If the H-bit is set, then the Type-2 metric
   MUST be set to LSInfinity.

7.  IANA Considerations

   This document requests the IANA to assign the 0x80 value to the Host-
   Bit (H-bit)in the OSPFv2 Router Properties Registry

          Value          Description                   Reference

          0x80           Host (H-bit)                 This Document

   This document requests the IANA to assign the Bit Number value of 7
   to the Host Router Support Capability in the OSPF Router
   Informational Capability Bits Registry.

          Bit Number    Capability Name           Reference

             7          OSPF Host Router        This Document

8.  Security Considerations

   This document introduces the H-bit which is a capability that
   restricts the use of a router for transit, while only its local
   destinations are reachable.  This is a subset of the operations of a
   normal router and therefore should not introduce new security
   considerations beyond those already known in OSPF OSPFv2 [RFC2328].  The
   feature, however does introduce
   feature introduces the flooding advertising of a host router capability
   information that allows to all OSPFv2 routers in an area.  This information can
   be leveraged for discovery and verification that all routers in an the
   area are capable support the capability before turning on the feature. feature is turned on.  In the
   event that a rogue or buggy router advertises incorrectly its
   there are two the possible cases: cases are:

   o  The router does not have the capability but sends the H-Bit set in
      its LSAs: In this case, there is a possibility of a routing loop.
      However this is mitigated by the fact that this router should be
      avoided anyway.  Moreover, the link metrics cost (MaxLinkMetric)
      of this router will mitigate this situation.  In any case, a
      router advertising the H-bit capability without its links cost
      equal to MaxLinkMetric may be an indicator that this is a rogue
      router and should be avoided.

   o  The router has the capability but sends the H-Bit clear in its
      LSAs: In this case, the router merely prevents support of other
      H-bit routers in the area and all the routers to run the modified
      SPF.  The impact is also mitigated as other H-Bit routers in the
      area also advertise MaxLinkMetric cost so they will still be
      avoided unless they are the last resort path.

   o  The rogue router is on the only transit path for some destinations
      and sends the H-Bit set (for no good/valid reason) in its LSAs and
      effectively partition the network.  This case is indistinguishable
      from the normal case where the operator may consciously decide to
      set the H-bit to perform maintenance on a router that is on the
      only transit path.  The OSPF protocol will continue to function
      within the partitioned domains.

9.  Acknowledgements

   The authors would like to acknowledge Hasmit Grover for discovery of
   the limitation in [RFC6987], Acee Lindem, Abhay Roy, David Ward,
   Burjiz Pithawala Pithawala, and Michael Barnes for their comments.

10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,

   [RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328,
              DOI 10.17487/RFC2328, April 1998,

   [RFC6987]  Retana, A., Nguyen, L., Zinin, A., White, R., and D.
              McPherson, "OSPF Stub Router Advertisement", RFC 6987,
              DOI 10.17487/RFC6987, September 2013,

   [RFC7770]  Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
              S. Shaffer, "Extensions to OSPF for Advertising Optional
              Router Capabilities", RFC 7770, DOI 10.17487/RFC7770,
              February 2016, <https://www.rfc-editor.org/info/rfc7770>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

10.2.  Informative References

              Raszuk, R., Cassar, C., Aman, E., Decraene, B., and K.
              Wang, "BGP Optimal Route Reflection (BGP-ORR)", draft-
              ietf-idr-bgp-optimal-route-reflection-19 (work in
              progress), July 2019.

   [RFC3101]  Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option",
              RFC 3101, DOI 10.17487/RFC3101, January 2003,

   [RFC5340]  Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
              for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,

Authors' Addresses
   Keyur Patel

   Email: keyur@arrcus.com

   Padma Pillay-Esnault
   PPE Consulting

   Email: padma.ietf@gmail.com

   Manish Bhardwaj
   Cisco Systems
   170 W. Tasman Drive
   San Jose,  CA 95134

   Email: manbhard@cisco.com

   Serpil Bayraktar
   Cisco Systems
   170 W. Tasman Drive
   San Jose,  CA 95134

   Email: serpil@cisco.com