SPRING Working Group F. Yang Internet Draft China Mobile Intended status: Standards Track C. Lin Expires: June 12, 2025 Y. Qiu New H3C Technologies December 12, 2024 Intelligent Routing Method of SR Policy draft-yang-spring-sr-policy-intelligent-routing-03 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), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html This Internet-Draft will expire on June 12, 2025. Copyright Notice Copyright (c) 2024 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 (http://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 Yang, et al. Expire June 12, 2025 [Page 1] Internet-Draft SR Policy Intelligent Routing Method December 2024 Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Abstract Segment Routing is a source routing paradigm that explicitly indicates the forwarding path for packets at the ingress node. An SR Policy is associated with one or more candidate paths, and each candidate path is either dynamic, explicit or composite. This document describes an intelligent routing method for SR Policy based on network quality in MPLS and IPv6 environments. Table of Contents 1. Introduction ................................................ 2 2. Terminology ................................................. 3 3. Background and Requriements ................................. 3 4. Intelligent Routing Method for SR Policy .................... 5 4.1. Processing Model ....................................... 5 4.2. Flow Classification .................................... 6 4.3. Flow Steering .......................................... 6 4.4. Intelligent Routing .................................... 6 4.5. Network Quality Measurement ............................ 8 4.6. Flow Forwarding......................................... 9 5. Examples of intelligent routing ............................. 9 6. IANA Considerations ........................................ 11 7. Security Considerations .................................... 11 8. References ................................................. 11 8.1. Normative References .................................. 11 8.2. Informative References ................................ 11 9. Acknowledgments ............................................ 12 Authors' Addresses ............................................ 13 1. Introduction Segment routing (SR) [RFC8402] is a source routing paradigm that explicitly indicates the forwarding path for packets at the ingress node. The ingress node steers packets into a specific path according to the Segment Routing Policy (SR Policy) as defined in [RFC9256]. In order to distribute SR policies to the headend, [I-D.ietf-idr- segment-routing-te-policy] specifies a mechanism by using BGP. An SR Policy is associated with one or more candidate paths. A composite candidate path acts as a container for grouping SR Policies. As described in section 2.2 in [RFC9256], the composite candidate path construct enables combination of SR Policies, each with explicit candidate paths and/or dynamic candidate paths with Yang, et al. Expires June 12,2025 [Page 2] Internet-Draft SR Policy Intelligent Routing Method June 2024 potentially different optimization objectives and constraints, for load-balanced steering of packet flows over its constituent SR Policies. For convenience, the composite candidate path formed by the combination of SR policies is called parent SR policy in [I- D.jiang-spring-parent-sr-policy-use-cases]. This document describes an intelligent routing method for SR Policy based on network quality in MPLS and IPv6 environments. 2. Terminology The definitions of the basic terms are identical to those found in Segment Routing Policy Architecture [RFC9256] and [I-D.jiang-spring- parent-sr-policy-use-cases]. 3. Background and Requriements In single SR Policy, there are many mechanism provide failure/degrade protection, such as TILFA, VPN FRR. However, it is not clear how to handle failure or degradation between multiple SR policies. Take the networking shown in Figure 1 below as an example to illustrate the current problems. CE1 and CE2 are the two access endpoints of the IP telecom network. There are many service flows between CE1 and CE2 that have different requirements for forwarding quality. E.g. OA and voice traffic have different SLA requirement, and were carried by different SR policies. Generally, from CE1 to CE2, voice services with low latency requirements are forwarded along the highly reliable path PE1->PE2- >CE2. The OA traffic is forwarded along the high bandwidth path PE3- >P5->P6->PE2->CE2. When failure or degradation happened in OA traffic SR policy, there should be possible to assure basic communication for OA traffic by using voice bandwidth. Yang, et al. Expires June 12,2025 [Page 3] Internet-Draft SR Policy Intelligent Routing Method June 2024 +---------------+ | Controller | +---------------+ +------+ +------+ +---------+ P1 +-----+ P2 +----------+ | +---+--+ +---+--+ | +---+--+ | \ / | | +-------+ PE1 | | \/ | | | +---+--+ | /\ | | +--+--+ | +---+--+/ \ +---+--+ +---+--+ +-----+ | CE1 | +---------+ P3 +-----+ P4 +------+ PE2 +---+ CE2 | +--+--+ +------+ +------+ +---+--+ +-----+ | | | +------+ +------+ +------+ | +-------+ PE3 +------+ P5 +-----+ P6 +----------+ +------+ +------+ +------+ Figure 1 Based on such scenarios, the following requirements are proposed: a) Maximize failure/degradation protection In case of failure or degradation detected on one SR policy, it should be possible to do inter-policy protection. b) Minimal impact after taking repairing action Repair action can be done on flow level to minimize the ripple effect cause by bandwidth spillover. c) Maximize bandwidth efficiency For some critical applications, it should be possible to spillover from high class to lower class policy in case of degradation. In order to better meet these requirements, this document proposes an intelligent routing method for SR policy based on network quality requirement. The head end node selects the optimal path according to the current network quality to improve the path switching speed and forwarding performance. Refer to [I-D.jiang-spring-sr-policy-group-use-cases], the services with different forwarding quality requirements to the same destination endpoint can be implemented through parent SR Policy group. Yang, et al. Expires June 12,2025 [Page 4] Internet-Draft SR Policy Intelligent Routing Method March 2024 Define a parent SR Policy group for the above CE1 to CE2 services. Specify the steering policies of services in the parent SR Policy group. Different services can select different SR Policy paths in the parent SR Policy group according to different quality requirements. When the head node perceives that the quality of the path of a service is deteriorating (such as bandwidth or delay degradation), it searches for other path in the group that is suboptimal and also meets its quality requirements. 4. Intelligent Routing Method for SR Policy 4.1. Processing Model The path priority is assigned to the SR policy forwarding path manually by the controller. Each path with quality requirement will be assigned with a priority value. The lower the value, the higher the priority. That is, when there is a group of qualified paths, best path will be selected with higher priority. Configure multiple SR policy paths for the service flows with specified characteristics in the parent SR Policy group. Assign the corresponding path priority to each path according to the priority order of the path. If the traffic needs to be shared by multiple SR policies, assign the same priority and sharing weight values to these SR policies. If there is a backup path for the SR policies, lower priority value should be used according to the quality requirements. After receiving the service packet with the specified characteristics, when the network quality is good, the traffic is forwarded through the path with high priority. When the network quality degradation is happened on the high priority path, such as the packet loss rate exceeds the acceptable range, switch to the next high priority path of the service. If the quality of the high priority forwarding path is restored and the specified quality requirements are met, the traffic is switched from the low priority forwarding path to the high priority forwarding path. When there are multiple paths with the same priority, the traffic will share the bandwidth on these paths with the same priority according to the weight value. According to the processing logic, the SR policy intelligent routing model can be divided into five units, including Flow Classification, Flow Steering, Intelligent Routing, Flow Forwarding, and Network Quality Measurement, as shown in Figure 2 below. Yang, et al. Expires June 12,2025 [Page 5] Internet-Draft SR Policy Intelligent Routing Method March 2024 +----------------+ +----------+ +-------------+ +------------+ | | | | | | | | | Flow |->| Flow |->| Intelligent |->| Flow | | Classification | | Steering | | Routing | | Forwarding | | | | | | | | | +----------------+ +----------+ +------+------+ +------------+ ^ | +-----------------+ | | | Network Quality | | Measurement | | | +-----------------+ Figure 2 The functions of each unit are described below. 4.2. Flow Classification After receiving the traffic, the head node first needs to label the traffic with forwarding class according to classification configuration. The head node can match flow characteristics in its ingress interfaces (upon any field such as Ethernet destination/source/VLAN/TOS or IP destination/source/DSCP or transport ports or application attribute etc.) and color them with an internal per-packet forwarding-class variable. 4.3. Flow Steering According to the forwarding class variables determined by the Flow classification, the header node selects the matching forwarding path, that is, selects the SR policy or the parent SR policy representing a group of policies. If multiple SR policy forwarding paths are configured for the traffic flow with the specified characteristics, all valid SR policies will be retrieved and handed over to the Intelligent Routing unit to select the optimal forwarding path. 4.4. Intelligent Routing According to the SR policy(policies) provided by Flow Steering, the Intelligent Routing unit obtains the current quality of each SR policy path from the Network Quality Measurement unit. Based on the Yang, et al. Expires June 12,2025 [Page 6] Internet-Draft SR Policy Intelligent Routing Method March 2024 mapping between the quality and the priority of intelligent routing, it selects the forwarding path with the highest priority and the best quality requirements for the traffic flow. +------------------------------------------------------+ | +-----------------------+ | | | SR Policy | | | +-----------------+ | (high priority) | | | | +-----------+ | | +-------------+ | | | | | Normal +----->+ | Active Path | | | | | | Flows | | | +-------------+ | | | | +-----------+ | | +-------------+ | | +--------+ | | | | | Standby Path| | | | | | | | | +-------------+ | | |Grouping| | | | +-------------------+---+ | | SR +--->+ | Policy | / | | Policy | | | Decision +<---Measurement Data -+ | | | | | | \ | | | | | | +-------------------+---+ | +--------+ | | | | +-------------+ | | | | +-----------+ | | | Active Path | | | | | | Spillover +----->+ +-------------+ | | | | | Flows | | | +-------------+ | | | | +-----------+ | | | Standby Path| | | | +-----------------+ | +-------------+ | | | | SR Policy | | | | (lower priority) | | | +-----------------------+ | +------------------------------------------------------+ Figure 3 When the network quality is good, the traffic is forwarded by the policy with high priority. When the network quality of the high priority SR policy degrades, such as the remaining bandwidth is insufficient, switch to the secondary high priority SR policy path with enough remaining bandwidth. Similarly, when the next higher priority SR policy forwarding path cannot meet the forwarding quality requirements, switch to the lower priority SR policy path. If the quality of the high priority forwarding path gets better and meets the specified quality requirements, the traffic can be recovered from the low priority forwarding path to the high priority SR policy forwarding path. If multiple SR policies in the parent SR policy have the same priority, when the traffic flow selects the path of this priority, the traffic flow will share the load on these SR policy paths according to the weight value. Yang, et al. Expires June 12,2025 [Page 7] Internet-Draft SR Policy Intelligent Routing Method June 2024 In order to better control the switchover process of SR policies between different priorities, the quality threshold and switchover waiting time can be specified. If the value of network quality degradation consistently exceeds the switchover threshold during the waiting time, select the SR policy with the next highest priority from the highest priority to the lowest. In contrast, if the network quality continues to improve, after exceeding the failback waiting time, the forwarding path can be switched to a high priority SR policy that meets the current network quality requirements. To avoid frequent path switching when the network quality is unstable, if the current path can meet the forwarding quality requirements, the head node can choose not to automatically switch back to the higher priority path in case of the quality of the higher priority path is restored. The device can provide a configuration for automatic failback, and add a restore waiting timer. Only after automatic restore is allowed and the restore waiting timer is timeout, the forwarding path switch from the current path that meets the quality requirements to the path with higher priority. 4.5. Network Quality Measurement The Network Quality Measurement unit regularly monitors the quality of all effective forwarding paths according to the measurement cycle, records the current performance measurement data of the path, and reports it to the Intelligent Routing unit, which decides whether to switch paths. The following network quality parameters of forwarding path can be used for path scheduling: * Jitter * Latency * Packet loss * Available bandwidth * Bandwidth utilization * Current traffic statistics * Other forwarding performance parameters The quality parameters of network forwarding path can be obtained through active or passive performance measurement methods, such as Yang, et al. Expires June 12,2025 [Page 8] Internet-Draft SR Policy Intelligent Routing Method March 2024 iOAM, STAMP, TWAMP, etc. The network quality parameters can be calculated by the controller and distributed to the head end node, or calculated by the head end node according to the network measurement data. The measurement method and quality parameter acquisition method are beyond the scope of this document. 4.6. Flow Forwarding The service flow is forwarded according to the path determined by the Intelligent Routing unit. When there are multiple paths with the same priority, the traffic will share the load among these SR policy paths with the same priority according to the weight value. 5. Examples of intelligent routing The application of intelligent routing is described in detail in L3VPN over TE scenario. The networking is shown in Figure 4 below. CE1 and CE2 belong to the same L3VPN and access the public network through PE1, PE2 and PE3 respectively. There are two services between CE1 and CE2: voice and OA. The traffic from CE1 to CE2 can be forwarded through two paths: Path1 (PE1->PE2->CE2) and Path2 (PE3->P5->P6->PE2->CE2). Among them, the reliability of path 1 is high and the transmission delay is low. Path 2 has a large bandwidth. The voice service traffic will be forwarded through Path1 first. The OA service traffic will be forwarded through Path2 first. When the transmission delay of Path1 exceeds the threshold value and Path2 can meet the delay requirements, switch the voice service to Path2. When the remaining bandwidth of Path2 is less than the bandwidth guarantee threshold, if Path1 still has enough remaining bandwidth, the OA traffic exceeding the bandwidth will be directed to Path1. Yang, et al. Expires June 12,2025 [Page 9] Internet-Draft SR Policy Intelligent Routing Method March 2024 +------+ +------+ +---------+ P1 +-----+ P2 +----------+ | +---+--+ +---+--+ | +---+--+ | \ / | | +-------+ PE1 | | \/ | | | +---+--+ | /\ | | +--+--+ | +---+--+/ \ +---+--+ +---+--+ +-----+ | CE1 | +---------+ P3 +-----+ P4 +------+ PE2 +---+ CE2 | +--+--+ +------+ +------+ +---+--+ +-----+ | | | +------+ +------+ +------+ | +-------+ PE3 +------+ P5 +-----+ P6 +----------+ +------+ +------+ +------+ Figure 4 The configuration on the head node CE1 includes the following three parts. These configurations can be directly configured on the node or distributed through the controller. 1. Define three intelligent routing policies, and specify the threshold of network quality, path priority and the corresponding path color value for routing. intelligent-routing-policy irp1 traffic-delay threshold 1000ms priority 1 mapping-to color 100 priority default mapping-to color 200 intelligent-routing-policy irp2 remaining-bandwidth threshold 50M priority 1 mapping-to color 200 priority default mapping-to color 100 2. Configure forwarding paths. sr-policy policy-A (color 100, CE2_SID) segment-list sr-policy policy-B (color 200, CE2_SID) segment-list Yang, et al. Expires March, 2024 [Page 10] Internet-Draft SR Policy Intelligent Routing Method June 2024 3. Configure corresponding intelligent routing policies for services with specified characteristics in the parent SR Policy group. parent-sr-policy sr-policy-1(color 10, CE2_SID) service voice use intelligent-routing-policy irp1 service oa use intelligent-routing-policy irp2 6. IANA Considerations This document has no IANA actions. 7. Security Considerations To prevent CE from arbitrarily designating intermediate network forwarding nodes without restriction, the following method can be adopted to verify the legality of the path. Verification of SRv6 path legitimacy is conducted on PE/P nodes through a verification table, with each entry including the token value and its corresponding verification information. The token serves as the index of the table, and its value could represent a path through a path SID. Verification information includes properties that determine forwarding actions, such as the legitimate incoming interface for the path and the next hop SID. SRv6 packets sent by user-side equipment (CE) need to carry the token in the innermost layer. Upon receiving the packet, the PE node extracts the token value from the innermost layer of the SID List to look up verification table information. If the packet does not include a token, the packet is discarded. If a matching result is found, the node checks whether the packet's incoming interface matches the incoming interface in the verification table entry, and whether the next hop address matches the next SID in the packet's SID List. Depending on the level of verification, forwarding only occurs when either the incoming interface, the next hop, or both match. 8. References 8.1. Normative References [I-D.ietf-idr-segment-routing-te-policy] Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., Rosen, E., Jain, D., and S. Lin, "Advertising Segment Routing Policies in BGP", draft- ietf-idr-segment-routing-te-policy-20 (work in progress), July 2022. [I-D.jiang-spring-parent-sr-policy-use-cases] Jiang, W., Cheng, W., Lin, C. and Qiu, Y., "Use Cases for Parent SR Policy", draft-jiang-spring-parent-sr-policy-use-cases-01 (work in progress), January 2023. [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, . [RFC9256] Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, July 2022, . 8.2. Informative References TBD Yang, et al. Expires June 12,2025 [Page 11] Internet-Draft SR Policy Intelligent Routing Method March 2024 9. Acknowledgments The authors would like to thank the following for their valuable contributions of this document: TBD Yang, et al. Expires June 12,2025 [Page 12] Internet-Draft SR Policy Intelligent Routing Method June 2024 Authors' Addresses Feng Yang China Mobile Beijing China Email: yangfeng@chinamobile.com Changwang Lin New H3C Technologies Beijing China Email: linchangwang.04414@h3c.com Yuanxiang Qiu New H3C Technologies Email: qiuyuanxiang@h3c.com Yang, et al. Expires June 12,2025 [Page 13]