SPRING L. Zhang, Ed. Internet-Draft J. Dong Intended status: Standards Track T. Zhou Expires: 2 April 2025 Huawei 29 September 2024 Schedule for Segment Routing Policy draft-zzd-spring-schedule-sr-policy-00 Abstract This document defines the Segment Routing (SR) Policy extension for schedule (called SR-Schedule). It applies to both Segment Routing over IPv6 (SRv6) and SR-MPLS. This document specifies the framework of SR policy schedule including the SR-Schedule definition, acquisition, computation, enforcement, and the handling behaviors on the headend. 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 2 April 2025. Copyright Notice Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. Zhang, et al. Expires 2 April 2025 [Page 1] Internet-Draft Schedule SR Policy September 2024 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 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. SR-Schedule Definition for SR Policy . . . . . . . . . . . . 3 2.1. SR-Schedule of a Segment List . . . . . . . . . . . . . . 4 2.2. SR-Schedule of a Candidate Path . . . . . . . . . . . . . 4 3. The Framework of SR-Schedule for SR Policy . . . . . . . . . 4 3.1. Schedule Information Acquisition . . . . . . . . . . . . 5 3.2. SR-Schedule Computation . . . . . . . . . . . . . . . . . 5 3.2.1. SR-Schedule Computation with Flow Constraint . . . . 5 3.2.2. SR-Schedule Computation with Topology Constraint . . 5 3.2.3. SR-Schedule Computation with Mixed Constraint . . . . 5 3.3. SR-Schedule Enforcement . . . . . . . . . . . . . . . . . 6 3.4. Handling Behaviors on the Headend . . . . . . . . . . . . 7 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 8 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.1. Normative References . . . . . . . . . . . . . . . . . . 8 7.2. Informative References . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction Segment Routing (SR) policy [RFC9256] is a set of candidate SR paths consisting of one or more segment lists and necessary path attributes. It enables instantiation of an ordered list of segments with a specific intent for traffic steering. [I-D.ietf-idr-segment-routing-te-policy] specifies how BGP may be used to distribute SR Policy candidate paths. It introduces a BGP SAFI with new NLRI to advertise a candidate path of a Segment Routing (SR) Policy. [I-D.ietf-tvr-use-cases] introduces a set of use cases where the topology or attributes of the network changes predictably. The topology changes may influence tha validity of some paths, and lead to path reselection or even recalculation. However, the reselection or recalculation takes a period of time, which will influence packet Zhang, et al. Expires 2 April 2025 [Page 2] Internet-Draft Schedule SR Policy September 2024 forwarding and cause problems such as packet disorder and packet loss. However, on a network with predictable topology changes, the headend knows future topology changes, it can schedule the forwarding paths in advance, and steer flows to different set of paths based on time to prevent packet forwarding from being influenced by topology changes. In the scenario of SR-policy-based TE paths, the resource allocation efficiency is a big challenge. Some flows just last for a short time, but the TE paths resources for the flows are usually reserved for a long time and cannot be used by other services. Therefore, the SR policy originator can generate a policy with time-limited paths and resources, the headend schedules these paths over time to improve the utilization of resources. This document extends SR Policy to include the schedule time of candidate paths/SR lists and applies to both SRv6 and SR-MPLS. 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. SR-Schedule Definition for SR Policy The Segment Routing policy architecture is specified in [RFC9256]. An SR Policy is associated with one or more candidate paths. A candidate path is either dynamic, explicit, or composite. The related concepts with the SR-Schedule definition in this document are listed as follows. An explicit/dynamic candidate path is expressed as a Segment-List or a set of Segment-Lists directly or by computation. If a candidate path is associated with a set of Segment-Lists, each Segment-List is associated with weight for weighted load balancing. The default weight is 1. A composite candidate path is defined in [RFC9256]. Zhang, et al. Expires 2 April 2025 [Page 3] Internet-Draft Schedule SR Policy September 2024 2.1. SR-Schedule of a Segment List A segment list represents a specific source-routed path to send traffic from the headend to the endpoint of the corresponding SR policy [RFC9256]. The SR-Schedule of a segment list is defined as the valid period of the path between a source node and a destination node. 2.2. SR-Schedule of a Candidate Path In the case of an explicit/dynamic candidate path, if it is expressed as a single Segment-List, then the SR-Schedule of the candidate path is the same as that of the SR-Schedule of the segment list as described in Section 2.1. In the case of an explicit/dynamic candidate path, if it is expressed as a set of Segment-Lists (for load-balancing), then the SR-Schedule of the candidate path is defined as the valid period of all the Segment-Lists in the set. 3. The Framework of SR-Schedule for SR Policy The framework of SR-Schedule for SR Policy includes schedule information acquisition, SR-Schedule computation, SR-Schedule enforcement, and handling behaviors on the headend. +------------------+ | Network Manager | +------------------+ | Schedule information acquisition | +--------\|/-------+ +------------|Network Controller| SR-Schedule computation | +--------/|\-------+ | | SR-Schedule enforcement Schedule information acquisition | | +-\|/-+ +-----------|-----------+ +-----+ Handling |Head |-------| Segment Routing |---|End | behaviors |end | | Network Domain | |Point| +-----+ +-----------------------+ +-----+ Figure 1: Framework of SR-Schedule for SR Policy Zhang, et al. Expires 2 April 2025 [Page 4] Internet-Draft Schedule SR Policy September 2024 3.1. Schedule Information Acquisition The SR-Schedule of a segment list is defined as the valid period of the path, see Section 2.1. The valid period of a path can be limited by a variety of factors, for example the flow’s predicted variation, the predicted availability of nodes and links. The schedule information could be acquired from the Network Manager or network devices by YANG data model or routing protocol advertisement. 3.2. SR-Schedule Computation The schedule information is sent to the network controller or the headend where the SR-Schedule is computed. Depending upon the source of time constraint, the computation methods are different, which are described in the following subsections. 3.2.1. SR-Schedule Computation with Flow Constraint When the flow with predictable time limit requests a SR path and the topology is stable, the SR-Schedule calculation only needs to consider the time limit of the flow. During calculation, the controller needs to calculate the optimal path that meets flow requirements, and then generate the SR-Schedule based on the flow variation regularity. 3.2.2. SR-Schedule Computation with Topology Constraint When the flow is constant but the network topology changes predictably, the SR-Schedule calculation only needs to consider the topology change. During calculation, multiple paths need to be calculated based on flow requirements. The valid time of each path is the intersection of the available time of all nodes and links in the path. There must be no gap between two paths adjacent in time to ensure the transmission will not be interrupted. 3.2.3. SR-Schedule Computation with Mixed Constraint When the requested flow has a predicable time limit and the topology also changes predictably, the SR-Schedule calculation needs to consider both the flow and topology time constraints. During calculation, the controller first obtains the period that needs to be covered according to the flow time constraint. Then, the controller calculates multiple paths that meet the flow's requirements. The valid time of each path is the intersection of the available time of all nodes and links in the path. There must be no gap between two paths adjacent in time to ensure the transmission will not be interrupted. Zhang, et al. Expires 2 April 2025 [Page 5] Internet-Draft Schedule SR Policy September 2024 3.3. SR-Schedule Enforcement SR Policy as per [RFC9256] does not include SR-Schedule in the SR Policy encoding structure. As specified in [I-D.zzd-idr-sr-policy-scheduling], the SR-Schedule is encoded in the SR policy structure as shown in Figure 2 and Figure 3. After the SR- Schedule computation, the SR-Schedule is enforced along with the SR Policy to the headend of the corresponding path. SR Policy SAFI NLRI: Attributes: Tunnel Encapsulation Attribute (23) Tunnel Type: SR Policy (15) Binding SID SRv6 Binding SID Preference Priority Policy Name Policy Candidate Path Name Explicit NULL Label Policy -----> Scheduling Time Information (SR-Schedule) Segment List Weight Segment Segment ... ... Figure 2: SR Policy Structure with SR-Schedule at Candidate Path Level Zhang, et al. Expires 2 April 2025 [Page 6] Internet-Draft Schedule SR Policy September 2024 SR Policy SAFI NLRI: Attributes: Tunnel Encapsulation Attribute (23) Tunnel Type: SR Policy (15) Binding SID SRv6 Binding SID Preference Priority Policy Name Policy Candidate Path Name Explicit NULL Label Policy Segment List --------> Scheduling Time Information (SR-Schedule) Weight Segment Segment ... ... Figure 3: SR Policy Structure with SR-Schedule at Segment List Level 3.4. Handling Behaviors on the Headend After the SR Policy with SR-Schedule is computed, the headend performs the handling behaviors. After obtaining the SR Policy with SR-Schedule, the headend needs to select the available paths at this moment according to the effective time of the candidate path and the segment list. When a packet arrives, the headend encapsulates the segment list of the forwarding path in the packet header based on the available paths. If no path is available at a certain time point, the SR Policy is considered malformed and should be logged with error. 4. Security Considerations [RFC9256] specifies in detail the SR Policy construct (introduced in [RFC8402]) and its security considerations. The additional SR- Schedule attribute information can be sensitive in some deployments and could influence SR path setup, selection and switching with adverse effect. The protocol extensions that include SR-Schedule need to take this into consideration. This document does not define any new protocol extensions and thus does not introduce any further security considerations. Zhang, et al. Expires 2 April 2025 [Page 7] Internet-Draft Schedule SR Policy September 2024 5. IANA Considerations 6. Acknowledgement 7. References 7.1. Normative References [RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, July 2022, . [I-D.ietf-idr-segment-routing-te-policy] Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., and D. Jain, "Advertising Segment Routing Policies in BGP", Work in Progress, Internet-Draft, draft-ietf-idr-segment- routing-te-policy-26, 23 October 2023, . [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 [I-D.ietf-tvr-use-cases] Birrane, E. J., Kuhn, N., Qu, Y., Taylor, R., and L. Zhang, "TVR (Time-Variant Routing) Use Cases", Work in Progress, Internet-Draft, draft-ietf-tvr-use-cases-09, 29 February 2024, . [I-D.zzd-idr-sr-policy-scheduling] Zhang, L., Zhou, T., Dong, J., Wang, M., and N. Nzima, "BGP SR Policy Extensions for Path Scheduling", Work in Progress, Internet-Draft, draft-zzd-idr-sr-policy- scheduling-05, 29 August 2024, . Zhang, et al. Expires 2 April 2025 [Page 8] Internet-Draft Schedule SR Policy September 2024 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, July 2018, . Authors' Addresses Li Zhang (editor) Huawei Beiqing Road Beijing China Email: zhangli344@huawei.com Jie Dong Huawei Email: jie.dong@huawei.com Tianran Zhou Huawei Email: zhoutianran@huawei.com Zhang, et al. Expires 2 April 2025 [Page 9]