Difference between revisions of "RFC8770"

From RFC-Wiki
(Created page with " Internet Engineering Task Force (IETF) K. Patel Request for Comments: 8770 Arrcus Updates: 6987...")
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 

 

 
 
  
 
Internet Engineering Task Force (IETF)                          K. Patel
 
Internet Engineering Task Force (IETF)                          K. Patel
Line 8: Line 6:
 
Category: Standards Track                                PPE Consulting
 
Category: Standards Track                                PPE Consulting
 
ISSN: 2070-1721                                              M. Bhardwaj
 
ISSN: 2070-1721                                              M. Bhardwaj
                                                            S. Bayraktar
+
                                                        S. Bayraktar
                                                          Cisco Systems
+
                                                        Cisco Systems
                                                              April 2020
+
                                                          April 2020
  
 +
                  Host Router Support for OSPFv2
  
                    Host Router Support for OSPFv2
+
'''Abstract'''
  
Abstract
+
The Open Shortest Path First Version 2 (OSPFv2) protocol does not
 +
have a mechanism for a node to repel transit traffic if it is on the
 +
shortest path.  This document defines a bit called the Host-bit
 +
(H-bit).  This bit enables a router to advertise that it is a non-
 +
transit router.  This document also describes the changes needed to
 +
support the H-bit in the domain.  In addition, this document updates
 +
[[RFC6987|RFC 6987]] to advertise Type 2 External and Not-So-Stubby Area (NSSA)
 +
Link State Advertisements (LSAs) ([[RFC3101|RFC 3101]]) with a high cost in order
 +
to repel traffic effectively.
  
  The Open Shortest Path First Version 2 (OSPFv2) protocol does not
+
'''Status of This Memo'''
  have a mechanism for a node to repel transit traffic if it is on the
 
  shortest path.  This document defines a bit called the Host-bit
 
  (H-bit).  This bit enables a router to advertise that it is a non-
 
  transit router.  This document 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 Not-So-Stubby Area (NSSA)
 
  Link State Advertisements (LSAs) (RFC 3101) with a high cost in order
 
  to repel traffic effectively.
 
  
Status of This Memo
+
This is an Internet Standards Track document.
  
  This is an Internet Standards Track document.
+
This document is a product of the Internet Engineering Task Force
 +
(IETF).  It represents the consensus of the IETF community.  It has
 +
received public review and has been approved for publication by the
 +
Internet Engineering Steering Group (IESG).  Further information on
 +
Internet Standards is available in Section 2 of [[RFC7841|RFC 7841]].
  
  This document is a product of the Internet Engineering Task Force
+
Information about the current status of this document, any errata,
  (IETF).  It represents the consensus of the IETF community.  It has
+
and how to provide feedback on it may be obtained at
  received public review and has been approved for publication by the
+
https://www.rfc-editor.org/info/rfc8770.
  Internet Engineering Steering Group (IESG). Further information on
 
  Internet Standards is available in Section 2 of RFC 7841.
 
  
  Information about the current status of this document, any errata,
+
'''Copyright Notice'''
  and how to provide feedback on it may be obtained at
 
  https://www.rfc-editor.org/info/rfc8770.
 
  
Copyright Notice
+
Copyright (c) 2020 IETF Trust and the persons identified as the
 +
document authors.  All rights reserved.
  
  Copyright (c) 2020 IETF Trust and the persons identified as the
+
This document is subject to [[BCP78|BCP 78]] and the IETF Trust's Legal
  document authorsAll rights reserved.
+
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.
  
  This document is subject to BCP 78 and the IETF Trust's Legal
+
1.  Introduction
  Provisions Relating to IETF Documents
