RFC 9294 | App-Specific Link Attributes Using BGP-L | August 2022 |
Talaulikar, et al. | Standards Track | [Page] |
Extensions have been defined for link-state routing protocols that enable distribution of application-specific link attributes for existing as well as newer applications such as Segment Routing (SR). This document defines extensions to the Border Gateway Protocol - Link State (BGP-LS) to enable the advertisement of these application-specific attributes as a part of the topology information from the network.¶
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/rfc9294.¶
Copyright (c) 2022 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.¶
The Border Gateway Protocol - Link State (BGP-LS) [RFC7752] enables the distribution of the link-state topology information from link-state routing protocols (viz., IS-IS [RFC1195], OSPFv2 [RFC2328], and OSPFv3 [RFC5340]) to an application like a controller or Path Computation Engine (PCE) via BGP. The controller or PCE gets the end-to-end topology information across IGP domains so it can perform path computations for use cases like end-to-end traffic engineering (TE).¶
The link-state topology information distributed via BGP-LS includes link attributes that were originally defined for MPLS TE (i.e., using RSVP-TE [RFC3209] or GMPLS [RFC4202] applications). In recent years, applications, such as Segment Routing (SR) Policy [RFC8402] and Loop-Free Alternates (LFA) [RFC5286], which also make use of link attributes, have been introduced. [RFC8919] and [RFC8920] define extensions for IS-IS and OSPF, respectively, that enable advertising application-specific link attributes for these and other future applications. This has resulted in the need for a similar BGP-LS extension to include this additional link-state topology information from the link-state routing protocols.¶
This document defines the BGP-LS extensions for the advertisement of application-specific link attributes. It describes the advertisement of these link attributes as top-level TLVs (i.e., as TLVs of the BGP-LS Attribute) and as sub-TLVs of the (top-level) Application-Specific Link Attributes (ASLA) TLV. The document also describes the procedures for the advertisement of these attributes from the underlying IGPs and discusses their deployment aspects.¶
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.¶
BGP-LS [RFC7752] specifies the Link Network Layer Reachability Information (NLRI) for the advertisement of links and their attributes using the BGP-LS Attribute. The ASLA TLV is an optional top-level BGP-LS Attribute TLV that is introduced for Link NLRIs. It is defined such that it may act as a container for certain existing and future link attributes that require application-specific definition.¶
The format of this TLV is as follows and is similar to the corresponding ASLA sub-TLVs defined for OSPF and IS-IS in [RFC8920] and [RFC8919], respectively.¶
where:¶
The semantics associated with the standard and user-defined bit masks as well as the encoding scheme for application-specific attributes are as specified in [RFC8920].¶
The ASLA TLV and its sub-TLVs can only be added to the BGP-LS Attribute associated with the Link NLRI of the node that originates the underlying IGP link attribute TLVs and sub-TLVs. The procedures for originating link attributes in the ASLA TLV from underlying IGPs are specified in Section 4.¶
Several BGP-LS Attribute TLVs corresponding to the Link NLRI are defined in BGP-LS [RFC7752], and more may be added in the future. Those attributes that have been determined to be, and advertised as, application-specific in the underlying IGPs are also encoded similarly in BGP-LS.¶
The following table lists the currently defined BGP-LS Attribute TLVs corresponding to Link NLRI that can have application-specific semantics based on the underlying IGP specifications [RFC8919] [RFC8920]. These were originally defined with semantics for RSVP-TE and GMPLS applications in BGP-LS by the respective reference documents.¶
TLV Code Point | Description | Reference Document |
---|---|---|
1088 | Administrative group (color) | [RFC7752] |
1092 | TE Default Metric | [RFC7752] |
1096 | Shared Risk Link Group | [RFC7752] |
1114 | Unidirectional Link Delay | [RFC8571] |
1115 | Min/Max Unidirectional Link Delay | [RFC8571] |
1116 | Unidirectional Delay Variation | [RFC8571] |
1117 | Unidirectional Link Loss | [RFC8571] |
1118 | Unidirectional Residual Bandwidth | [RFC8571] |
1119 | Unidirectional Available Bandwidth | [RFC8571] |
1120 | Unidirectional Utilized Bandwidth | [RFC8571] |
1173 | Extended Administrative Group | [RFC9104] |
All the BGP-LS Attribute TLVs listed in the table above are REQUIRED to be advertised as a top-level TLV in the BGP-LS Attribute when used to carry link attributes specific to RSVP-TE.¶
BGP-LS Attribute TLVs corresponding to Link NLRI that are advertised in the underlying IGP as application-specific are REQUIRED to be encoded within an ASLA TLV.¶
Link attributes that do not have application-specific semantics MUST NOT be advertised within the ASLA TLV.¶
When the same application-specific link attributes are advertised both within the ASLA TLV and as top-level TLVs in the BGP-LS Attribute, the attributes advertised within the ASLA TLV take precedence for the applications indicated in the ASLA TLV encoding.¶
The BGP-LS originator learns of the association of an application-specific attribute to one or more applications from the underlying IGP protocol Link State Advertisements (LSAs) or Link State Packets (LSPs) from which it is advertising the topology information. [RFC8920] and [RFC8919] specify the mechanisms for advertising application-specific link attributes in OSPF and IS-IS, respectively.¶
Application-specific link attributes received from an IGP node without the use of ASLA encodings continue to be encoded using the respective BGP-LS top-level TLVs listed in Table 1 as specified in their respective reference documents.¶
While the ASLA encoding in OSPF is similar to that of BGP-LS, the encoding in IS-IS differs and requires additional procedures when conveying information into BGP-LS. One of these differences arises from the presence of the L-flag in the IS-IS encoding. Another difference arises due to the requirement to collate information from two types of IS-IS encodings for application-specific link information (i.e., the IS-IS ASLA sub-TLV and the IS-IS Application-Specific Shared Risk Link Group (SRLG) TLV) [RFC8919] and to carry them together in the BGP-LS ASLA TLV.¶
A BGP-LS originator node that is advertising link-state information from the underlying IGP using ASLA encodings determines their BGP-LS encoding based on the following rules:¶
In the case of IS-IS, the specific procedures below are to be followed:¶
The SRLGs advertised in one or more IS-IS Application-Specific SRLG TLVs and the other link attributes advertised in one or more IS-IS ASLA sub-TLVs are REQUIRED to be collated, on a per-application basis, only for those applications that meet all the following criteria:¶
For each such application, its collated information MUST be carried in a BGP-LS ASLA TLV with that application's bit set in the SABM or UDABM. See the illustration in Section 4.1.¶
These rules ensure that a BGP-LS originator performs the advertisement for all application-specific link attributes from the IGP nodes that support the ASLA extension. Furthermore, it also ensures that the top-level BGP-LS TLVs defined for RSVP-TE and GMPLS applications continue to be used for advertisement of their application-specific attributes.¶
A BGP-LS speaker would normally advertise all the application-specific link attributes corresponding to RSVP-TE and GMPLS applications as existing top-level BGP-LS TLVs while for other applications they are encoded in the ASLA TLV(s) with appropriate applicable bit mask setting. An application-specific attribute value received via a sub-TLV within the ASLA TLV has precedence over the value received via a top-level TLV.¶
This section illustrates the procedure for the advertisement of application-specific link attributes from IS-IS into BGP-LS.¶
Consider the following advertisements for a link in IS-IS. We start with this set:¶
The corresponding BGP-LS advertisements for that link are determined as follows:¶
First, based on rule (1), the advertisements are conveyed to BGP-LS to get the following "updated set":¶
Next, we apply the rules from (2) to this "updated set", because all of them were sourced from IS-IS, to derive a new set.¶
The next rule that applies is (2)(c), and it is determined that collation is required for applications S and F; therefore, we get the following "final set":¶
Implementations may optionally perform further consolidation by processing the "final set" above based on (2)(d) to determine the following "consolidated final set":¶
Further optimization (e.g., combining (2) and (4) from the "consolidated final set" above into a single BGP-LS ASLA TLV) may be possible while ensuring that the semantics are preserved between the IS-IS and BGP-LS advertisements. Such optimizations are outside the scope of this document.¶
BGP-LS sources the link-state topology information (including the extensions introduced by this document) from the underlying link-state IGP protocols. The various deployment aspects related to the advertisement and use of application-specific link attributes are discussed in the Deployment Considerations sections of [RFC8920] and [RFC8919]. The IGP backward-compatibility aspects described in those documents associated with application-specific link attributes along with the BGP-LS procedures specified in this document enable backward compatibility in deployments of existing implementations of [RFC7752], [RFC8571], and [RFC9104] for applications such as RSVP-TE, SR Policy, and LFA.¶
It is recommended that only nodes supporting this specification are selected as originators of BGP-LS information when advertising the link-state information from the IGPs in deployments supporting application-specific link attributes.¶
BGP-LS consumers that do not support this specification can continue to use the existing top-level TLVs for link attributes for existing applications as discussed above. However, they would be able to support neither the application-specific link attributes nor newer applications that may be encoded only using the ASLA TLV.¶
IANA has assigned a code point from the "BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs" registry as described in the following table. There is no "IS-IS TLV/Sub-TLV" value for this entry.¶
TLV Code Point | Description | Reference |
---|---|---|
1122 | Application-Specific Link Attributes | RFC 9294 |
The protocol extensions introduced in this document augment the existing IGP topology information defined in [RFC7752]. Procedures and protocol extensions defined in this document do not affect the BGP protocol operations and management other than as discussed in the Manageability Considerations section of [RFC7752]. Specifically, the malformed NLRI attribute tests in the Fault Management section of [RFC7752] now encompass the BGP-LS TLVs defined in this document.¶
The extensions specified in this document do not specify any new configuration or monitoring aspects in BGP or BGP-LS. The specification of BGP models is an ongoing work based on [IDR-BGP-MODEL].¶
Security considerations for acquiring and distributing BGP-LS information are discussed in [RFC7752]. Specifically, the considerations related to topology information, which are related to traffic engineering, apply.¶
The TLVs introduced in this document are used to propagate the application-specific link attributes IGP extensions defined in [RFC8919] and [RFC8920]. It is assumed that the IGP instances originating these TLVs will support all the required security (as described in [RFC8919] and [RFC8920]).¶
This document defines a new way to advertise link attributes. Tampering with the information defined in this document may affect applications using it, including impacting traffic engineering, which uses various link attributes for its path computation. As the advertisements defined in this document limit the scope to specific applications, the impact of tampering is similarly limited in scope. The advertisement of the link attribute information defined in this document presents no significant additional risk beyond that associated with the existing link attribute information already supported in [RFC7752].¶
The authors would like to thank Les Ginsberg, Baalajee S., Amalesh Maity, Acee Lindem, Keyur Patel, Paul Wouters, Rudy Selderslaghs, Kristy Paine, and Shraddha Hegde for their review and feedback on this document. The authors would like to thank Alvaro Retana for his very detailed AD review and comments that improved this document. The authors would also like to thank John Scudder for his detailed review and feedback on clarifying the procedures along with the example in Section 4.¶