IDR L. Zhang, Ed. Internet-Draft T. Zhou Intended status: Standards Track J. Dong Expires: 9 May 2024 Huawei 6 November 2023 BGP Flow Specification Extensions for Path Scheduling draft-zzd-idr-flowspec-path-scheduling-01 Abstract Path scheduling is required in many network scenarios. For example, some links or nodes will be shut down in the tidal network when the traffic decreases, which may lead to the expiration of some routing paths. This document defines a new type of component for BGP Flow Specification to identify the packets arrived at different time slot. Based on that, the headend can steer packets into different paths at different time. 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 9 May 2024. 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 Zhang, et al. Expires 9 May 2024 [Page 1] Internet-Draft BGP FlowSpec Path Scheduling November 2023 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 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Scheduling time information in FlowSpec . . . . . . . . . . . 3 3.1. Aperiodic Scheduling Time Information . . . . . . . . . . 4 3.2. Periodic Scheduling Time Information . . . . . . . . . . 5 4. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . 6 7.2. Informative References . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction [RFC8955] and [RFC8956] define the BGP [RFC4271] Flow Specification (FlowSpec) that allows conveying flow specifications and traffic Action/Rules associated. BGP Flow specifications are encoded within the MP_REACH_NLRI and MP_UNREACH_NLRI attributes [RFC4760]. Rules (Actions associated) are encoded in Extended Community attribute [RFC4360]. The existing traffic filter rules and actions in FlowSpec are always effective and will steer specific traffic into one path once been delivered to the headend. However, there are many scenarios that need to schedule routing paths in the network. [I-D.zzd-tvr-use-case-tidal-network] introduces the tidal network, in which the topology of the network will change periodically over time. The topology change may cause some of the paths invalid, and lead to path reselection or even recalculation. However, the reselection or recalculation takes a period of time, which will affect packet forwarding and cause problems such as packet disorder and packet loss. On a network with predictable topology changes, the controller knows future topology changes, it can deliver a FlowSpec to the headend which can steers traffic to different paths in advance to prevent packet forwarding from being affected by topology changes. Zhang, et al. Expires 9 May 2024 [Page 2] Internet-Draft BGP FlowSpec Path Scheduling November 2023 This document defines a new type of component for BGP Flow Specification to identify the packets arrived at different time slot. Based on that, the headend can steer packets into different paths at different time. 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. Motivation [I-D.zzd-tvr-use-case-tidal-network] introduces the time variant routing scenario in the tidal network, in which the traffic volume varies greatly at different time. In order to reduce the power consumption, some of the links and nodes may be shut down when the traffic is at a low level. In this scenario, the controller can generate a FlowSpec with shceduling time rule to identify the packets arrivaling time and corresponding paths. The headend doesn’t need to wait for the advertisement of topology change and just steer traffic in to different pathes based on the flowSpec with scheduling time information, the affection of topology change is minimized. 3. Scheduling time information in FlowSpec [RFC8955] defines 12 Components to identify different traffics. Based on [RFC8955], this document defines a new Component to identify the arrival time of packets, so as to enable path scheduling. Encoding: Defines the time information that matches the arrival time of packets. This component matches if either the arrival time of an IP packet in the scope of scheduling time information. The Scheduling time information has two formats according to the change regularity of network topology. They are Aperiodic Scheduling Time Information (ASTI) and Periodic Scheduling Time Information (PSTI). Zhang, et al. Expires 9 May 2024 [Page 3] Internet-Draft BGP FlowSpec Path Scheduling November 2023 3.1. Aperiodic Scheduling Time Information The ASTI indicates one or more group of matching time slot (each includes the enable time and disable time) for the packets. The format of ASTI is shown 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Enable Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Disable Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | / Variable / | | Figure 1: Format of ASTI Type: used to identify the type of scheduling time information. The value and corresponding types are shown as follows: +=======+=======================================+ | Value | Type | +=======+=======================================+ | 0x01 | Aperiodic Scheduling Time Information | +-------+---------------------------------------+ | 0x02 | Periodic Scheduling Time Information | +-------+---------------------------------------+ Table 1 Enable Time: the time in seconds indicates the start time when the packets matching. Disable Time: the time in seconds indicates the end time when the packets matching. Variable: one or more groups of time information (A information group is composed of Enable Time and Disable time) may be included in one ASTI. Zhang, et al. Expires 9 May 2024 [Page 4] Internet-Draft BGP FlowSpec Path Scheduling November 2023 3.2. Periodic Scheduling Time Information The PSTI indicates one or more group of periodic matching time slot (each includes period, enable time and disable time) for the packets. The format of PSTI is shown 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Period | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Enable Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Disable Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | / Variable / | | Figure 2: Format of PSTI Type: as defined in clause “Aperiodic Scheduling Time Information” Length: the size of the value field in octets. Period: the time in seconds between the enable time of one repetition and the enable time of the next repetition. Enable Time: the time in seconds indicates when the path(s) is(are) enabled. Disable Time: the time in seconds indicates when the path(s) is(are) disabled Variable: one or more groups of time information(A information group is composed of Period, Enable Time and Disable time) may be included in one PSTI. 4. Procedures When the headend device (as a FlowSpec client) receives a instruction with scheduling time information from a BGP FlowSpec Controller, it will steer the traffic packets matching the time slot and other conditions in the Flowspec instruction into a specific path. Zhang, et al. Expires 9 May 2024 [Page 5] Internet-Draft BGP FlowSpec Path Scheduling November 2023 5. Security Considerations These extensions to BGP FlowSpec do not add any new security issues to the existing protocol. 6. IANA Considerations This document defines a new Component in the registry " Flow Spec Component Types" to be assigned by IANA: +=======+=============================+===============+ | Value | Description | Reference | +=======+=============================+===============+ | TBD1 | Scheduling Time Information | This document | +-------+-----------------------------+---------------+ Table 2 7. References 7.1. Normative References [RFC8955] Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M. Bacher, "Dissemination of Flow Specification Rules", RFC 8955, DOI 10.17487/RFC8955, December 2020, . [RFC8956] Loibl, C., Ed., Raszuk, R., Ed., and S. Hares, Ed., "Dissemination of Flow Specification Rules for IPv6", RFC 8956, DOI 10.17487/RFC8956, December 2020, . [RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, "Multiprotocol Extensions for BGP-4", RFC 4760, DOI 10.17487/RFC4760, January 2007, . [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, . 7.2. Informative References Zhang, et al. Expires 9 May 2024 [Page 6] Internet-Draft BGP FlowSpec Path Scheduling November 2023 [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, . [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, February 2006, . [I-D.zzd-tvr-use-case-tidal-network] Zhang, L., Zhou, T., Dong, J., and N. Nzima, "Use Case of Tidal Network", Work in Progress, Internet-Draft, draft- zzd-tvr-use-case-tidal-network-02, 28 July 2023, . Authors' Addresses Li Zhang (editor) Huawei Beiqing Road Beijing China Email: zhangli344@huawei.com Tianran Zhou Huawei Email: zhoutianran@huawei.com Jie Dong Huawei Email: jie.dong@huawei.com Zhang, et al. Expires 9 May 2024 [Page 7]