RFC 8770 PROPOSED STANDARD ROUTING · OSPF

OSPFv2 host-bit: Host Router Support for OSPFv2

A single bit that lets an OSPFv2 router say: send traffic to me, never through me.

On rfc-editor.org ↗
PUBLISHED
April 2020
AUTHORS
K. Patel, P. Pillay-Esnault, M. Bhardwaj, S. Bayraktar
STREAM
IETF
BUILDS ON
RFC 6987 — OSPF Stub Router
UPDATED BY
RFC 10041 — OSPF unreachable links
H-BIT REGISTRY VALUE
0x80
RI CAPABILITY BIT NUMBER
7
NON-STUB LINK COST WITH THE H-BIT SET
MaxLinkMetric
TYPE 2 METRIC WITH THE H-BIT SET
LSInfinity
TYPE 2 METRIC OTHERWISE
LSInfinity-1
RI LSA SCOPE
Area-scoped
DOI
10.17487/RFC8770

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
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.

Table of Contents

   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

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

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

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

4.  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):

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

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

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

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

9.  References

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

9.2.  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: 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
   United States of America

   Email: manbhard@cisco.com


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

   Email: serpil@cisco.com

ISO Plain Language

On this page
PROBLEMOSPFv2 has no way for a router to push transit traffic away when it sits on the only or shortest path, so raising a metric only helps when another path exists.
MECHANISMA new bit in the router-LSA, the H-bit, marks a router as a host router. Routers that support it exclude it from the transit part of the shortest path calculation.
WHY IT MATTERSA router can be isolated for maintenance or overwhelmed capacity without blackholing traffic. RFC 8770 is a Proposed Standard that was later updated by RFC 10041.

§1Why a Router Might Want to Repel Traffic

OSPFv2 specifies a shortest path first algorithm that identifies transit vertices from their adjacencies. It therefore has no mechanism to prevent traffic transiting a participating node when that node is a transit vertex in the only existing or shortest path to the destination. Using metrics to make the node undesirable helps to repel traffic only if an alternative better route exists.

A mechanism to move traffic away from the shortest path is useful in several cases.

  • Graceful isolation of a router. To avoid blackhole scenarios when there is a reload and possibly long reconvergence times.
  • Closet switches. Switches that are not usually used for transit traffic but need to take part in the topology.
  • Overloaded routers. A router that could use such a capability to repel traffic temporarily until it stabilises.
  • BGP route reflectors. Known as virtual route reflectors, these are not in the forwarding path but sit in central locations such as data centres. They are used for route distribution and cannot forward transit traffic, yet they need to learn the OSPF topology to perform the shortest path computation for optimal routes and reachability resolution for their clients.

The document describes the functionality provided by the Host-bit, the H-bit. It prevents other OSPFv2 routers from using the host router by excluding it in path calculations for transit traffic in the OSPFv2 routing domain. When the H-bit is set, the calculation of the shortest path tree for an area is modified to include a check that transit vertices do not have the H-bit set. To repel traffic effectively the document also updates RFC 6987, so that Type 2 External and Not-So-Stubby Area link state advertisements are advertised with a high cost. OSPFv3 defines an option bit, the R-bit, for router LSAs, and the H-bit supports similar functionality.

Sometimes a router should be reachable but should not be a stepping stone for other traffic: a route reflector that sits in the middle of the network but cannot forward, or a router being reloaded. Raising its metric only deters traffic when another route exists, which is why a separate flag is needed.

THE CASES THE HOST BIT IS FOR (RFC 8770, SECTION 1)
  • Graceful isolationTaking a router out of service without blackholing traffic, during a reload with long reconvergence times.
  • Closet switchesSwitches that are not usually used to carry transit traffic but still need to take part in the topology.
  • Overloaded routersA router repels traffic temporarily until it has stabilised.
  • BGP route reflectorsVirtual route reflectors that distribute routes but cannot forward transit traffic, and still need the OSPF topology.

§3The Host Bit

The document defines a new router-LSA bit, the Host-bit or 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 by the other OSPFv2 routers in the area that support the H-bit functionality. If the H-bit is not set, backward compatibility is achieved, because the behaviour is the same as in RFC 2328.

Bit H is the high-order bit of the OSPF flags, the first of the eight option bits, followed by two reserved bits and the E, B, V, W and N bits.

When the H-bit is set, the OSPFv2 router is a host, that is 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, as in RFC 6987.

When the H-bit is set, an Area Border Router MUST advertise the same H-bit setting in its self-originated router-LSAs for all attached areas. The consistency of the setting prevents 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 give 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, since ASBRs are transit routers for prefixes typically imported through redistribution from other routing protocols. Non-local IPv4 prefixes, for example 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, and in those cases the Type 2 metric in AS-external LSAs MUST be set to LSInfinity to repel traffic.

The bit goes in the router advertisement itself. A router that sets it also has to raise the cost of all its real links to the maximum, so that routers which do not understand the bit still avoid sending traffic through it.

THE BIT SET AGAINST THE BIT CLEAR (RFC 8770, SECTION 3)
H-bit setrouter → areaThe router is a host router. Other routers must not use it for transit traffic, but may send traffic to its local destinations.
COMPARED WITH
H-bit clearrouter → areaBehaviour is the same as in RFC 2328, so routers that do not understand the feature are unaffected.

§4How the Shortest Path Calculation Changes

The shortest path calculation of Section 16.1 of RFC 2328 is modified so that routers originating router-LSAs with the H-bit set are not used for transit traffic. Step (2) is modified to include a check on the H-bit, and the other sub-procedures of that step are unchanged.