+
2.  Requirements Language
  (https://trustee.ietf.org/license-info) in effect on the date of
+
3. Host-Bit Support
  publication of this documentPlease review these documents
+
4SPF Modifications
  carefully, as they describe your rights and restrictions with respect
+
5.  Autodiscovery and Backward Compatibility
  to this documentCode Components extracted from this document must
+
6.  OSPF AS-External-LSAs / NSSA-LSAs with Type 2 Metrics
  include Simplified BSD License text as described in Section 4.e of
+
7IANA Considerations
  the Trust Legal Provisions and are provided without warranty as
+
8.  Security Considerations
  described in the Simplified BSD License.
+
9. References
 +
  9.1.  Normative References
 +
  9.2. Informative References
 +
Acknowledgements
 +
Authors' Addresses
  
Table of Contents
+
== Introduction ==
  
  1.  Introduction
+
The OSPFv2 protocol specifies a Shortest Path First (SPF) algorithm
  2.  Requirements Language
+
that identifies transit vertices based on their adjacencies.
  3.  Host-Bit Support
+
Therefore, OSPFv2 does not have a mechanism to prevent traffic
  4.  SPF Modifications
+
transiting a participating node if it is a transit vertex in the only
  5.  Autodiscovery and Backward Compatibility
+
existing or shortest path to the destinationThe use of metrics to
  6. OSPF AS-External-LSAs / NSSA-LSAs with Type 2 Metrics
+
make the node undesirable can help to repel traffic only if an
  7.  IANA Considerations
+
alternative better route exists.
  8.  Security Considerations
 
  9References
 
    9.1.  Normative References
 
    9.2. Informative References
 
  Acknowledgements
 
  Authors' Addresses
 
  
1.  Introduction
+
A mechanism to move traffic away from the shortest path is
 +
particularly useful for a number of use cases:
  
  The OSPFv2 protocol specifies a Shortest Path First (SPF) algorithm
+
1.  Graceful isolation of a router, to avoid blackhole scenarios when
  that identifies transit vertices based on their adjacencies.
+
    there is a reload and possible long reconvergence times.
  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.
 
  
  A mechanism to move traffic away from the shortest path is
+
2.  Closet switches that are not usually used for transit traffic but
  particularly useful for a number of use cases:
+
    need to participate in the topology.
  
  1Graceful isolation of a router, to avoid blackhole scenarios when
+
3Overloaded routers that could use such a capability to
      there is a reload and possible long reconvergence times.
+
    temporarily repel traffic until they stabilize.
  
  2Closet switches that are not usually used for transit traffic but
+
4BGP route reflectors, known as virtual Route Reflectors, that are
      need to participate in the topology.
+
    not in the forwarding path but are in central locations such as
 +
    data centers.  Such route reflectors are typically 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
 +
    their clients [BGP-ORR].
  
  3Overloaded routers that could use such a capability to
+
This document describes the functionality provided by the Host-bit
      temporarily repel traffic until they stabilize.
+
(H-bit); this functionality prevents other OSPFv2 routers from using
 +
the host router by excluding it in path calculations for transit
 +
traffic in OSPFv2 routing domainsIf the H-bit is set, then the
 +
calculation of the 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, this document
 +
updates [[RFC6987]] so that Type 2 External and Not-So-Stubby Area
 +
(NSSA) Link State Advertisements (LSAs) [[RFC3101]] are advertised with
 +
a high cost (see Section 6).  OSPFv3 [[RFC5340]] defines an option bit,
 +
known as the R-bit, for router-LSAs; the H-bit supports similar
 +
functionality.
  
  4.  BGP route reflectors, known as virtual Route Reflectors, that are
+
== Requirements Language ==
      not in the forwarding path but are in central locations such as
 
      data centers.  Such route reflectors are typically 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
 
      their clients [BGP-ORR].
 
  
  This document describes the functionality provided by the Host-bit
+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  (H-bit); this functionality prevents other OSPFv2 routers from using
+
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
  the host router by excluding it in path calculations for transit
+
"OPTIONAL" in this document are to be interpreted as described in
  traffic in OSPFv2 routing domains.  If the H-bit is set, then the
+
[[BCP14|BCP 14]] [[RFC2119]] [[RFC8174]] when, and only when, they appear in all
  calculation of the shortest-path tree for an area, as described in
+
capitals, as shown here.
  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, this document
 
  updates [RFC6987] so that Type 2 External and Not-So-Stubby Area
 
  (NSSA) Link State Advertisements (LSAs) [RFC3101] are advertised with
 
  a high cost (see Section 6).  OSPFv3 [RFC5340] defines an option bit,
 
  known as the R-bit, for router-LSAs; the H-bit supports similar
 
  functionality.
 
  
2.  Requirements Language
+
== Host-Bit Support ==
  
  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+
This document defines a new router-LSA bit, known as the Host-bit or
  "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+
the H-bit.  An OSPFv2 router advertising a router-LSA with the H-bit
  "OPTIONAL" in this document are to be interpreted as described in
+
set indicates that it MUST NOT be used as a transit router (see
  BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
+
Section 4) by other OSPFv2 routers in the area that support the H-bit
  capitals, as shown here.
+
functionality.
  
3. Host-Bit Support
+
If the H-bit is not set, then backward compatibility is achieved, as
 +
the behavior will be the same as in [[RFC2328]].
  
   This document defines a new router-LSA bit, known as the Host-bit or
+
   0                  1                  2                  3
  the H-bit. An OSPFv2 router advertising a router-LSA with the H-bit
+
  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
  set indicates that it MUST NOT be used as a transit router (see
+
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Section 4) by other OSPFv2 routers in the area that support the H-bit
+
  |            LS age            |    Options  |      1      |
  functionality.
+
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  |                        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                            |
 +
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 +
  |                              ...                             |
  
  If the H-bit is not set, then backward compatibility is achieved, as
+
                      Figure 1: OSPF Router-LSA
  the behavior will be the same as in [RFC2328].
 
  
      0                  1                  2                  3
+
Bit H is the high-order bit of the OSPF flags, as shown below.
      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
+
                            0 1 2 3 4 5 6 7
 +
                            +-+-+-+-+-+-+-+-+
 +
                            |H|0|0|N|W|V|E|B|
 +
                            +-+-+-+-+-+-+-+-+
  
  Bit H is the high-order bit of the OSPF flags, as shown below.
+
                Figure 2: OSPF Router-LSA Option Bits
  
                              0 1 2 3 4 5 6 7
+
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,
                              |H|0|0|N|W|V|E|B|
+
the other OSPFv2 routers in the area MUST NOT use the host router for
                              +-+-+-+-+-+-+-+-+
+
transit traffic but may send traffic to its local destinations.
  
                  Figure 2: OSPF Router-LSA Option Bits
+
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
 +
[[RFC6987]].
  
  When the H-bit is set, the OSPFv2 router is a host (non-transit)
+
When the H-bit is set, an Area Border Router (ABR) MUST advertise the
  router and is incapable of forwarding transit trafficIn this mode,
+
same H-bit setting in its self-originated router-LSAs for all
  the other OSPFv2 routers in the area MUST NOT use the host router for
+
attached areasThe consistency of the setting will prevent
  transit traffic but may send traffic to its local destinations.
+
inter-area traffic transiting through the router by suppressing
 +
advertisements 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.
  
  An OSPFv2 router originating a router-LSA with the H-bit set MUST
+
When the H-bit is set, the host router cannot act as an Autonomous
  advertise all its non-stub links with a link cost of MaxLinkMetric
+
System Border Router (ASBR).  Indeed, ASBRs are transit routers to
  [RFC6987].
+
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 advertisements of non-local
 +
prefixes.  In these cases, the Type 2 metric in AS-external-LSAs MUST
 +
be set to LSInfinity [[RFC2328]] to repel traffic (see Section 6 of
 +
this document).
  
  When the H-bit is set, an Area Border Router (ABR) MUST advertise the
+
== SPF Modifications ==
  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
 
  advertisements 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 Autonomous
+
The SPF calculation described in Section 16.1 of [[RFC2328]] is
  System Border Router (ASBR).  Indeed, ASBRs are transit routers to
+
modified to ensure that the routers originating router-LSAs with the
  prefixes that are typically imported through redistribution of
+
H-bit set will not be used for transit trafficStep (2) is modified
  prefixes from other routing protocols.  Therefore, non-local IPv4
+
to include a check on the H-bit, as shown below.  (Please note that
  prefixes, e.g., those imported from other routing protocols, SHOULD
+
all of the sub-procedures of Step (2) remain unchanged and are not
  NOT be advertised in AS-external-LSAs if the H-bit is set.  Some use
+
included in the excerpt below.)
  cases, such as an overloaded router or a router being gracefully
 
  isolated, may benefit from continued advertisements of non-local
 
  prefixes.  In these cases, the Type 2 metric in AS-external-LSAs MUST
 
  be set to LSInfinity [RFC2328] to repel traffic (see Section 6 of
 
  this document).
 
  
4.  SPF Modifications
+
  (2)  Call the vertex just added to the tree "vertex V".  Examine
 +
        the LSA associated with vertex V.  This is a lookup in
 +
        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
 +
        Appendix 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 vertexFor each described link (say it
 +
        joins vertex V to vertex W):
  
  The SPF calculation described in Section 16.1 of [RFC2328] is
+
== Autodiscovery and Backward Compatibility ==
  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
 
  to include a check on the H-bit, as shown below.  (Please note that
 
  all of the sub-procedures of Step (2) remain unchanged and are not
 
  included in the excerpt below.)
 
  
      (2)  Call the vertex just added to the tree "vertex V".  Examine
+
To reduce the possibility of any routing loops due to partial
          the LSA associated with vertex V.  This is a lookup in
+
deployment, this document defines an OSPF Router Information (RI) LSA
          Area A's link state database based on the Vertex ID.  If this
+
capability bit [[RFC7770]]See Section 7 (Table 2).
          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
 
          Appendix 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 vertexFor each described link (say it
 
          joins vertex V to vertex W):
 
  
5. Autodiscovery and Backward Compatibility
+
The RI LSA MUST be area-scoped.
  
  To reduce the possibility of any routing loops due to partial
+
Autodiscovery via announcement of the OSPF Host Router capability
  deployment, this document defines an OSPF Router Information (RI) LSA
+
(Section 7) ensures that the H-bit functionality and its associated
  capability bit [RFC7770].  See Section 7 (Table 2).
+
SPF changes MUST only take effect if all the routers in a given OSPF
 +
area support this functionality.
  
  The RI LSA MUST be area-scoped.
+
In normal operation, it is possible that the RI LSA will fail to
 +
reach all routers in an area in a timely manner.  For example, if a
 +
new router without H-bit support joins an area that previously had
 +
only H-bit-capable routers with the H-bit set, then it may take some
 +
time for the RI LSA to propagate to all routers.  While it is
 +
propagating, the routers in the area will gradually detect the
 +
presence of a router that does not support the capability and will
 +
revert back to the normal SPF calculation.  During the propagation
 +
time, the area as a whole is unsure of the status of the new router;
 +
this type of situation can cause temporary transient loops.
  
  Autodiscovery via announcement of the OSPF Host Router capability
+
The following recommendations will mitigate transient routing loops:
  (Section 7) 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, it is possible that the RI LSA will fail to
+
*  Implementations are RECOMMENDED to provide a configuration
  reach all routers in an area in a timely manner.  For example, if a
+
   parameter to manually override enforcement of the H-bit
   new router without H-bit support joins an area that previously had
+
   functionality in partial deployments where the topology guarantees
  only H-bit-capable routers with the H-bit set, then it may take some
+
   that OSPFv2 routers not supporting the H-bit do not compute routes
   time for the RI LSA to propagate to all routers.  While it is
+
   resulting in routing loops.
  propagating, the routers in the area will gradually detect the
 
   presence of a router that does not support the capability and will
 
   revert back to the normal SPF calculation.  During the propagation
 
  time, the area as a whole is unsure of the status of the new router;
 
  this type of situation can cause temporary transient loops.
 
  
   The following recommendations will mitigate transient routing loops:
+
*  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 prevent OSPFv2 routers (unless a last-resort
 +
  path) that do not support the H-bit from attempting to use the
 +
  non-stub links for transit traffic.
  
  Implementations are RECOMMENDED to provide a configuration
+
All routers supporting the H-bit MUST check the RI LSAs of all
      parameter to manually override enforcement of the H-bit
+
  nodes in the area to verify that all nodes support the H-bit
      functionality in partial deployments where the topology guarantees
+
  before actively using the H-bit feature.  If any router does not
      that OSPFv2 routers not supporting the H-bit do not compute routes
+
  advertise the OSPF Host Router capability (Section 7), then the
      resulting in routing loops.
+
  SPF modifications described in Section 4 MUST NOT be used in the
 +
  area.
  
  *  All routers with the H-bit set MUST advertise all of the router's
+
== OSPF AS-External-LSAs / NSSA-LSAs with Type 2 Metrics ==
      non-stub links with a metric equal to MaxLinkMetric [RFC6987] in
 
      its LSAs in order to prevent OSPFv2 routers (unless a last-resort
 
      path) that do not support the H-bit from attempting to use the
 
      non-stub links for transit traffic.
 
  
  *  All routers supporting the H-bit MUST check the RI LSAs of all
+
When calculating the path to a prefix in an OSPF AS-external-LSA or
      nodes in the area to verify that all nodes support the H-bit
+
NSSA-LSA [[RFC3101]] with a Type 2 metric, the advertised Type 2 metric
      before actively using the H-bit featureIf any router does not
+
is taken as more significant than the OSPF intra-area or inter-area
      advertise the OSPF Host Router capability (Section 7), then the
+
pathHence, advertising the links with MaxLinkMetric as specified
      SPF modifications described in Section 4 MUST NOT be used in the
+
in [[RFC6987]] does not discourage transit traffic when calculating AS-
      area.
+
external or NSSA routes with Type 2 metrics.
  
6.  OSPF AS-External-LSAs / NSSA-LSAs with Type 2 Metrics
+
Consequently, this document updates [[RFC6987]] 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.
  
  When calculating the path to a prefix in an OSPF AS-external-LSA or
+
== IANA Considerations ==
  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, this document updates [RFC6987] so that the Type 2
+
IANA has registered the following value in the "OSPFv2 Router
  metric in any self-originated AS-external-LSAs or NSSA-LSAs is
+
Properties Registry".
  advertised as LSInfinity-1 [RFC2328].  If the H-bit is set, then the
 
  Type 2 metric MUST be set to LSInfinity.
 
  
7. IANA Considerations
+
                +-------+--------------+-----------+
 +
                | Value | Description | Reference |
 +
                +=======+==============+===========+
 +
                | 0x80  | Host (H-bit) | [[RFC8770|RFC 8770]]  |
 +
                +-------+--------------+-----------+
  
  IANA has registered the following value in the "OSPFv2 Router
+
                          Table 1: H-Bit
  Properties Registry".
 
  
                  +-------+--------------+-----------+
+
IANA has registered the following in the "OSPF Router Informational
                  | Value | Description  | Reference |
+
Capability Bits" registry.
                  +=======+==============+===========+
 
                  | 0x80  | Host (H-bit) | RFC 8770  |
 
                  +-------+--------------+-----------+
 
  
                              Table 1: H-Bit
+
            +------------+------------------+-----------+
 +
            | Bit Number | Capability Name  | Reference |
 +
            +============+==================+===========+
 +
            |    7      | OSPF Host Router | [[RFC8770|RFC 8770]]  |
 +
            +------------+------------------+-----------+
  
  IANA has registered the following in the "OSPF Router Informational
+
              Table 2: OSPF Host Router Capability Bit
  Capability Bits" registry.
 
  
              +------------+------------------+-----------+
+
== Security Considerations ==
              | Bit Number | Capability Name  | Reference |
 
              +============+==================+===========+
 
              |    7      | OSPF Host Router | RFC 8770  |
 
              +------------+------------------+-----------+
 
  
                  Table 2: OSPF Host Router Capability Bit
+
This document introduces the H-bit, which is a capability feature
 +
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 OSPFv2 [[RFC2328]].  The
 +
feature introduces the advertisement of host router capability
 +
information to all OSPFv2 routers in an area.  This information can
 +
be leveraged for discovery and verification that all routers in the
 +
area support the capability before the feature is turned on.  In the
 +
event that a rogue or buggy router incorrectly advertises its
 +
capability, possible scenarios are as follows:
  
8.  Security Considerations
+
*  The router does not have the capability but sends the H-bit set in
 
+
  its LSAs.  In this case, a routing loop is possible.  However,
  This document introduces the H-bit, which is a capability feature
+
  this is mitigated by the fact that this router should be avoided
  that restricts the use of a router for transit, while only its local
+
  anyway.  Moreover, the link metrics cost (MaxLinkMetric) of this
  destinations are reachable.  This is a subset of the operations of a
+
  router will mitigate this situation.  In any case, a router
  normal router and therefore should not introduce new security
+
  advertising the H-bit capability without its link metrics cost
  considerations beyond those already known in OSPFv2 [RFC2328].  The
+
  equal to MaxLinkMetric could be a rogue router and should be
  feature introduces the advertisement of host router capability
+
  avoided.
  information to all OSPFv2 routers in an area.  This information can
 
  be leveraged for discovery and verification that all routers in the
 
  area support the capability before the feature is turned on.  In the
 
  event that a rogue or buggy router incorrectly advertises its
 
  capability, possible scenarios are as follows:
 
 
 
  *  The router does not have the capability but sends the H-bit set in
 
      its LSAs.  In this case, a routing loop is possible.  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 link metrics cost
 
      equal to MaxLinkMetric could be a rogue router and should be
 
      avoided.
 
  
  *  The router has the capability but sends the H-bit clear in its
+
*  The router has the capability but sends the H-bit clear in its
      LSAs.  In this case, the router merely prevents the support of
+
  LSAs.  In this case, the router merely prevents the support of
      other H-bit routers in the area and prevents all the routers from
+
  other H-bit routers in the area and prevents all the routers from
      running the modified SPF.  Any impacts are also mitigated in this
+
  running the modified SPF.  Any impacts are also mitigated in this
      scenario, as other H-bit routers in the area also advertise the
+
  scenario, as other H-bit routers in the area also advertise the
      MaxLinkMetric cost, so they will still be avoided unless they are
+
  MaxLinkMetric cost, so they will still be avoided unless they are
      the last-resort path.
+
  the last-resort path.
  
  *  The rogue router is on the only transit path for some destinations
+
*  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 sends the H-bit set (for no good/valid reason) in its LSAs,
      and effectively partitions the network.  This case is
+
  and effectively partitions the network.  This case is
      indistinguishable from the normal case where an operator may
+
  indistinguishable from the normal case where an operator may
      consciously decide to set the H-bit to perform maintenance on a
+
  consciously decide to set the H-bit to perform maintenance on a
      router that is on the only transit path.  The OSPF protocol will
+
  router that is on the only transit path.  The OSPF protocol will
      continue to function within the partitioned domains.
+
  continue to function within the partitioned domains.
  
9.  References
+
== References ==
  
9.1.  Normative References
+
=== Normative References ===
  
  [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
+
[[RFC2119]]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
+
          Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]],
              DOI 10.17487/RFC2119, March 1997,
