Internet Engineering Task Force (IETF) A. Wang Request for Comments: 9084 China Telecom Category: Standards Track A. Lindem ISSN: 2070-1721 Cisco Systems, Inc. J. Dong Huawei Technologies P. Psenak K. Talaulikar, Ed. Cisco Systems, Inc. August 2021 OSPF Prefix Originator Extensions Abstract This document defines OSPF extensions to include information associated with the node originating a prefix along with the prefix advertisement. These extensions do not change the core OSPF route computation functionality but provide useful information for network analysis, troubleshooting, and use cases like traffic engineering. 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/rfc9084. Copyright Notice Copyright (c) 2021 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 1.1. Requirements Language 2. Protocol Extensions 2.1. Prefix Source OSPF Router-ID Sub-TLV 2.2. Prefix Source Router Address Sub-TLV 3. Elements of Procedure 4. Security Considerations 5. Operational Considerations 6. IANA Considerations 7. References 7.1. Normative References 7.2. Informative References Acknowledgement Authors' Addresses 1. Introduction Prefix attributes are advertised in OSPFv2 [RFC2328] using the Extended Prefix Opaque Link State Advertisement (LSA) [RFC7684] and in OSPFv3 [RFC5340] using the various Extended Prefix LSA types [RFC8362]. The procedures for identification of the originating router for a prefix in OSPF vary by the type of the prefix and, currently, it is not always possible to produce an accurate result. For intra-area prefixes, the originating router is identified by the Advertising Router field of the area-scoped LSA used for those prefix advertisements. However, for inter-area prefixes advertised by an Area Border Router (ABR), the Advertising Router field of their area- scoped LSAs is set to the ABR itself and the information about the router originating the prefix advertisement is lost in the process of prefix propagation across areas. For Autonomous System (AS) external prefixes, the originating router may be considered as the Autonomous System Border Router (ASBR) and is identified by the Advertising Router field of the AS-scoped LSA used. However, the actual originating router for the prefix may be a remote router outside the OSPF domain. Similarly, when an ABR performs translation of Not-So- Stubby Area (NSSA) [RFC3101] LSAs to AS-external LSAs, the information associated with the NSSA ASBR (or the router outside the OSPF domain) is not propagated across the OSPF domain. While typically the originator of information in OSPF is identified by its OSPF Router ID, it does not necessarily represent a reachable address for the router since the OSPF Router ID is a 32-bit number that is unique in the OSPF domain. For OSPFv2, a common practice is to use one of the IPv4 addresses of the node (e.g., a loopback interface) as the OSPF Router ID. However, this cannot always be assumed and this approach does not apply to IPv6 addresses with OSPFv3. The IPv4/IPv6 Router Address, as respectively defined in [RFC3630] and [RFC5329] for OSPFv2 and OSPFv3, provides an address to reach the advertising router. The primary use case for the extensions proposed in this document is to be able to identify the originator of a prefix in the network. In cases where multiple prefixes are advertised by a given router, it is also useful to be able to associate all these prefixes with a single router even when prefixes are advertised outside of the area in which they originated. It also helps to determine when the same prefix is being originated by multiple routers across areas. This document proposes extensions to the OSPF protocol for the inclusion of information associated with the router originating the prefix along with the prefix advertisement. These extensions do not change the core OSPF route computation functionality. They provide useful information for topology analysis and traffic engineering, especially on a controller when this information is advertised as an attribute of the prefixes via mechanisms such as Border Gateway Protocol - Link State (BGP-LS) [RFC7752] [RFC9085]. 1.1. 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. 2. Protocol Extensions This document defines the Prefix Source OSPF Router-ID and the Prefix Source Router Address Sub-TLVs. They are used, respectively, to include the Router ID of, and a reachable address of, the router that originates the prefix as a prefix attribute. 2.1. Prefix Source OSPF Router-ID Sub-TLV For OSPFv2, the Prefix Source OSPF Router-ID Sub-TLV is an optional sub-TLV of the OSPFv2 Extended Prefix TLV [RFC7684]. For OSPFv3, the Prefix Source OSPF Router-ID Sub-TLV is an optional sub-TLV of the Intra-Area-Prefix TLV, Inter-Area-Prefix TLV, and External-Prefix TLV [RFC8362] when originating either an IPv4 [RFC5838] or an IPv6 prefix advertisement. The Prefix Source OSPF Router-ID Sub-TLV has the following format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSPF Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Prefix Source OSPF Router-ID Sub-TLV Format Where: Type: 4 for OSPFv2 and 27 for OSPFv3 Length: 4 OSPF Router ID: the OSPF Router ID of the OSPF router that originated the prefix advertisement in the OSPF domain The parent TLV of a prefix advertisement MAY include more than one Prefix Source OSPF Router-ID Sub-TLV, one corresponding to each of the Equal-Cost Multipath (ECMP) nodes that originated the advertised prefix. For intra-area prefix advertisements, the Prefix Source OSPF Router- ID Sub-TLV MUST be considered invalid and ignored if the OSPF Router ID field is not the same as the Advertising Router field in the containing LSA. Similar validation cannot be reliably performed for inter-area and external prefix advertisements. A received Prefix Source OSPF Router-ID Sub-TLV with the OSPF Router ID field set to 0 MUST be considered invalid and ignored. Additionally, reception of such sub-TLVs SHOULD be logged as an error (subject to rate limiting). 2.2. Prefix Source Router Address Sub-TLV For OSPFv2, the Prefix Source Router Address Sub-TLV is an optional sub-TLV of the OSPFv2 Extended Prefix TLV [RFC7684]. For OSPFv3, the Prefix Source Router Address Sub-TLV is an optional sub-TLV of the Intra-Area-Prefix TLV, Inter-Area-Prefix TLV, and External-Prefix TLV [RFC8362] when originating either an IPv4 [RFC5838] or an IPv6 prefix advertisement. The Prefix Source Router Address Sub-TLV has the following format: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router Address (4 or 16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Prefix Source Router Address Sub-TLV Format Where: Type: 5 for OSPFv2 and 28 for OSPFv3 Length: 4 or 16 Router Address: A reachable IPv4 or IPv6 router address for the router that originated the IPv4 or IPv6 prefix advertisement, respectively. Such an address would be semantically equivalent to what may be advertised in the OSPFv2 Router Address TLV [RFC3630] or in the OSPFv3 Router IPv6 Address TLV [RFC5329]. The parent TLV of a prefix advertisement MAY include more than one Prefix Source Router Address Sub-TLV, one corresponding to each of the Equal-Cost Multipath (ECMP) nodes that originated the advertised prefix. A received Prefix Source Router Address Sub-TLV that has an invalid length (i.e., not consistent with the prefix's address family) MUST be considered invalid and ignored. Additionally, reception of such sub-TLVs SHOULD be logged as an error (subject to rate limiting). 3. Elements of Procedure This section describes the procedure for the advertisement of the Prefix Source OSPF Router-ID and Prefix Source Router Address Sub- TLVs along with the prefix advertisement. The OSPF Router ID of the Prefix Source OSPF Router-ID is set to the OSPF Router ID of the node originating the prefix in the OSPF domain. If the originating node is advertising an OSPFv2 Router Address TLV [RFC3630] or an OSPFv3 Router IPv6 Address TLV [RFC5329], then the same address MUST be used in the Router Address field of the Prefix Source Router Address Sub-TLV. When the originating node is not advertising such an address, implementations can select a unique and reachable local address (for example, advertised with the N-Flag set [RFC7684] or N-bit set [RFC8362]) on the originating node to advertise in the Router Address field. When an ABR generates inter-area prefix advertisements into its non- backbone areas corresponding to an inter-area prefix advertisement from the backbone area, the only way to determine the originating node information is based on the Prefix Source OSPF Router-ID and Prefix Source Router Address Sub-TLVs present in the inter-area prefix advertisement originated into the backbone area by an ABR from another non-backbone area. The ABR performs its prefix calculation to determine the set of nodes that contribute to ECMP paths for the prefix. It MUST only use the prefix originator information from this set of nodes. The ABR MUST NOT include the Prefix Source OSPF Router-ID or the Prefix Source Router Address Sub-TLVs when it is unable to determine the information for the originating nodes contributing ECMP paths. Implementations may support the propagation of the originating node information along with a redistributed prefix into the OSPF domain from another routing domain. The details of such mechanisms are outside the scope of this document. Such implementations may also provide control on whether the Router Address in the Prefix Source Router Address Sub-TLV is set as the ASBR node address or as the address of the actual node outside the OSPF domain that owns the prefix. When translating NSSA prefix advertisements [RFC3101] to AS external prefix advertisements, the NSSA ABR follows the same procedures as an ABR generating inter-area prefix advertisements for the propagation of the originating node information. 4. Security Considerations Since this document extends the OSPFv2 Extended Prefix LSA, the security considerations for [RFC7684] are applicable. Similarly, since this document extends the OSPFv3 E-Intra-Area-Prefix-LSA, E- Inter-Area-Prefix-LSA, E-AS-External-LSA, and E-NSSA-LSA, the security considerations for [RFC8362] are applicable. The new sub- TLVs introduced in this document are optional and do not affect the OSPF route computation and therefore do not affect the security aspects of OSPF protocol operations. A rogue node that can inject prefix advertisements may use the extensions introduced in this document to advertise bogus prefix source information. 5. Operational Considerations Consideration should be given to the operational impact of the increase in the size of the OSPF Link-State Database as a result of the protocol extensions in this document. Based on deployment design and requirements, a subset of prefixes may be identified for which originating node information is required to be included in prefix advertisements. The propagation of prefix source node information for prefix advertisements advertised across an OSPF area or domain boundaries will expose information outside of an area or domain where it would normally be hidden or abstracted by the base OSPF protocol. Based on deployment design and requirements, the propagation of node information across area or domain boundaries may be limited to a subset of prefixes in the ABRs or ASBRs, respectively. The identification of the node that is originating a specific prefix in the network may aid in the debugging of issues related to prefix reachability within an OSPF network. 6. IANA Considerations Per this document, IANA has allocated the following codepoints from the "OSPFv2 Extended Prefix TLV Sub-TLVs" registry under the "Open Shortest Path First v2 (OSPFv2) Parameters" registry. +=======+==============================+===========+ | Value | Description | Reference | +=======+==============================+===========+ | 4 | Prefix Source OSPF Router-ID | RFC 9084 | +-------+------------------------------+-----------+ | 5 | Prefix Source Router Address | RFC 9084 | +-------+------------------------------+-----------+ Table 1: Codepoints in OSPFv2 Extended Prefix TLV Sub-TLVs Per this document, IANA has allocated the following codepoints from the "OSPFv3 Extended-LSA Sub-TLVs" registry under the "Open Shortest Path First v3 (OSPFv3) Parameters" registry. +=======+==============================+===========+ | Value | Description | Reference | +=======+==============================+===========+ | 27 | Prefix Source OSPF Router-ID | RFC 9084 | +-------+------------------------------+-----------+ | 28 | Prefix Source Router Address | RFC 9084 | +-------+------------------------------+-----------+ Table 2: Codepoints in OSPFv3 Extended-LSA Sub-TLVs 7. References 7.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, . [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, DOI 10.17487/RFC3630, September 2003, . [RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed., "Traffic Engineering Extensions to OSPF Version 3", RFC 5329, DOI 10.17487/RFC5329, September 2008, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 2015, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 2018, . 7.2. Informative References [RFC3101] Murphy, P., "The OSPF Not-So-Stubby Area (NSSA) Option", RFC 3101, DOI 10.17487/RFC3101, January 2003, . [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and R. Aggarwal, "Support of Address Families in OSPFv3", RFC 5838, DOI 10.17487/RFC5838, April 2010, . [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and S. Ray, "North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP", RFC 7752, DOI 10.17487/RFC7752, March 2016, . [RFC9085] Previdi, S., Talaulikar, K., Ed., Filsfils, C., Gredler, H., and M. Chen, "Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing", RFC 9085, DOI 10.17487/RFC9085, August 2021, . Acknowledgement Many thanks to Les Ginsberg for his suggestions on this document. Also, thanks to Jeff Tantsura, Rob Shakir, Gunter Van de Velde, Goethals Dirk, Smita Selot, Shaofu Peng, John E. Drake, and Baalajee S. for their review and valuable comments. The authors would also like to thank Alvaro Retana for his detailed review and suggestions for the improvement of this document. Authors' Addresses Aijun Wang China Telecom Beiqijia Town Changping District Beijing 102209 China Email: wangaj3@chinatelecom.cn Acee Lindem Cisco Systems, Inc. 301 Midenhall Way Cary, NC 27513 United States of America Email: acee@cisco.com Jie Dong Huawei Technologies Huawei Campus, No. 156 Beiqing Rd. Beijing 100095 China Email: jie.dong@huawei.com Peter Psenak Cisco Systems, Inc. Eurovea Centre, Central 3 Pribinova Street 10 81109 Bratislava Slovakia Email: ppsenak@cisco.com Ketan Talaulikar (editor) Cisco Systems, Inc. India Email: ketant@cisco.com