In the modified step, the router takes the vertex just added to the tree, calls it vertex V, and examines the LSA associated with it, which is a lookup in area A's link state database. 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) is executed immediately. If the LSA is a router-LSA and its V bit is set, area A's TransitCapability is set to TRUE. In any case each link described by the LSA gives the cost to an adjacent vertex, and the links are handled as before.

The change is in the algorithm that builds the map of routes. When a router is added to that map as an intermediate hop, its advertisement is checked: if the bit is set, the router is not used as a stepping stone.

§5Autodiscovery and Backward Compatibility

To reduce the possibility of routing loops from a partial deployment, the document defines an OSPF Router Information LSA capability bit as in RFC 7770. The RI LSA MUST be area-scoped. Autodiscovery through the announcement of the OSPF Host Router capability ensures that the H-bit functionality and its associated shortest path changes MUST only take effect if all the routers in a given OSPF area support it.

In normal operation the RI LSA may fail to reach all the 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 bit set, it may take some time for the RI LSA to propagate to all of them. While it is propagating, the routers in the area gradually detect the presence of a router that does not support the capability and revert to the normal shortest path calculation. During the propagation time the area as a whole is unsure of the status of the new router, and this situation can cause temporary transient loops.

Three recommendations mitigate those transient 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 the routers which do not support the bit do not compute routes resulting in routing loops. All routers with the H-bit set MUST advertise all of their non-stub links with a metric equal to MaxLinkMetric in their LSAs, to prevent OSPFv2 routers, unless there is a last-resort path, that do not support the bit from attempting to use the non-stub links for transit traffic. And all routers supporting the bit MUST check the RI LSAs of all the nodes in the area to verify that all nodes support it before actively using the feature; if any router does not advertise the OSPF Host Router capability, the shortest path modifications MUST NOT be used in the area.

If only some routers understand the new bit, the network could loop. So the routers first agree, through a capability advertisement, that everyone understands it, and only then act on it. While that agreement is spreading, the old behaviour is used.

THE THREE SAFEGUARDS AGAINST TRANSIENT LOOPS (RFC 8770, SECTION 5)
  • A manual overrideA configuration parameter lets an operator enforce the feature in a partial deployment where the topology is known to be safe.
  • Maximum link costA router with the bit set must advertise all its non-stub links with a cost of MaxLinkMetric, so routers that do not understand the bit still avoid it.
  • Check every router firstRouters supporting the bit must confirm that every node in the area advertises the capability before using the feature at all.

§6External Routes and Type 2 Metrics

When calculating the path to a prefix in an OSPF AS-external LSA or NSSA LSA with a Type 2 metric, the advertised Type 2 metric is taken as more significant than the OSPF intra-area or inter-area path. Advertising the links with MaxLinkMetric, as RFC 6987 does, therefore does not discourage transit traffic when calculating AS-external or NSSA routes with Type 2 metrics.

The document consequently updates RFC 6987 so that the Type 2 metric in any self-originated AS-external LSAs or NSSA LSAs is advertised as LSInfinity-1. If the H-bit is set, the Type 2 metric MUST be set to LSInfinity.

Traffic coming from outside the OSPF area is judged by a different rule, and it would ignore the raised link cost. So the external advertisements get their own very high cost to push that traffic away as well.

THE VALUES THIS DOCUMENT FIXES (RFC 8770, SECTIONS 3, 6 AND 7)
  • 0x80Host, H-bit — The value in the OSPFv2 Router Properties Registry that carries the bit in the router-LSA.
  • 7OSPF Host Router — The bit number in the OSPF Router Informational Capability Bits registry.
  • MaxLinkMetricNon-stub link cost — The cost a router with the bit set must advertise for all of its non-stub links.
  • LSInfinity-1Type 2 metric — The value the update to RFC 6987 sets for self-originated AS-external and NSSA LSAs.
  • LSInfinityType 2 metric with the bit — The value the Type 2 metric MUST take when the H-bit is set.

§7IANA Considerations

IANA has registered the value 0x80 for the Host, H-bit, in the OSPFv2 Router Properties Registry. It has also registered bit number 7 for the OSPF Host Router capability in the OSPF Router Informational Capability Bits registry.

The document asks the registry for the value that carries the bit and for the capability bit that advertises support for it.

§8Security Considerations

The document introduces the H-bit, a capability feature that restricts the use of a router for transit while only its local destinations remain reachable. This is a subset of the operations of a normal router, so it should not introduce security considerations beyond those already known in OSPFv2. The feature does introduce the advertisement of host router capability information to all the OSPFv2 routers in an area, which can be used to discover and verify that all the routers in the area support the capability before the feature is turned on.

In the event that a rogue or buggy router advertises its capability incorrectly, there are three scenarios. If the router does not have the capability but sends the H-bit set in its LSAs, a routing loop is possible, but this is mitigated by the fact that the router should be avoided anyway and by its MaxLinkMetric link costs; a router advertising the H-bit capability without its link metric cost equal to MaxLinkMetric could be a rogue router and should be avoided. If the router has the capability but sends the H-bit clear, it merely prevents the other H-bit routers in the area from running the modified shortest path calculation, and the impacts are mitigated because those other routers also advertise the MaxLinkMetric cost and so are still avoided unless they are the last-resort path. If a rogue router is on the only transit path for some destinations and sends the H-bit set for no valid reason, it effectively partitions the network, but this case is indistinguishable from an operator consciously setting the bit to perform maintenance on a router that is on the only transit path, and OSPF continues to function within the partitioned domains.

A router that lies about this capability could cause loops or split the network. The safeguards are the maximum link cost it must also advertise, and the fact that a partitioned network still works inside each part.

§8References