Internet Engineering Task Force (IETF) M. Chen Request for Comments: 9346 Huawei Obsoletes: 5316 L. Ginsberg Category: Standards Track Cisco Systems ISSN: 2070-1721 S. Previdi Huawei Technologies X. Duan China Mobile February 2023 IS-IS Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering Abstract This document describes extensions to the Intermediate System to Intermediate System (IS-IS) protocol to support Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering (TE) for multiple Autonomous Systems (ASes). It defines IS-IS extensions for the flooding of TE information about inter-AS links, which can be used to perform inter-AS TE path computation. No support for flooding information from within one AS to another AS is proposed or defined in this document. This document builds on RFC 5316 by adding support for IPv6-only operation. This document obsoletes RFC 5316. 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/rfc9346. Copyright Notice Copyright (c) 2023 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction 1.1. Requirements Language 2. Problem Statement 2.1. A Note on Non-objectives 2.2. Per-Domain Path Determination 2.3. Backward-Recursive Path Computation 3. Extensions to IS-IS TE 3.1. Choosing the TE Router ID Value 3.2. Inter-AS Reachability Information TLV 3.3. TE Router ID 3.4. Sub-TLVs for Inter-AS Reachability Information TLV 3.4.1. Remote AS Number Sub-TLV 3.4.2. IPv4 Remote ASBR Identifier Sub-TLV 3.4.3. IPv6 Remote ASBR Identifier Sub-TLV 3.4.4. IPv6 Local ASBR Identifier Sub-TLV 3.5. Sub-TLVs for IS-IS Router CAPABILITY TLV 3.5.1. IPv4 TE Router ID Sub-TLV 3.5.2. IPv6 TE Router ID Sub-TLV 4. Procedure for Inter-AS TE Links 4.1. Origin of Proxied TE Information 5. Security Considerations 6. IANA Considerations 6.1. Inter-AS Reachability Information TLV 6.2. Sub-TLVs for the Inter-AS Reachability Information TLV 6.3. Sub-TLVs for the IS-IS Router CAPABILITY TLV 7. References 7.1. Normative References 7.2. Informative References Appendix A. Changes to RFC 5316 Acknowledgements Authors' Addresses 1. Introduction [RFC5305] defines extensions to the IS-IS protocol [RFC1195] to support intra-area Traffic Engineering (TE). The extensions provide a way of encoding the TE information for TE-enabled links within the network (TE links) and flooding this information within an area. The extended IS reachability TLV and Traffic Engineering router ID TLV, which are defined in [RFC5305], are used to carry such TE information. The extended IS reachability TLV has several nested sub-TLVs that describe the TE attributes for a TE link. [RFC6119] and [RFC5307] define similar extensions to IS-IS in support of IPv6 and GMPLS TE, respectively. Requirements for establishing Multiprotocol Label Switching (MPLS) TE Label Switched Paths (LSPs) that cross multiple Autonomous Systems (ASes) are described in [RFC4216]. As described in [RFC4216], a method SHOULD provide the ability to compute a path spanning multiple ASes. So a path computation entity that may be the head-end Label Switching Router (LSR), an AS Border Router (ASBR), or a Path Computation Element (PCE) [RFC4655] needs to know the TE information not only of the links within an AS but also of the links that connect to other ASes. In this document, the Inter-AS Reachability Information TLV is defined to advertise inter-AS TE information, and four sub-TLVs are defined for inclusion in the Inter-AS Reachability Information TLV to carry the information about the Remote AS Number, Remote ASBR Identifier, and IPv6 Local ASBR Identifier. The sub-TLVs defined in [RFC5305], [RFC6119], and other documents for inclusion in the extended IS reachability TLV for describing the TE properties of a TE link are applicable to be included in the Inter-AS Reachability Information TLV for describing the TE properties of an inter-AS TE link as well. Also, two more sub-TLVs are defined for inclusion in the IS-IS Router CAPABILITY TLV to carry the TE Router ID when the TE Router ID is needed to reach all routers within an entire IS-IS routing domain. The extensions are equally applicable to IPv4 and IPv6 as identical extensions to [RFC5305] and [RFC6119]. Detailed definitions and procedures are discussed in the following sections. This document does not propose or define any mechanisms to advertise any other extra-AS TE information within IS-IS. See Section 2.1 for a full list of non-objectives for this work. 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. Problem Statement As described in [RFC4216], in the case of establishing an inter-AS TE LSP that traverses multiple ASes, the Path message [RFC3209] may include the following elements in the Explicit Route Object (ERO) in order to describe the path of the LSP: * a set of AS numbers as loose hops and/or * a set of LSRs including ASBRs as loose hops. Two methods for determining inter-AS paths have been described elsewhere. The per-domain method [RFC5152] determines the path one domain at a time. The backward-recursive method [RFC5441] uses cooperation between PCEs to determine an optimum inter-domain path. The sections that follow examine how inter-AS TE link information could be useful in both cases. 2.1. A Note on Non-objectives It is important to note that this document does not make any change to the confidentiality and scaling assumptions surrounding the use of ASes in the Internet. In particular, this document is conformant to the requirements set out in [RFC4216]. The following features are explicitly excluded: * There is no attempt to distribute TE information from within one AS to another AS. * There is no mechanism proposed to distribute any form of TE reachability information for destinations outside the AS. * There is no proposed change to the PCE architecture or usage. * TE aggregation is not supported or recommended. * There is no exchange of private information between ASes. * No IS-IS adjacencies are formed on the inter-AS link. 2.2. Per-Domain Path Determination In the per-domain method of determining an inter-AS path for an MPLS- TE LSP, when an LSR that is an entry-point to an AS receives a Path message from an upstream AS with an ERO containing a next hop that is an AS number, it needs to find which LSRs (ASBRs) within the local AS are connected to the downstream AS. That way, it can compute a TE LSP segment across the local AS to one of those LSRs and forward the Path message to that LSR and hence into the next AS. See Figure 1 for an example. R1------R3----R5-----R7------R9-----R11 | | \ | / | | | \ | ---- | | | \ | / | R2------R4----R6 --R8------R10----R12 : : <-- AS1 -->:<---- AS2 --->:<--- AS3 ---> Figure 1: Inter-AS Reference Model The figure shows three ASes (AS1, AS2, and AS3) and twelve LSRs (R1 through R12). R3 and R4 are ASBRs in AS1. R5, R6, R7, and R8 are ASBRs in AS2. R9 and R10 are ASBRs in AS3. If an inter-AS TE LSP is planned to be established from R1 to R12, the AS sequence will be: AS1, AS2, AS3. Suppose that the Path message enters AS2 from R3. The next hop in the ERO shows AS3, and R5 must determine a path segment across AS2 to reach AS3. It has a choice of three exit points from AS2 (R6, R7, and R8), and it needs to know which of these provide TE connectivity to AS3 and whether the TE connectivity (for example, available bandwidth) is adequate for the requested LSP. Alternatively, if the next hop in the ERO is an entry ASBR for AS3 (say R9), R5 needs to know which of its exit ASBRs has a TE link that connects to R9. Since there may be multiple ASBRs that are connected to R9 (both R7 and R8 in this example), R5 also needs to know the TE properties of the inter-AS TE links so that it can select the correct exit ASBR. Once the Path message reaches the exit ASBR, any choice of inter-AS TE link can be made by the ASBR if not already made by the entry ASBR that computed the segment. More details can be found in Section 4 of [RFC5152], which clearly points out why advertising of inter-AS links is desired. To enable R5 to make the correct choice of exit ASBR, the following information is needed: * List of all inter-AS TE links for the local AS. * TE properties of each inter-AS TE link. * AS number of the neighboring AS connected to by each inter-AS TE link. * Identity (TE Router ID) of the neighboring ASBR connected to by each inter-AS TE link. In GMPLS networks, further information may also be required to select the correct TE links as defined in [RFC5307]. The example above shows how this information is needed at the entry- point ASBRs for each AS (or the PCEs that provide computation services for the ASBRs). However, this information is also needed throughout the local AS if path computation functionality is fully distributed among LSRs in the local AS, for example, to support LSPs that have start points (ingress nodes) within the AS. 2.3. Backward-Recursive Path Computation Another scenario using PCE techniques has the same problem. [RFC5441] defines a PCE-based TE LSP computation method (called "Backward-Recursive Path Computation (BRPC)") to compute optimal inter-domain constrained MPLS-TE or GMPLS LSPs. In this path computation method, a specific set of traversed domains (ASes) are assumed to be selected before computation starts. Each downstream PCE in domain(i) returns to its upstream neighbor PCE in domain(i-1) a multipoint-to-point tree of potential paths. Each tree consists of the set of paths from all boundary nodes located in domain(i) to the destination where each path satisfies the set of required constraints for the TE LSP (bandwidth, affinities, etc.). So a PCE needs to select boundary nodes (that is, ASBRs) that provide connectivity from the upstream AS. In order for the tree of paths provided by one PCE to its neighbor to be correlated, the identities of the ASBRs for each path need to be referenced. Thus, the PCE must know the identities of the ASBRs in the remote AS that are reached by any inter-AS TE link, and, in order to provide only suitable paths in the tree, the PCE must know the TE properties of the inter-AS TE links. See the following figure as an example. PCE1<------>PCE2<-------->PCE3 / : : / : : R1------R3----R5-----R7------R9-----R11 | | \ | / | | | \ | ---- | | | \ | / | R2------R4----R6 --R8------R10----R12 : : <-- AS1 -->:<---- AS2 --->:<--- AS3 ---> Figure 2: BRPC for Inter-AS Reference Model The figure shows three ASes (AS1, AS2, and AS3), three PCEs (PCE1, PCE2, and PCE3), and twelve LSRs (R1 through R12). R3 and R4 are ASBRs in AS1. R5, R6, R7, and R8 are ASBRs in AS2. R9 and R10 are ASBRs in AS3. PCE1, PCE2, and PCE3 cooperate to perform inter-AS path computation and are responsible for path segment computation within their own domain(s). If an inter-AS TE LSP is planned to be established from R1 to R12, the traversed domains are assumed to be selected (AS1->AS2->AS3), and the PCE chain is PCE1->PCE2->PCE3. First, the path computation request originated from the Path Computation Client (PCC) (R1) is relayed by PCE1 and PCE2 along the PCE chain to PCE3. Then, PCE3 begins to compute the path segments from the entry boundary nodes that provide connection from AS2 to the destination (R12). But, to provide suitable path segments, PCE3 must determine which entry boundary nodes provide connectivity to its upstream neighbor AS (identified by its AS number) and must know the TE properties of the inter-AS TE links. In the same way, PCE2 also needs to determine the entry boundary nodes according to its upstream neighbor AS and the inter-AS TE link capabilities. Thus, to support BRPC, the same information listed in Section 2.2 is required. The AS number of the neighboring AS connected to by each inter-AS TE link is particularly important. 3. Extensions to IS-IS TE Note that this document does not define mechanisms for distribution of TE information from one AS to another, does not distribute any form of TE reachability information for destinations outside the AS, does not change the PCE architecture or usage, does not suggest or recommend any form of TE aggregation, and does not feed private information between ASes. See Section 2.1. In this document, the Inter-AS Reachability Information TLV is defined for the advertisement of inter-AS TE links. Four sub-TLVs are also defined for inclusion in the Inter-AS Reachability Information TLV to carry the information about the neighboring AS number, the Remote ASBR Identifier, and IPv6 Local ASBR Identifier of an inter-AS link. The sub-TLVs defined in [RFC5305], [RFC6119], and other documents for inclusion in the extended IS reachability TLV are applicable to be included in the Inter-AS Reachability Information TLV for the advertisement of inter-AS TE links. This document also defines two sub-TLVs for inclusion in the IS-IS Router CAPABILITY TLV to carry the TE Router ID when the TE Router ID is needed to reach all routers within an entire IS-IS routing domain. While some of the TE information of an inter-AS TE link may be available within the AS from other protocols, in order to avoid any dependency on where such protocols are processed, this mechanism carries all the information needed for the required TE operations. 3.1. Choosing the TE Router ID Value Subsequent sections specify advertisement of a TE Router ID value for IPv4 and/or IPv6. This section defines how this value is chosen. A TE Router ID MUST be an address that is unique within the IS-IS domain and stable, i.e., it can always be referenced in a path that will be reachable from multiple hops away, regardless of the state of the node's interfaces. When advertising an IPv4 address as a TE Router ID, if the Traffic Engineering router ID TLV [RFC5305] is being advertised, then the address SHOULD be identical to the address in the Traffic Engineering router ID TLV. The TE Router ID MAY be identical to an IP Interface Address [RFC1195] advertised by the originating IS so long as the address meets the requirements specified above. When advertising an IPv6 address as a TE Router ID, if the IPv6 TE Router ID TLV [RFC6119] is being advertised, then the address SHOULD be identical to the address in the IPv6 TE Router ID TLV. The TE Router ID MAY be identical to a non-link-local IPv6 Interface Address advertised by the originating IS in a Link State PDU using the IPv6 Interface Address TLV [RFC5308] so long as the address meets the requirements specified above. 3.2. Inter-AS Reachability Information TLV The Inter-AS Reachability Information TLV has type 141 (see Section 6.1) and contains a data structure consisting of: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Router ID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Default Metric | (3 octets) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | (1 octet) +-+-+-+-+-+-+-+-+ |Sub-TLVs Length| (1 octet) +-+-+-+-+-+-+-+-+-+-+-+- | Sub-TLVs ... (0-246 octets) +-+-+-+-+-+-+-+-+-+-+-+- Flags consists of the following: 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |S|D| Rsvd | +-+-+-+-+-+-+-+-+ where: S bit: If the S bit is set(1), the Inter-AS Reachability Information TLV MUST be flooded across the entire routing domain. If the S bit is not set(0), the TLV MUST NOT be leaked between levels. This bit MUST NOT be altered during the TLV leaking. D bit: When the Inter-AS Reachability Information TLV is leaked from Level 2 (L2) to Level 1 (L1), the D bit MUST be set. Otherwise, this bit MUST be clear. Inter-AS Reachability Information TLVs with the D bit set MUST NOT be leaked from Level 1 to Level 2. This is to prevent TLV looping. Reserved (Rsvd): Reserved bits MUST be zero when originated and ignored when received. Compared to the extended IS reachability TLV, which is defined in [RFC5305], the Inter-AS Reachability Information TLV replaces the "7 octets of System ID and Pseudonode Number" field with a "4 octets of Router ID" field and introduces an extra "control information" field, which consists of a flooding-scope bit (S bit), an up/down bit (D bit), and 6 reserved bits. The Router ID field of the Inter-AS Reachability Information TLV is 4 octets in length and has a value as defined in Section 3.1. If the originating node does not support IPv4, then the reserved value 0.0.0.0 MUST be used in the Router ID field, and the IPv6 Router ID sub-TLV MUST be present in the Inter-AS Reachability Information TLV. The Router ID could be used to indicate the source of the Inter-AS Reachability Information TLV. The flooding procedures for the Inter-AS Reachability Information TLV are identical to the flooding procedures for the GENINFO TLV, which are defined in Section 4 of [RFC6823]. These procedures have been previously discussed in [RFC7981]. The flooding-scope bit (S bit) SHOULD be set to 0 if the flooding scope is to be limited to within the single IGP area to which the ASBR belongs. It MAY be set to 1 if the information is intended to reach all routers (including area border routers, ASBRs, and PCEs) in the entire IS-IS routing domain. The choice between the use of 0 or 1 is an AS-wide policy choice, and configuration control SHOULD be provided in ASBR implementations that support the advertisement of inter-AS TE links. The sub-TLVs defined in [RFC5305], [RFC6119], and other documents for describing the TE properties of a TE link are also applicable to the Inter-AS Reachability Information TLV for describing the TE properties of an inter-AS TE link. Apart from these sub-TLVs, four sub-TLVs are defined for inclusion in the Inter-AS Reachability Information TLV defined in this document: +==============+========+=============================+ | Sub-TLV type | Length | Name | +==============+========+=============================+ | 24 | 4 | Remote AS Number | +--------------+--------+-----------------------------+ | 25 | 4 | IPv4 Remote ASBR Identifier | +--------------+--------+-----------------------------+ | 26 | 16 | IPv6 Remote ASBR Identifier | +--------------+--------+-----------------------------+ | 45 | 16 | IPv6 Local ASBR Identifier | +--------------+--------+-----------------------------+ Table 1 Detailed definitions of these four sub-TLVs are described in Sections 3.4.1, 3.4.2, 3.4.3, and 3.4.4. 3.3. TE Router ID The Traffic Engineering router ID TLV and IPv6 TE Router ID TLV, which are defined in [RFC5305] and [RFC6119], respectively, only have area flooding scope. When performing inter-AS TE, the TE Router ID MAY be needed to reach all routers within an entire IS-IS routing domain, and it MUST have the same flooding scope as the Inter-AS Reachability Information TLV does. [RFC7981] defines a generic advertisement mechanism for IS-IS, which allows a router to advertise its capabilities within an IS-IS area or an entire IS-IS routing domain. [RFC7981] also points out that the TE Router ID is a candidate to be carried in the IS-IS Router CAPABILITY TLV when performing inter-area TE. This document uses such mechanism for TE Router ID advertisement when the TE Router ID is needed to reach all routers within an entire IS- IS routing domain. Two sub-TLVs are defined for inclusion in the IS- IS Router CAPABILITY TLV to carry the TE Router IDs. +==============+========+===================+ | Sub-TLV type | Length | Name | +==============+========+===================+ | 11 | 4 | IPv4 TE Router ID | +--------------+--------+-------------------+ | 12 | 16 | IPv6 TE Router ID | +--------------+--------+-------------------+ Table 2 Detailed definitions of these sub-TLVs are described in Sections 3.4.1 and 3.4.2. 3.4. Sub-TLVs for Inter-AS Reachability Information TLV 3.4.1. Remote AS Number Sub-TLV The Remote AS Number sub-TLV is defined for inclusion in the Inter-AS Reachability Information TLV when advertising inter-AS links. The Remote AS Number sub-TLV specifies the AS number of the neighboring AS to which the advertised link connects. The Remote AS Number sub-TLV is TLV type 24 (see Section 6.2) and is 4 octets in length. The format is as follows: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote AS Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The Remote AS Number field has 4 octets. When only 2 octets are used for the AS number, the left (high-order) 2 octets MUST be set to 0. The Remote AS Number sub-TLV MUST be included when a router advertises an inter-AS TE link. 3.4.2. IPv4 Remote ASBR Identifier Sub-TLV The IPv4 Remote ASBR Identifier sub-TLV is defined for inclusion in the Inter-AS Reachability Information TLV when advertising inter-AS links. The IPv4 Remote ASBR Identifier sub-TLV specifies the IPv4 identifier of the remote ASBR to which the advertised inter-AS link connects. The value advertised is selected as defined in Section 3.1. The IPv4 Remote ASBR Identifier sub-TLV is TLV type 25 (see Section 6.2) and is 4 octets in length. The format of the IPv4 Remote ASBR Identifier sub-TLV is as follows: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote ASBR Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The IPv4 Remote ASBR Identifier sub-TLV MUST be included if the neighboring ASBR has an IPv4 address. If the neighboring ASBR does not have an IPv4 address, the IPv6 Remote ASBR Identifier sub-TLV MUST be included instead. An IPv4 Remote ASBR Identifier sub-TLV and IPv6 Remote ASBR Identifier sub-TLV MAY both be present in an extended IS reachability TLV. 3.4.3. IPv6 Remote ASBR Identifier Sub-TLV The IPv6 Remote ASBR Identifier sub-TLV is defined for inclusion in the Inter-AS Reachability Information TLV when advertising inter-AS links. The IPv6 Remote ASBR Identifier sub-TLV specifies the IPv6 identifier of the remote ASBR to which the advertised inter-AS link connects. The value advertised is selected as defined in Section 3.1. The IPv6 Remote ASBR Identifier sub-TLV is TLV type 26 (see Section 6.2) and is 16 octets in length. The format of the IPv6 Remote ASBR Identifier sub-TLV is as follows: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote ASBR Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote ASBR Identifier (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote ASBR Identifier (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote ASBR Identifier (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The IPv6 Remote ASBR Identifier sub-TLV MUST be included if the neighboring ASBR has an IPv6 address. If the neighboring ASBR does not have an IPv6 address, the IPv4 Remote ASBR Identifier sub-TLV MUST be included instead. An IPv4 Remote ASBR Identifier sub-TLV and IPv6 Remote ASBR Identifier sub-TLV MAY both be present in an extended IS reachability TLV. 3.4.4. IPv6 Local ASBR Identifier Sub-TLV The IPv6 Local ASBR Identifier sub-TLV is defined for inclusion in the Inter-AS Reachability Information TLV when advertising inter-AS links. The IPv6 Local ASBR Identifier sub-TLV specifies the IPv6 identifier of the remote ASBR to which the advertised inter-AS link connects. The value advertised is selected as defined in Section 3.1. The IPv6 Local ASBR Identifier sub-TLV is TLV type 45 (see Section 6.2) and is 16 octets in length. The format of the IPv6 Local ASBR Identifier sub-TLV is as follows: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local ASBR Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local ASBR Identifier (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local ASBR Identifier (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local ASBR Identifier (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ If the originating node does not support IPv4, the IPv6 Local ASBR Identifier sub-TLV MUST be present in the Inter-AS Reachability Information TLV. Inter-AS Reachability Information TLVs that have a Router ID of 0.0.0.0 and do not have the IPv6 Local ASBR Identifier sub-TLV present MUST be ignored. 3.5. Sub-TLVs for IS-IS Router CAPABILITY TLV 3.5.1. IPv4 TE Router ID Sub-TLV The IPv4 TE Router ID sub-TLV is TLV type 11 (see Section 6.3) and is 4 octets in length. The format of the IPv4 TE Router ID sub-TLV is as follows: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TE Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The value advertised is selected as defined in Section 3.1. When the TE Router ID is needed to reach all routers within an entire IS-IS routing domain, the IS-IS Router CAPABILITY TLV MUST be included in its LSP. If an ASBR supports Traffic Engineering for IPv4 and if the ASBR has an IPv4 TE Router ID, the IPv4 TE Router ID sub-TLV MUST be included. If the ASBR does not have an IPv4 TE Router ID, the IPv6 TE Router ID sub-TLV MUST be included instead. An IPv4 TE Router ID sub-TLV and IPv6 TE Router ID sub-TLV MAY both be present in an IS-IS Router CAPABILITY TLV. 3.5.2. IPv6 TE Router ID Sub-TLV The IPv6 TE Router ID sub-TLV is TLV type 12 (see Section 6.3) and is 16 octets in length. The format of the IPv6 TE Router ID sub-TLV is as follows: 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TE Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TE Router ID (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TE Router ID (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TE Router ID (continued) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The value advertised is selected as defined in Section 3.1. When the TE Router ID is needed to reach all routers within an entire IS-IS routing domain, the IS-IS Router CAPABILITY TLV MUST be included in its LSP. If an ASBR supports Traffic Engineering for IPv6 and if the ASBR has an IPv6 TE Router ID, the IPv6 TE Router ID sub-TLV MUST be included. If the ASBR does not have an IPv6 TE Router ID, the IPv4 TE Router ID sub-TLV MUST be included instead. An IPv4 TE Router ID sub-TLV and IPv6 TE Router ID sub-TLV MAY both be present in an IS-IS Router CAPABILITY TLV. 4. Procedure for Inter-AS TE Links When TE is enabled on an inter-AS link and the link is up, the ASBR SHOULD advertise this link using the normal procedures for [RFC5305]. When either the link is down or TE is disabled on the link, the ASBR SHOULD withdraw the advertisement. When there are changes to the TE parameters for the link (for example, when the available bandwidth changes), the ASBR SHOULD re-advertise the link but MUST take precautions against excessive re-advertisements. Hellos MUST NOT be exchanged over the inter-AS link, and consequently, an IS-IS adjacency MUST NOT be formed. The information advertised comes from the ASBR's knowledge of the TE capabilities of the link, the ASBR's knowledge of the current status and usage of the link, and configuration at the ASBR of the Remote AS Number and remote ASBR TE Router ID. Legacy routers receiving an advertisement for an inter-AS TE link are able to ignore it because they do not know the TLV and sub-TLVs that are defined in Section 3 of this document. They will continue to flood the LSP but will not attempt to use the information received. In the current operation of IS-IS TE, the LSRs at each end of a TE link emit LSPs describing the link. The databases in the LSRs then have two entries (one locally generated, the other from the peer) that describe the different 'directions' of the link. This enables Constrained Shortest Path First (CSPF) to do a two-way check on the link when performing path computation and eliminate it from consideration unless both directions of the link satisfy the required constraints. In the case we are considering here (i.e., of a TE link to another AS), there is, by definition, no IGP peering and hence no bidirectional TE link information. In order for the CSPF route computation entity to include the link as a candidate path, we have to find a way to get LSPs describing its (bidirectional) TE properties into the TE database. This is achieved by the ASBR advertising, internally to its AS, information about both directions of the TE link to the next AS. The ASBR will normally generate an LSP describing its own side of a link; here, we have it 'proxy' for the ASBR at the edge of the other AS and generate an additional LSP that describes that device's 'view' of the link. Only some essential TE information for the link needs to be advertised, i.e., the Interface Address, the Remote AS Number, and the Remote ASBR Identifier of an inter-AS TE link. Routers or PCEs that are capable of processing advertisements of inter-AS TE links SHOULD NOT use such links to compute paths that exit an AS to a remote ASBR and then immediately re-enter the AS through another TE link. Such paths would constitute extremely rare occurrences and SHOULD NOT be allowed except as the result of specific policy configurations at the router or PCE computing the path. 4.1. Origin of Proxied TE Information Section 4 describes how an ASBR advertises TE link information as a proxy for its neighbor ASBR but does not describe where this information comes from. Although the source of the information described in Section 4 is outside the scope of this document, it is possible that it will be a configuration requirement at the ASBR, as are other local properties of the TE link. Further, where BGP is used to exchange IP routing information between the ASBRs, a certain amount of additional local configuration about the link and the remote ASBR is likely to be available. We note further that it is possible, and may be operationally advantageous, to obtain some of the required configuration information from BGP. Whether and how to utilize these possibilities is an implementation matter. 5. Security Considerations The protocol extensions defined in this document are relatively minor and can be secured within the AS in which they are used by the existing IS-IS security mechanisms (e.g., using the cleartext passwords or Hashed Message Authentication Codes, which are defined in [RFC1195], [RFC5304], and [RFC5310] separately). There is no exchange of information between ASes and no change to the IS-IS security relationship between the ASes. In particular, since no IS-IS adjacency is formed on the inter-AS links, there is no requirement for IS-IS security between the ASes. Some of the information included in these advertisements (e.g., the Remote AS Number and the Remote ASBR Identifier) is obtained manually from a neighboring administration as part of a commercial relationship. The source and content of this information should be carefully checked before it is entered as configuration information at the ASBR responsible for advertising the inter-AS TE links. It is worth noting that, in the scenario we are considering, a Border Gateway Protocol (BGP) peering may exist between the two ASBRs and that this could be used to detect inconsistencies in configuration (e.g., the administration that originally supplied the information may provide incorrect information, or some manual misconfigurations or mistakes may be made by the operators). For example, if a different Remote AS Number is received in a BGP OPEN [RFC4271] from that locally configured to IS-IS TE, as we describe here, then local policy SHOULD be applied to determine whether to alert the operator to a potential misconfiguration or to suppress the IS-IS advertisement of the inter-AS TE link. Advertisement of incorrect information could result in an inter-AS TE LSP that traverses an unintended AS. Note further that, if BGP is used to exchange TE information as described in Section 4.1, the inter-AS BGP session SHOULD be secured using mechanisms such as described in [RFC5925] to provide authentication and integrity checks. For a discussion of general security considerations for IS-IS, see [RFC5304]. 6. IANA Considerations 6.1. Inter-AS Reachability Information TLV IANA has registered the following IS-IS TLV type, described in Section 3.1, in the "IS-IS Top-Level TLV Codepoints" registry: +=======+==============+=====+=====+=====+=======+===========+ | Value | Name | IIH | LSP | SNP | Purge | Reference | +=======+==============+=====+=====+=====+=======+===========+ | 141 | Inter-AS | n | y | n | n | RFC 9346 | | | Reachability | | | | | | | | Information | | | | | | +-------+--------------+-----+-----+-----+-------+-----------+ Table 3 6.2. Sub-TLVs for the Inter-AS Reachability Information TLV IANA has registered the following sub-TLV types of top-level TLV 141 (see Section 6.1) in the "IS-IS Sub-TLVs for TLVs Advertising Neighbor Information" registry. These sub-TLVs are described in Sections 3.4.1, 3.4.2, 3.4.3, and 3.4.4. +=======+=============+====+====+====+=====+=====+=====+===========+ | Value | Description | 22 | 23 | 25 | 141 | 222 | 223 | Reference | +=======+=============+====+====+====+=====+=====+=====+===========+ | 24 | Remote AS | n | n | n | y | n | n | RFC 9346 | | | Number | | | | | | | | +-------+-------------+----+----+----+-----+-----+-----+-----------+ | 25 | IPv4 Remote | n | n | n | y | n | n | RFC 9346 | | | ASBR | | | | | | | | | | Identifier | | | | | | | | +-------+-------------+----+----+----+-----+-----+-----+-----------+ | 26 | IPv6 Remote | n | n | n | y | n | n | RFC 9346 | | | ASBR | | | | | | | | | | Identifier | | | | | | | | +-------+-------------+----+----+----+-----+-----+-----+-----------+ | 45 | IPv6 Local | n | n | n | y | n | n | RFC 9346 | | | ASBR | | | | | | | | | | Identifier | | | | | | | | +-------+-------------+----+----+----+-----+-----+-----+-----------+ Table 4 As described in Section 3.1, the sub-TLVs that are defined in [RFC5305], [RFC6119], and other documents for describing the TE properties of a TE link are applicable to describe an inter-AS TE link and MAY be included in the Inter-AS Reachability Information TLV when adverting inter-AS TE links. 6.3. Sub-TLVs for the IS-IS Router CAPABILITY TLV IANA has registered the following sub-TLV types of top-level TLV 242 (see [RFC7981]) in the "IS-IS Sub-TLVs for IS-IS Router CAPABILITY TLV" registry. These sub-TLVs are described in Sections 3.4.1 and 3.4.2. +======+===================+===========+ | Type | Description | Reference | +======+===================+===========+ | 11 | IPv4 TE Router ID | RFC 9346 | +------+-------------------+-----------+ | 12 | IPv6 TE Router ID | RFC 9346 | +------+-------------------+-----------+ Table 5 7. References 7.1. Normative References [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, DOI 10.17487/RFC1195, December 1990, <https://www.rfc-editor.org/info/rfc1195>. [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>. [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, January 2006, <https://www.rfc-editor.org/info/rfc4271>. [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, DOI 10.17487/RFC5305, October 2008, <https://www.rfc-editor.org/info/rfc5305>. [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, DOI 10.17487/RFC5308, October 2008, <https://www.rfc-editor.org/info/rfc5308>. [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP Authentication Option", RFC 5925, DOI 10.17487/RFC5925, June 2010, <https://www.rfc-editor.org/info/rfc5925>. [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119, February 2011, <https://www.rfc-editor.org/info/rfc6119>. [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions for Advertising Router Information", RFC 7981, DOI 10.17487/RFC7981, October 2016, <https://www.rfc-editor.org/info/rfc7981>. [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>. 7.2. Informative References [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, <https://www.rfc-editor.org/info/rfc3209>. [RFC4216] Zhang, R., Ed. and J.-P. Vasseur, Ed., "MPLS Inter- Autonomous System (AS) Traffic Engineering (TE) Requirements", RFC 4216, DOI 10.17487/RFC4216, November 2005, <https://www.rfc-editor.org/info/rfc4216>. [RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, August 2006, <https://www.rfc-editor.org/info/rfc4655>. [RFC5152] Vasseur, JP., Ed., Ayyangar, A., Ed., and R. Zhang, "A Per-Domain Path Computation Method for Establishing Inter- Domain Traffic Engineering (TE) Label Switched Paths (LSPs)", RFC 5152, DOI 10.17487/RFC5152, February 2008, <https://www.rfc-editor.org/info/rfc5152>. [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic Authentication", RFC 5304, DOI 10.17487/RFC5304, October 2008, <https://www.rfc-editor.org/info/rfc5304>. [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, <https://www.rfc-editor.org/info/rfc5307>. [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., and M. Fanto, "IS-IS Generic Cryptographic Authentication", RFC 5310, DOI 10.17487/RFC5310, February 2009, <https://www.rfc-editor.org/info/rfc5310>. [RFC5316] Chen, M., Zhang, R., and X. Duan, "ISIS Extensions in Support of Inter-Autonomous System (AS) MPLS and GMPLS Traffic Engineering", RFC 5316, DOI 10.17487/RFC5316, December 2008, <https://www.rfc-editor.org/info/rfc5316>. [RFC5441] Vasseur, JP., Ed., Zhang, R., Bitar, N., and JL. Le Roux, "A Backward-Recursive PCE-Based Computation (BRPC) Procedure to Compute Shortest Constrained Inter-Domain Traffic Engineering Label Switched Paths", RFC 5441, DOI 10.17487/RFC5441, April 2009, <https://www.rfc-editor.org/info/rfc5441>. [RFC6823] Ginsberg, L., Previdi, S., and M. Shand, "Advertising Generic Information in IS-IS", RFC 6823, DOI 10.17487/RFC6823, December 2012, <https://www.rfc-editor.org/info/rfc6823>. Appendix A. Changes to RFC 5316 The following is a summary of the substantive changes this document makes to RFC 5316. Some editorial changes were also made. RFC 5316 only allowed a 32-bit Router ID in the fixed header of TLV 141. This is problematic in an IPv6-only deployment where an IPv4 address may not be available. This document specifies: 1. The Router ID should be identical to the value advertised in the Traffic Engineering router ID TLV (134) if available. 2. If no Traffic Engineering Router ID is assigned, the Router ID should be identical to an IP Interface Address [RFC1195] advertised by the originating IS. 3. If the originating node does not support IPv4, then the reserved value 0.0.0.0 must be used in the Router ID field and the IPv6 Local ASBR Identifier sub-TLV must be present in the TLV. Acknowledgements In the previous version of this document [RFC5316], the authors thanked Adrian Farrel, Jean-Louis Le Roux, Christian Hopps, and Hannes Gredler for their review and comments. Authors' Addresses Mach(Guoyi) Chen Huawei Email: mach.chen@huawei.com Les Ginsberg Cisco Systems Email: ginsberg@cisco.com Stefano Previdi Huawei Technologies Italy Email: stefano@previdi.net Xiaodong Duan China Mobile Email: duanxiaodong@chinamobile.com