IDR C. Sheng Internet-Draft H. Shi, Ed. Intended status: Standards Track Huawei Expires: 25 April 2024 L. Dunbar Futurewei 23 October 2023 Advertising SaaS Path Performance Metrics using BGP draft-sheng-idr-advertising-saas-path-performance-00 Abstract This document extends BGP to advertise the SaaS path performance metrics from the gateway sites to branch sites. The user can access SaaS applications through the DIA (Direct Internet Access) link at the branch site or through the DIA link at the gateway site, or use the DIA link of a gateway site for redundancy. This approach will improve the SaaS access experience for end-users. 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 25 April 2024. Copyright Notice Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved. Sheng, et al. Expires 25 April 2024 [Page 1] Internet-Draft Saas Path Metric October 2023 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 . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 3. Dynamically Select the Best Path . . . . . . . . . . . . . . 4 4. The SaaS Path Performance Route . . . . . . . . . . . . . . . 6 4.1. The SaaS Path Performance Route Encoding . . . . . . . . 6 4.2. The SaaS Path Performance Metrics Encoding . . . . . . . 8 4.2.1. The SaaS Path Delay Sub-TLV format . . . . . . . . . 8 4.2.2. The SaaS Path Loss Sub-TLV format . . . . . . . . . . 9 4.2.3. The SaaS Path Jitter Sub-TLV format . . . . . . . . . 9 4.2.4. The SaaS Path Bandwidth Sub-TLV format . . . . . . . 9 4.2.5. The SaaS Path Status Sub-TLV format . . . . . . . . . 10 4.2.6. The SaaS Path QoS Sub-TLV format . . . . . . . . . . 11 4.2.7. The SaaS Application Name Sub-TLV format . . . . . . 11 4.2.8. The SaaS Application Domain Name Sub-TLV format . . . 11 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 7. Normative References . . . . . . . . . . . . . . . . . . . . 12 Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 1. Introduction With the continuous cloudification of enterprise IT architectures and widespread use of public clouds, more and more enterprises are turning their infrastructures (such as enterprise data centers) to cloudification, abandoning traditional closed IT architectures and using open network architectures. To further achieve this goal, enterprises' mission-critical applications, such as office, production ERP systems, and sales systems, are migrated to the cloud. In this case, enterprises increasingly rely on software as a service (SaaS) provided by application service providers and prefer to access mission-critical applications from the cloud over the Internet. Sheng, et al. Expires 25 April 2024 [Page 2] Internet-Draft Saas Path Metric October 2023 Accessing SaaS applications like SalesForce, SharePoint, Dropbox and Office 365 over congested public networks can be unreliable and slow, due to heavy traffic, packet loss, and fluctuating latencies. Application slowness results in poor end-user experience. This document provides a way to improve the SaaS access experience. As shown in the Figure 1, user can access SaaS applications through the DIA (Direct Internet Access) link at the branch site or through the DIA link at the gateway site. The GWs at the gateway site normally have stronger capabilities and will provide SaaS access services for branch sites. The CPE at the branch site need to choose the best path for each SaaS application. The performance of the path between gateway and SaaS application needs to be advertised to CPE. This document extends BGP to advertise the SaaS path performance metrics. (^^^^^^^^^^^^^^^^^^^^^^^) ( SaaS Apps ) ( +----+ +----+ +----+ ) ( |App1| |App2| |App3| ) ( +----+ +----+ +----+ ) (^^^^^^^^^^^^^^^^^^^^^^^) | | | | | | | .|----| | ( | |) .-|( | | )--. +-----(--+Internet/MPLS ) / '--( | | )--' / ( | \) / '|----'\ + | +----|-----------+ DIA | Link \ | +--|--+ | | +-------------\--| GW2 | | | / SD-WAN Tunnel \ +-----+ | | / |\ Hub Site| +----+ +-|/-+ SD-WAN Tunnel | \-----+ | |User|--|CPE1|-----------------| GW1 | | +----+ +----+ | +-----+ | Branch Site +----------------+ Figure 1: SaaS Application Path Performance Optimization Scenario 2. Terminology In addition to terms defined in [I-D.ietf-idr-sdwan-edge-discovery], this document uses following terms: Sheng, et al. Expires 25 April 2024 [Page 3] Internet-Draft Saas Path Metric October 2023 * DIA: Direct Internet Access * FQDN: Fully Qualified Domain Name * QoS: Quality of Service * SaaS: Software-as-a-Service 2.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. 3. Dynamically Select the Best Path This section uses the scenario shown in Figure 1 as an example to describe how to implement the SaaS Path Optimization solution. Both the Branch and GW routers initiate periodic probes to target SaaS applications. The GW routers advertise the probe result to the Branch routers. The following figure shows the SaaS Path Performance Metrics table on the CPE1. Note that in this example, CPE1, GW1, and GW2 have multiple paths for accessing App1, 2 paths are listed for each device. The access to App2 and App3 is similar, only one entry is listed for the purpose of simplifying the description. Sheng, et al. Expires 25 April 2024 [Page 4] Internet-Draft Saas Path Metric October 2023 +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |Name|ID|Path |Path Out Intf |O_QoS|Status| L | D | J | B |F_QoS| | | |Index|(# Remote) | | | | | | | | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App1|10| I11 | GE 0/0/1.1 | 75 | Good | 1|150| 40|B01| 75 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App1|10| I12 | GE 0/0/1.1 | 80 | Good | 1|160| 40|B01| 80 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App1|10| I13 |# GW1-System IP| 85 | Good | 0|100| 40|B11| 83 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App1|10| I14 |# GW1-System IP| 85 | Good | 0|100| 40|B12| 81 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App1|10| I15 |# GW2-System IP| 90 | Best | 0| 80| 20|B13| 82 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App1|10| I16 |# GW2-System IP| 90 | Best | 0| 80| 20|B14| 88 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App2|20| I02 | GE 0/0/1.1 | 40 |Issue | 5|180|101|B02| 40 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App2|20| I21 |# GW1-System IP| 80 | Good | 1|100| 70|B21| 75 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App2|20| I22 |# GW2-System IP| 60 | Acct | 3|160| 80|B22| 55 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App3|30| I03 | GE 0/0/1.1 | 90 | Best | 0| 58| 20|B03| 90 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App3|30| I31 |# GW1-System IP| 80 | Good | 0| 65| 30|B31| 78 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ |App3|30| I32 |# GW2-System IP| 75 | Acct | 2|130| 90|B32| 72 | +----+--+-----+---------------+-----+------+---+---+---+---+-----+ L: Loss D: Delay J: Jitter B: Bandwidth Acct: Acceptable O_QoS: Original QoS F_QoS: Final QoS Figure 2: CPE1's SaaS Path Perfermance Metrics Table Upon receiving the QoS score from the GW router, CPE1 will calculates the Final QoS score based on the SD-WAN tunnel status and and the received QoS score. When a user of CPE1 accesses a SaaS applications, CPE1 determines the best performing path toward the SaaS application based on the Final QoS score (F_QoS). For example If App1 is the target SaaS Application, select the SaaS path that passes through GW2 with the Path Index I16 because it has the highest score: 88. If App2 is the target SaaS Application, select the SaaS path that passes through GW1 with the Path Index I21 because it has the highest score: 75. If App3 is the target SaaS application, select the local SaaS path with the Path Index I03 because it has the highest score: 90. Sheng, et al. Expires 25 April 2024 [Page 5] Internet-Draft Saas Path Metric October 2023 4. The SaaS Path Performance Route The BGP SD-WAN NLRI as defined in [I-D.ietf-idr-sdwan-edge-discovery] is shown below: +-----------------------------------+ | Route Type (2 octets) | +-----------------------------------+ | Length (2 octets) | +-----------------------------------+ ~ ~ | Type Specific Value (variable) | ~ ~ +-----------------------------------+ Figure 3: BGP SD-WAN NLRI Where: * Route (NLRI) Type: 2 octet value to define the encoding of the rest of the SD-WAN NLRI. * Length: 2 octets of length expressed in bits as defined in [RFC4760]. This document defines an additional route type to be used for the advertisement of the SaaS Path Performance Metrics between different enterprise sites: * NLRI Route Type: 2 * Name: SaaS Path Performance Route 4.1. The SaaS Path Performance Route Encoding Sheng, et al. Expires 25 April 2024 [Page 6] Internet-Draft Saas Path Metric October 2023 +--------------------+ | Route Type = 2 | 2 octets +--------------------+ | Length | 2 octets +--------------------+ | Site ID | 4 octets +--------------------+ | APP ID | 4 octets +--------------------+ | APP Req | 1 octet +--------------------+ | Path Index Type | 1 octet +--------------------+ | Path Index Value | 3 or 4 or 16 octets +--------------------+ | SD-WAN-Node-ID | 4 or 16 octets +--------------------+ Figure 4: SaaS Path Performance Route Where: * Route Type: 2, SaaS Path Performance Route * Length: 2 octets of length expressed in bits as defined in [RFC4760]. * Site ID: 4 octets, A site ID is a unique identifier of an enterprise site in the SD-WAN network. * APP ID: 4 octets, SaaS Application ID, a unique Application ID to identify different applications. Application may be deployed using different IP address in different area. Thus an ID is needed to identify the application. * APP Req: 1 octet, Application requirement to indicate the application requirement of the path quality. For example, an real time video conferencing application requires higher quality than a background file backup application. The value includes: - Type = 1: default; - Type = 2: Medium; - Type = 3: High; * Path Index Type: Indicates the type of the path index. Sheng, et al. Expires 25 April 2024 [Page 7] Internet-Draft Saas Path Metric October 2023 * Path Index Value: a Path Index Type specific Value: - Type 1, the Path Index Value is a 4-byte local index value, which is used to identify an outbound interface for accessing SaaS applications. - Type 2, the Path Index Value is a 3-byte MPLS label, which is used to identify an outbound interface for accessing the SaaS application. - Type 3, The Path Index Value is a 16-byte SRv6 SID, which is used to identify an outbound interface for accessing a SaaS application, and its Endpoint Behavior is End.DT2SaaSPath: Decapsulate SRv6 packet, then send the packet to the target SaaS application from the outbound interface indicated by the SRv6 SID. * SD-WAN Node ID: The node's IPv4 or IPv6 address. 4.2. The SaaS Path Performance Metrics Encoding The Metadata Path Attribute has been as defined in [I-D.ietf-idr-5g- edge-service-metadata]. This document introduces some additional Sub-TLVs to encode the SaaS Path Performance Metrics and SaaS Application Information. Another option is to use the above Sub-TLVs in the Tunnel Encapsulation Attribute [RFC9012]. In this option, the tunnel type "SaaS Application Path Performance" is added. 4.2.1. The SaaS Path Delay Sub-TLV format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Delay Sub-Type = TBD1 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Delay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: SaaS Path Delay Sub-TLV Where: * Delay Sub-Type: TBD by IANA. * Length: 2 octets, the total number of octets of the value field. Sheng, et al. Expires 25 April 2024 [Page 8] Internet-Draft Saas Path Metric October 2023 * Delay: 2 octets, this field indicates the packet transmission delay, in milliseconds. 4.2.2. The SaaS Path Loss Sub-TLV format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Sub-Type = TBD2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss | +-+-+-+-+-+-+-+-+ Figure 6: SaaS Path Loss Sub-TLV Where: * Loss Sub-Type: TBD by IANA * Length: 2 octets, the total number of octets of the value field. * Loss: 1 octet, this field indicates the packet loss rate (%). 4.2.3. The SaaS Path Jitter Sub-TLV format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Jitter Sub-Type = TBD3 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Jitter | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 7: SaaS Path Jitter Sub-TLV Where: * Jitter Sub-Type: TBD by IANA * Length: 2 octets, the total number of octets of the value field. * Jitter: 2 octets, this field indicates the jitter on the SaaS Path. Range: 1 through 1000 milliseconds 4.2.4. The SaaS Path Bandwidth Sub-TLV format Sheng, et al. Expires 25 April 2024 [Page 9] Internet-Draft Saas Path Metric October 2023 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bandwidth Sub-Type = TBD4 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Bandwidth | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 8: SaaS Path Bandwidth Sub-TLV Where: * Bandwidth Sub-Type: TBD by IANA * Length: 2 octets, the total number of octets of the value field. * Bandwidth: 4 octets, this field indicates the bandwidth of the SaaS Path. 4.2.5. The SaaS Path Status Sub-TLV format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Status Sub-Type = TBD5 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Status | +-+-+-+-+-+-+-+-+ Figure 9: SaaS Path Status Sub-TLV Where: * Status Sub-Type: TBD by IANA * Length: 2 octets, the total number of octets of the value field. * Status: 1 octet, Network assessment, there are 6 levels as follows: - 100: Best - 80: Good, Meets recommendations - 60: Acceptable - 40: Users may experience issues - 20: Users may complain Sheng, et al. Expires 25 April 2024 [Page 10] Internet-Draft Saas Path Metric October 2023 - 0: Network problems 4.2.6. The SaaS Path QoS Sub-TLV format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QoS Sub-Type = TBD6 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | QoS | +-+-+-+-+-+-+-+-+ Figure 10: SaaS Path QoS Sub-TLV Where: * QoS Sub-Type: TBD by IANA * Length: 2 octets, the total number of octets of the value field. * QoS: 1 octet, Quality of Service, 1-100, with 1 being the worst, and 100 being the best. The QoS value is calculated based on the values of Loss, Jitter, Delay, and Status. 4.2.7. The SaaS Application Name Sub-TLV format 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SaaS AppName Sub-Type = TBD7 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ | Application Name (1-n Octets) | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 11: Saas Application Name Sub-TLV Where: * SaaS AppName Sub-Type: TBD by IANA * Length: 2 octets, the total number of octets of the value field. * Application Name: The name of the application represented as a string, such as Salesforce, Dropbox, Office 365, and so on. 4.2.8. The SaaS Application Domain Name Sub-TLV format Sheng, et al. Expires 25 April 2024 [Page 11] Internet-Draft Saas Path Metric October 2023 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AppDomainName Sub-Type = TBD8 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ | Application Domain Name (Variable) | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 12: SaaS Application Domain Name Sub-TLV Where: * AppDomainName Sub-Type: TBD by IANA * Length: 2 octets, the total number of octets of the value field. * Application Domain Name: The domain name of the application represented as a string, such as www.salesforce.com, www.baidu.com, www.iana.org, www.dropbox.com, www.microsoft.com, and so on. 5. Security Considerations TBD. 6. IANA Considerations TBD. 7. 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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . Appendix A. Contributors Shunwan Zhuang Huawei Email: zhuangshunwan@huawei.com Penghe Tang Huawei Technologies Email: tangpenghe@huawei.com@huawei.com Sheng, et al. Expires 25 April 2024 [Page 12] Internet-Draft Saas Path Metric October 2023 Authors' Addresses Cheng Sheng Huawei Beiqing Road Beijing China Email: shengcheng@huawei.com Hang Shi (editor) Huawei Beiqing Road Beijing China Email: shihang9@huawei.com Linda Dunbar Futurewei United States Email: linda.dunbar@futurewei.com Sheng, et al. Expires 25 April 2024 [Page 13]