+
          DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.
+
          <https://www.rfc-editor.org/info/rfc2119>.
  
  [RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328,
+
[[RFC2328]]  Moy, J., "OSPF Version 2", [[STD54|STD 54]], [[RFC2328|RFC 2328]],
              DOI 10.17487/RFC2328, April 1998,
+
          DOI 10.17487/RFC2328, April 1998,
              <https://www.rfc-editor.org/info/rfc2328>.
+
          <https://www.rfc-editor.org/info/rfc2328>.
  
  [RFC6987]  Retana, A., Nguyen, L., Zinin, A., White, R., and D.
+
[[RFC6987]]  Retana, A., Nguyen, L., Zinin, A., White, R., and D.
              McPherson, "OSPF Stub Router Advertisement", RFC 6987,
+
          McPherson, "OSPF Stub Router Advertisement", [[RFC6987|RFC 6987]],
              DOI 10.17487/RFC6987, September 2013,
+
          DOI 10.17487/RFC6987, September 2013,
              <https://www.rfc-editor.org/info/rfc6987>.
+
          <https://www.rfc-editor.org/info/rfc6987>.
  
  [RFC7770]  Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
+
[[RFC7770]]  Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
              S. Shaffer, "Extensions to OSPF for Advertising Optional
+
          S. Shaffer, "Extensions to OSPF for Advertising Optional
              Router Capabilities", RFC 7770, DOI 10.17487/RFC7770,
+
          Router Capabilities", [[RFC7770|RFC 7770]], DOI 10.17487/RFC7770,
              February 2016, <https://www.rfc-editor.org/info/rfc7770>.
+
          February 2016, <https://www.rfc-editor.org/info/rfc7770>.
  
  [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+
[[RFC8174]]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+
          2119 Key Words", [[BCP14|BCP 14]], [[RFC8174|RFC 8174]], DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
          May 2017, <https://www.rfc-editor.org/info/rfc8174>.
  
9.2.  Informative References
+
=== Informative References ===
  
  [BGP-ORR]  Raszuk, R., Ed., Cassar, C., Aman, E., Decraene, B., and
+
[BGP-ORR]  Raszuk, R., Ed., Cassar, C., Aman, E., Decraene, B., and
              K. Wang, "BGP Optimal Route Reflection (BGP-ORR)", Work in
+
          K. Wang, "BGP Optimal Route Reflection (BGP-ORR)", Work in
              Progress, Internet-Draft, draft-ietf-idr-bgp-optimal-
+
          Progress, Internet-Draft, draft-ietf-idr-bgp-optimal-
              route-reflection-20, 8 January 2020,
+
          route-reflection-20, 8 January 2020,
              <https://tools.ietf.org/html/draft-ietf-idr-bgp-optimal-
+
          <https://tools.ietf.org/html/draft-ietf-idr-bgp-optimal-
              route-reflection-20>.
+
          route-reflection-20>.
  
  [RFC3101]  Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option",
+
[[RFC3101]]  Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option",
              RFC 3101, DOI 10.17487/RFC3101, January 2003,
+
          [[RFC3101|RFC 3101]], DOI 10.17487/RFC3101, January 2003,
              <https://www.rfc-editor.org/info/rfc3101>.
+
          <https://www.rfc-editor.org/info/rfc3101>.
  
  [RFC5340]  Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
+
[[RFC5340]]  Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
              for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
+
          for IPv6", [[RFC5340|RFC 5340]], DOI 10.17487/RFC5340, July 2008,
              <https://www.rfc-editor.org/info/rfc5340>.
+
          <https://www.rfc-editor.org/info/rfc5340>.
  
 
Acknowledgements
 
Acknowledgements
  
  The authors would like to acknowledge Hasmit Grover for discovering
+
The authors would like to acknowledge Hasmit Grover for discovering
  the limitation in [RFC6987], and Acee Lindem, Abhay Roy, David Ward,
+
the limitation in [[RFC6987]], and Acee Lindem, Abhay Roy, David Ward,
  Burjiz Pithawala, and Michael Barnes for their comments.
+
Burjiz Pithawala, and Michael Barnes for their comments.
  
 
Authors' Addresses
 
Authors' Addresses
  
  Keyur Patel
+
Keyur Patel
  Arrcus
+
Arrcus
 
 
 
 
 
  
  Padma Pillay-Esnault
+
  PPE Consulting
 
  
+
Padma Pillay-Esnault
 +
PPE Consulting
  
 +
  
  Manish Bhardwaj
+
Manish Bhardwaj
  Cisco Systems
+
Cisco Systems
  170 W. Tasman Drive
+
170 W. Tasman Drive
  San Jose, CA 95134
+
San Jose, CA 95134
  United States of America
+
United States of America
  
+
  
 +
Serpil Bayraktar
 +
Cisco Systems
 +
170 W. Tasman Drive
 +
San Jose, CA 95134
 +
United States of America
  
  Serpil Bayraktar
+
Email: serpil@cisco.com
  Cisco Systems
 
  170 W. Tasman Drive
 
  San Jose, CA 95134
 
  United States of America
 
  
+
[[Category:Standards Track]]

Latest revision as of 11:10, 30 October 2020



Internet Engineering Task Force (IETF) K. Patel Request for Comments: 8770 Arrcus Updates: 6987 P. Pillay-Esnault Category: Standards Track PPE Consulting ISSN: 2070-1721 M. Bhardwaj

                                                        S. Bayraktar
                                                       Cisco Systems
                                                          April 2020
                 Host Router Support for OSPFv2

Abstract

The Open Shortest Path First Version 2 (OSPFv2) protocol does not have a mechanism for a node to repel transit traffic if it is on the shortest path. This document defines a bit called the Host-bit (H-bit). This bit enables a router to advertise that it is a non- transit router. This document 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 Not-So-Stubby Area (NSSA) Link State Advertisements (LSAs) (RFC 3101) with a high cost in order to repel traffic effectively.

Status of This Memo

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8770.

Copyright Notice

Copyright (c) 2020 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.

1. Introduction 2. Requirements Language 3. Host-Bit Support 4. SPF Modifications 5. Autodiscovery and Backward Compatibility 6. OSPF AS-External-LSAs / NSSA-LSAs with Type 2 Metrics 7. IANA Considerations 8. Security Considerations 9. References

 9.1.  Normative References
 9.2.  Informative References

Acknowledgements Authors' Addresses

Introduction

The OSPFv2 protocol 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.

A mechanism to move traffic away from the shortest path is particularly useful for a number of use cases:

1. Graceful isolation of a router, to avoid blackhole scenarios when

   there is a reload and possible long reconvergence times.

2. Closet switches that are not usually used for transit traffic but

   need to participate in the topology.

3. Overloaded routers that could use such a capability to

   temporarily repel traffic until they stabilize.

4. BGP route reflectors, known as virtual Route Reflectors, that are

   not in the forwarding path but are in central locations such as
   data centers.  Such route reflectors are typically 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
   their clients [BGP-ORR].

This document describes the functionality provided by the Host-bit (H-bit); this functionality 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 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, this document updates RFC6987 so that Type 2 External and Not-So-Stubby Area (NSSA) Link State Advertisements (LSAs) RFC3101 are advertised with a high cost (see Section 6). OSPFv3 RFC5340 defines an option bit, known as the R-bit, for router-LSAs; the H-bit supports similar functionality.

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "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.

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 that support the H-bit functionality.

If the H-bit is not set, then backward 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
                           +-+-+-+-+-+-+-+-+
                           |H|0|0|N|W|V|E|B|
                           +-+-+-+-+-+-+-+-+
               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 RFC6987.

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 advertisements 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 Autonomous System Border Router (ASBR). Indeed, ASBRs 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 advertisements of non-local prefixes. In these cases, the Type 2 metric in AS-external-LSAs MUST be set to LSInfinity RFC2328 to repel traffic (see Section 6 of this document).

SPF Modifications

The SPF calculation described in Section 16.1 of RFC2328 is 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 to include a check on the H-bit, as shown below. (Please note that all of the sub-procedures of Step (2) remain unchanged and are not included in the excerpt below.)

  (2)  Call the vertex just added to the tree "vertex V".  Examine
       the LSA associated with vertex V.  This is a lookup in
       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
       Appendix 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):

Autodiscovery and Backward Compatibility

To reduce the possibility of any routing loops due to partial deployment, this document defines an OSPF Router Information (RI) LSA capability bit RFC7770. See Section 7 (Table 2).

The RI LSA MUST be area-scoped.

Autodiscovery via announcement of the OSPF Host Router capability (Section 7) 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, it is possible that the RI LSA will fail to reach all routers in an area in a timely manner. For example, if a new router without H-bit support joins an area that previously had only H-bit-capable routers with the H-bit set, then it may take some time for the RI LSA to propagate to all routers. While it is propagating, the routers in the area will gradually detect the presence of a router that does not support the capability and will revert back to the normal SPF calculation. During the propagation time, the area as a whole is unsure of the status of the new router; this type of situation can cause temporary transient loops.

The following recommendations will mitigate transient routing loops:

  • 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.
  • 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 prevent OSPFv2 routers (unless a last-resort
  path) that do not support the H-bit from attempting to use the
  non-stub links for transit traffic.
  • All routers supporting the H-bit MUST check the RI LSAs of all
  nodes in the area to verify that all nodes support the H-bit
  before actively using the H-bit feature.  If any router does not
  advertise the OSPF Host Router capability (Section 7), then the
  SPF modifications described in Section 4 MUST NOT be used in the
  area.

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

When calculating the path to a prefix in 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, this document updates RFC6987 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.

IANA Considerations

IANA has registered the following value in the "OSPFv2 Router Properties Registry".

               +-------+--------------+-----------+
               | Value | Description  | Reference |
               +=======+==============+===========+
               | 0x80  | Host (H-bit) | RFC 8770  |
               +-------+--------------+-----------+
                          Table 1: H-Bit

IANA has registered the following in the "OSPF Router Informational Capability Bits" registry.

           +------------+------------------+-----------+
           | Bit Number | Capability Name  | Reference |
           +============+==================+===========+
           |     7      | OSPF Host Router | RFC 8770  |
           +------------+------------------+-----------+
              Table 2: OSPF Host Router Capability Bit

Security Considerations

This document introduces the H-bit, which is a capability feature 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 OSPFv2 RFC2328. The feature introduces the advertisement of host router capability information to all OSPFv2 routers in an area. This information can be leveraged for discovery and verification that all routers in the area support the capability before the feature is turned on. In the event that a rogue or buggy router incorrectly advertises its capability, possible scenarios are as follows:

  • The router does not have the capability but sends the H-bit set in
  its LSAs.  In this case, a routing loop is possible.  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 link metrics cost
  equal to MaxLinkMetric could be a rogue router and should be
  avoided.
  • The router has the capability but sends the H-bit clear in its
  LSAs.  In this case, the router merely prevents the support of
  other H-bit routers in the area and prevents all the routers from
  running the modified SPF.  Any impacts are also mitigated in this
  scenario, as other H-bit routers in the area also advertise the
  MaxLinkMetric cost, so they will still be avoided unless they are
  the last-resort path.
  • 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 partitions the network.  This case is
  indistinguishable from the normal case where an 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.

References

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,
          <https://www.rfc-editor.org/info/rfc2119>.

RFC2328 Moy, J., "OSPF Version 2", STD 54, RFC 2328,

          DOI 10.17487/RFC2328, April 1998,
          <https://www.rfc-editor.org/info/rfc2328>.

RFC6987 Retana, A., Nguyen, L., Zinin, A., White, R., and D.

          McPherson, "OSPF Stub Router Advertisement", RFC 6987,
          DOI 10.17487/RFC6987, September 2013,
          <https://www.rfc-editor.org/info/rfc6987>.

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

Informative References

[BGP-ORR] Raszuk, R., Ed., Cassar, C., Aman, E., Decraene, B., and

          K. Wang, "BGP Optimal Route Reflection (BGP-ORR)", Work in
          Progress, Internet-Draft, draft-ietf-idr-bgp-optimal-
          route-reflection-20, 8 January 2020,
          <https://tools.ietf.org/html/draft-ietf-idr-bgp-optimal-
          route-reflection-20>.

RFC3101 Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option",

          RFC 3101, DOI 10.17487/RFC3101, January 2003,
          <https://www.rfc-editor.org/info/rfc3101>.

RFC5340 Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF

          for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
          <https://www.rfc-editor.org/info/rfc5340>.

Acknowledgements

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

Authors' Addresses

Keyur Patel Arrcus

Email: [email protected]

Padma Pillay-Esnault PPE Consulting

Email: [email protected]

Manish Bhardwaj Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 United States of America

Email: [email protected]

Serpil Bayraktar Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 United States of America

Email: [email protected]