OSPF K. Patel Internet-Draft Arrcus Updates: 6987 (if approved) P. Pillay-Esnault Intended status: Standards Track PPE Consulting Expires: June 20, 2020 M. Bhardwaj S. Bayraktar Cisco Systems December 18, 2019 Host Router Support for OSPFv2 draft-ietf-ospf-ospfv2-hbit-12 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 (Host-bit) that enables a router to advertise that it is a non-transit router. It also describes the changes needed to support the H-bit in the domain. In addition, this document updates RFC 6987 to advertise type-2 External and Not-So-Stubby-Area (NSSA) Link State Advertisements (LSAs) with a high cost in order to repel traffic effectively. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on June 20, 2020. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents Patel, et al. Expires June 20, 2020 [Page 1] Internet-Draft December 2019 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 3. Host-bit Support . . . . . . . . . . . . . . . . . . . . . . 3 4. SPF Modifications . . . . . . . . . . . . . . . . . . . . . . 5 5. Auto Discovery and Backward Compatibility . . . . . . . . . . 6 6. OSPF AS-External-LSAs/NSSA LSAs with Type 2 Metrics . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 10.1. Normative References . . . . . . . . . . . . . . . . . . 9 10.2. Informative References . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 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. To gracefully isolate a router to avoid blackhole scenarios when there is a reload and possible long reconvergence times. 2. Closet Switches are usually not used for transit traffic but need to participate in the topology. 3. Overloaded routers could use such a capability to temporarily repel traffic until they stabilize. 4. BGP Route reflectors known as virtual Route Reflectors (vRRs), that are not in the forwarding path but are in central locations Patel, et al. Expires June 20, 2020 [Page 2] Internet-Draft December 2019 such as data centers. Such Route Reflectors typically are used for route distribution and are not capable of forwarding transit traffic. However, they need to learn the OSPF topology to perform SPF computation for optimal routes and reachability resolution for its clients [I-D.ietf-idr-bgp-optimal-route-reflection]. This document describes the Host-bit (H-bit) functionality that prevents other OSPFv2 routers from using the host router by excluding it in path calculations for transit traffic in OSPFv2 routing domains. If the H-bit is set then the calculation of the shortest- path tree for an area, as described in section 16.1 of [RFC2328], is modified by including a check to verify that transit vertices DO NOT have the H-bit set (see Section 4). Furthermore, in order to repel traffic effectively, [RFC6987] is updated so that type-2 External and NSSA LSAs are advertised with a high cost (see Section 6). Open Shortest Path First Version 3 defines an option bit for router-LSAs known as the R-bit in [RFC5340] to support a similar functionality. 2. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "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 supporting the functionality. If the H-bit is not set then backwards compatibility is achieved as the behavior will be the same as in [RFC2328]. Patel, et al. Expires June 20, 2020 [Page 3] Internet-Draft December 2019 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. Patel, et al. Expires June 20, 2020 [Page 4] Internet-Draft December 2019 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 advertisement of prefixes from other routers in the area in its summary LSAs. Only IPv4 prefixes associated with its local interfaces MUST be advertised in summary-LSAs to provide reachability to end hosts attached to a router with the H-bit set. When the H-bit is set the host router cannot act as an AS Boundary Router (ASBR). Indeed, ASBR are transit routers to prefixes that are typically imported through redistribution of prefixes from other routing protocols. Therefore, non-local IPv4 prefixes, e.g., those imported from other routing protocols, SHOULD NOT be advertised in AS-external-LSAs if the H-bit is set. Some use cases, such as an overloaded router or a router being gracefully isolated, may benefit from continued advertisement of non-local prefixes. In these cases, the type 2-metric in AS-external-LSAs MUST be set to LSInfinity to repel traffic.(see Section 6 of this document). 4. SPF Modifications The SPF calculation described in section 16.1 [RFC2328] will be modified to ensure that the routers originating router-LSAs with the H-bit set will not be used for transit traffic. The Step 2 is modified to include a check on H-bit as shown below. (Please note all the sub-procedures of Step 2 remain unchanged and not included in the excerpt below.) Patel, et al. Expires June 20, 2020 [Page 5] Internet-Draft December 2019 2) Call the vertex just added to the tree vertex V. Examine the LSA associated with vertex V. This is a lookup in the Area A's link state database based on the Vertex ID. If this is a router-LSA, and the H-bit of the router-LSA is set, and vertex V is not the root, then the router should not be used for transit and step (3) should be executed immediately. If this is a router-LSA, and bit V of the router-LSA (see Section A.4.2) is set, set Area A's TransitCapability to TRUE. In any case, each link described by the LSA gives the cost to an adjacent vertex. For each described link, (say it joins vertex V to vertex W): 5. Auto Discovery and Backward Compatibility To reduce the possibility of any routing loops due to partial deployment, this document defines an OSPF Router Information (RI) LSA [RFC7770] capability. The RI LSA MUST be area-scoped. Bit: Bit Capabilities 7 Host Router Support capability Table 1: OSPF Router Information LSA Capabilities Auto Discovery via announcement of the Host Router Support Capability ensures that the H-bit functionality and its associated SPF changes MUST only take effect if all the routers in a given OSPF area support this functionality. In normal operation, 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 H-bit set then it may take some time for the RI to propagate to all routers. While it is propagating, the routers in the area will gradually detect the presence of a router not supporting the capability and revert back to normal SPF calculation. During the propagation time, the area as a whole is unsure of the status of the new router, and that can cause temporary transient loops. Patel, et al. Expires June 20, 2020 [Page 6] Internet-Draft December 2019 The following recommendations will mitigate transient routing loops: o Implementations are RECOMMENDED to provide a configuration parameter to manually override enforcement of the H-bit functionality in partial deployments where the topology guarantees that OSPFv2 routers not supporting the H-bit do not compute routes resulting in routing loops. o All routers with the H-bit set MUST advertise all of the router's non-stub links with a metric equal to MaxLinkMetric [RFC6987] in its LSAs in order to avoid OSPFv2 (unless last resort) routers not supporting the H-bit from attempting to use it for transit traffic. o All routers supporting 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 Host Router Support capability then the SPF Modifications (Section 4) MUST NOT be used in the area. 6. OSPF AS-External-LSAs/NSSA LSAs with Type 2 Metrics When calculating the path to 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, [RFC6987] is updated so that the Type-2 metric in any self-originated AS-External-LSAs or NSSA-LSAs is advertised as LSInfinity-1 [RFC2328]. If the H-bit is set, then the Type-2 metric MUST be set to LSInfinity. 7. IANA Considerations This document requests the IANA to assign the 0x80 value to the Host- Bit (H-bit)in the OSPFv2 Router Properties Registry Value Description Reference 0x80 Host (H-bit) This Document This document requests the IANA to assign the Bit Number value of 7 to the Host Router Support Capability in the OSPF Router Informational Capability Bits Registry. Patel, et al. Expires June 20, 2020 [Page 7] Internet-Draft December 2019 Bit Number Capability Name Reference 7 OSPF Host Router This Document 8. Security Considerations This document introduces the H-bit which is a capability that restricts the use of a router for transit, while only its local destinations are reachable. This is a subset of the operations of a normal router and therefore should not introduce new security considerations beyond those already known in OSPFv2 [RFC2328]. The feature introduces the advertising of a 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 advertises incorrectly its capability the possible cases are: o The router does not have the capability but sends the H-Bit set in its LSAs: In this case, there is a possibility of a routing loop. However this is mitigated by the fact that this router should be avoided anyway. Moreover, the link metrics cost (MaxLinkMetric) of this router will mitigate this situation. In any case, a router advertising the H-bit capability without its links cost equal to MaxLinkMetric may be an indicator that this is a rogue router and should be avoided. o The router has the capability but sends the H-Bit clear in its LSAs: In this case, the router merely prevents support of other H-bit routers in the area and all the routers to run the modified SPF. The impact is also mitigated as other H-Bit routers in the area also advertise MaxLinkMetric cost so they will still be avoided unless they are the last resort path. o The rogue router is on the only transit path for some destinations and sends the H-Bit set (for no good/valid reason) in its LSAs and effectively partition the network. This case is indistinguishable from the normal case where the operator may consciously decide to set the H-bit to perform maintenance on a router that is on the only transit path. The OSPF protocol will continue to function within the partitioned domains. 9. Acknowledgements The authors would like to acknowledge Hasmit Grover for discovery of the limitation in [RFC6987], Acee Lindem, Abhay Roy, David Ward, Burjiz Pithawala, and Michael Barnes for their comments. Patel, et al. Expires June 20, 2020 [Page 8] Internet-Draft December 2019 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, DOI 10.17487/RFC2328, April 1998, . [RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. McPherson, "OSPF Stub Router Advertisement", RFC 6987, DOI 10.17487/RFC6987, September 2013, . [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, February 2016, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 10.2. Informative References [I-D.ietf-idr-bgp-optimal-route-reflection] Raszuk, R., Cassar, C., Aman, E., Decraene, B., and K. Wang, "BGP Optimal Route Reflection (BGP-ORR)", draft- ietf-idr-bgp-optimal-route-reflection-19 (work in progress), July 2019. [RFC3101] Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option", RFC 3101, DOI 10.17487/RFC3101, January 2003, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . Authors' Addresses Patel, et al. Expires June 20, 2020 [Page 9] Internet-Draft December 2019 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 USA Email: manbhard@cisco.com Serpil Bayraktar Cisco Systems 170 W. Tasman Drive San Jose, CA 95134 USA Email: serpil@cisco.com Patel, et al. Expires June 20, 2020 [Page 10]