Internet-Draft | Generic Metric for AIGP attribute | July 2021 |
Sangli, et al. | Expires 27 January 2022 | [Page] |
This document defines extensions to the AIGP attribute to carry Generic Metric sub-types. This is applicable when multiple domains exchange BGP routing information. The extension will aid in intent-based end-to-end path selection.¶
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 27 January 2022.¶
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.¶
Large Networks belonging to an enterprise may consist of nodes in the order of thousands and may span across multiple IGP domains where each domain can run separate IGPs or levels/areas. BGP may be used to interconnect such IGP domains, with one or more IGP domains within an Autonomous System. The enterprise network can have multiple Autonomous Systems and BGP may be employed to provide connectivity between these domains. Furthermore, BGP can be used to provide routing over a large number of such independent administrative domains.¶
The traffic types have evolved over years and operators have resorted to defining different metric types within a IGP domain (ISIS or OSPF) for IGP path computation. An operator may want to create an end-to-end path that satisfy certain intent. The intent could be to create end-to-end path that minimizes one of the metric-types. Some metrics can be assigned administratively by an operator and they are described in the base ISIS, OSPF specifications. Other metrics, for example, are the Traffic Engineering Default Metric defined in [RFC5305] and [RFC3630], Min Unidirectional delay metric defined in [RFC8570] and [RFC7471]. There may be other metrics such as jitter, reliability, fiscal cost, etc. that an operator may wish to express as the cost of a link. The procedures mentioned in the above specifications describe the IGP path computation within IGP domains.¶
With the advent of 5G applications and Network Slicing applications, an operator may wish to provision end-to-end paths across multiple domains to cater to traffic constraints. This is also known as intent-based inter-domain routing and there are certain architectures being developed as described in [I-D.hegde-spring-seamless-sr-architecture] and [I-D.dskc-bess-bgp-car-problem-statement]. The Clasful Transport Planes as described in [I-D.kaliraj-idr-bgp-classful-transport-planes] and Color-Based Routing as described in [I-D.dskc-bess-bgp-car] describe how end-to-end intent-based paths can be established. The proposal described in this document can be used in conjunction with such architectures.¶
When multiple domains are interconnected via BGP, protocol extensions for advertising best-external path and/or ADDPATH as described in [RFC7911] are employed to take advantage of network connectivity thus providing alternate paths. The Color-Based Routing and Classful Transport Planes routing proposals describe approaches that result in alternate paths for a reaching one destination. During the BGP best path computation, the step(e) as per section 9.1.2.2 of [RFC4271], the interior cost of a route as determined via the IGP metric value can be used to break the tie. In a network spanning multiple IGP domains, the AIGP TLV encoded within the AIGP attribute described in [RFC7311] can be used to compute the AIGP-enhanced interior cost to be used in the decision process for selecting the best path as documented in section 2 of [RFC7311]. The [RFC7311] specifies how AIGP TLV can carry the accumulated IGP metric value.¶
There is a need to synchronize the metric-type values carried between IGP and BGP in order to avoid operational overhead of translation between them. The existing AIGP TLV carries a TLV type and metric-value where TLV type does not map to IGP metric-types defined in the IGP metric-type registry. Hence there is a need to provide a generic metric template to embed the IGP metric-type values within the AIGP attribute. This document extends the AIGP attribute for carrying Generic-Metric TLV and the well-defined sub metric types. This document also provides procedures for handling Generic-Metric during the BGP best path computation.¶
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.¶
Consider the network as shown in Figure 1. The network has multiple domains. Each domain runs a separate IGP instance. Within each domain iBGP sessions are established between the PE routers. eBGP sessions are established between the Border Routers across domains. An operator wishes to compute end-to-end path optimized for a metric-type delay. Each domain will be enabled to compute the IGP paths based on metric-type delay. Such values should also be propagated to the adjacent domains for effective end-to-end path computation.¶
The AIGP TLV in the AIGP attribute as specified in [RFC7311] supports the IGP default metric. If all domains use IGP cost as the metric, then one can compute the end-to-end path with shortest IGP cost. However if an operator wishes to compute the end-to-end path with metric other than IGP cost, we need additional extensions to the AIGP attribute for carry the metric-types and metric values.¶
The [I-D.ietf-lsr-flex-algo-bw-con] proposes a generic metric type that can embed multiple metric types within it. It supports both standard metric-types and user-defined metric-types. This document leverages the generic-metric draft and proposes extensions to the AIGP attribute to carry Generic Metric TLV as specified below.¶
The following procedures are not clearly described in [RFC7311].¶
This document proposes a new TLV : Generic-Metric TLV in the AIGP attribute. This will carry the metric type and metric value used in the network. The format is shown below.¶
This section follows the approach as laid out in [RFC7311] to select the best path when the route has AIGP attribute with Generic-Metric TLV. The domain that the router R belongs to, has enabled metric-types different from IGP cost. The following describes procedures in addition to general procedure described in section 4 of [RFC7311].¶
When R receives a route T with next hop N and the AIGP attribute with Generic-Metric TLV, and the metric-type sub-field matches with the type of the metric of the path used for resolving the next hop N, the AIGP-enhanced interior cost should be computed as below.¶
If the type of the metric of the path used for resolving the next hop N does not match the metric-type sub-field of the Generic-Metric TLV, the cost of the path to reach next hop N may be normalized. The normalized metric value can be zero, maximum metric value or scaled up (multiple of a positive number).¶
The AIGP-enhanced interior cost computation as described below will be used in the decision process as described in [RFC7311].¶
A path with Generic-Metric TLV and a path with AIGP TLV cannot be compared. To enable end-to-end path selection based on intent, the with Generic-Metric TLV MUST be chosen over path with AIGP TLV. The implementation should allow a local policy to specify the preference.¶
A path with Generic-Metric TLV of metric-type 'a' cannot be compared with a path with Generic-Metric TLV of metric-type 'b'. The path with lower metric-type MUST be chosen as best between two paths with Generic-Metric TLV.¶
Each domain is a separate Autonomous System. Within each domain, ASBR and PE form iBGP peering. The IGP within each domain uses domain specific metric. Domain3 and Domain4 use delay as the metric while Domain1 and Domain2 use IGP cost as the metric. ASBRs across domains form eBGP peering. The use-case is to find delay-based end-to-end path from Domain1 to Domain4.¶
This can be achieved by the advertising router to add the AIGP attribute with metric type 1 that represents delay metric. In the above network diagram, ASBR41 (and ASBR42) will advertise prefix PE2-loopback with Generic-Metric TLV with delay as metric-type. The metric-value sub-field of the Generic-Metric TLV will represent the cost to reach PE2's loopback end-point from the advertising router as they will do next hop self.¶
In Domain3, when ASRB32 advertises the prefix PE2-loopback within the local domain, it may add cost to the metric-value, the value representing the delay introduced by the DMZ link between ASRB32 to ASBR42. When ASRBR31 advertises the prefix PE2-lookback, it will perform the following procedures.¶
In Domain2 however, the local metric type IGP cost. The ASBR22 may follow the procedure similar to ASBR32 and add the delay value corresponding to the DMZ link between ASBR22 and ASBR41 before advertising the path internally in Domain2. When ASBR21 computes the AIGP-enhanced interior cost, as mentioned before, it may normalize the igp cost to reach ASBR22 and may add the normalized value to the delay-metric. In the above network example, the delay cost from ASBR21 to ASBR22 is negligible and hence delay-metric value will be unchanged.¶
The procedures for AIGP-enhanced interior cost computation at ASBR11 (and ASBR12) will follow DMZ delay computation procedure described above. PE1 will have two paths to reach PE2-loopback: P1 via ASBR11 (and domain2) and P2 via ASBR12 (and domain3), each having respective AIGP-enhanced interior cost representing end-to-end delay. The BGP decision process described in Section 7 will result in delay optimized end-to-end path for PE2-loopback on PE1 that can be used to resolve the service prefixes.¶
It can be noted that a domain may normalize the metric-value of the metric-type of the path used to resolve next hop to the metric-type present in the Generic-Metric TLV. The idea is to propagate the cost of reaching the prefix through the domain while maintaining the metric-type chosen by the originating router and domain. The normalization of metric types to the one carried in the AIGP attribute can be done via policy. Definition of such policies and how they can be enforced is outside the scope of this document. In topologies where there is a common router between adjacent domains that do iBGP peering, the Border router can provide the normalization.¶
It is important to maintain the property of IGP cost to a destination decrease as one gets closer to the destination. The AIGP-enhanced interior cost should not be allowed to decrease through the metric normalization. When adjacent domains use different metric types, the ASBR that connects two domains is better suited to pass on the metric values by setting itself as next hop.¶
All routers of a domain MUST compute the AIGP-enhanced interior cost as described above to be used during decision process. Within a domain, if one router R1 applies AIGP-enhanced interior cost while R2 does not, it may lead to routing loop unless some sort of tunnelling technology viz MPLS, SRv6, IP, etc. is adopted to reach the next hop. In a network where any tunnelling technology is used, one can incrementally deploy the Generic-Metric functionality. In a network without any tunnelling technology, it is recommended that all routers MUST support Generic-Metric based AIGP-enhanced interior cost computation.¶
The contiguity of the AIGP domain across multiple IGP or AS domains is important to maintain end-to-end path of a certain intent. A router that does not recognize Generic-Metric TLV, may add AIGP TLV and pass on the BGP route with just AIGP TLV. This results in AIGP attribute having both TLVs. The router making decision only on Generic-Metric TLV may chose sub-optimal paths.¶
In certain networks, routes may be redistributed between BGP and IGP, usually controlled via a policy. When a route is propagated across domains, a router should use AIGP metric-value of Generic-Metric TLV, optionally modified via the local policy as the IGP cost during route redistribution in to IGP. The local policy should apply metric normalization or translation based on metric-type of Generic-Metric TLV and the metric-type adopted in the IGP.¶
AIGP attribute is optional and non-transitive, however new TLV might not be interpreted and/or updated by routers along the path. For computing the end-to-end path based on an intent, it is essential to maintain contiguity of AIGP domain for the metric-type. The mechanism will be addressed in the future version of this document.¶
When a BGP speaker receives an update with the AIGP attribute it may have Generic-Metric TLV. If the BGP speaker understands the AIGP attribute but does not understand the Generic-Metric TLV, it will process the AIGP attribute as per [RFC7311]. However when it needs to advertise the prefix to its peers it will pass on the AIGP attribute with all the TLVs including the unknown Generic-Metric TLV as per [RFC7311]. If a BGP speaker does not understand the Generic-Metric TLV, it may chose sub-optimal BGP path.¶
This document does not introduce any new security considerations beyond those already specified in [RFC4271], [RFC7311].¶
IANA is requested to assign a code point for Generic Metric TLV. The metric-type field refers to the IGP metric-type registry defined in [I-D.ietf-lsr-flex-algo-bw-con]¶
The authors would like to thank John Scudder, Jeff Haas, Robert Raszuk, and Kaliraj Vairavakkalai for careful review and suggestions.¶