SPRING Working Group Z. Ali Internet-Draft C. Filsfils Intended status: Standards Track P. Camarillo Expires: May 6, 2020 Cisco Systems D. Voyer Bell Canada November 3, 2019 Building blocks for Slicing in Segment Routing Network draft-ali-spring-network-slicing-building-blocks-02.txt Abstract This document describes how to build network slice using the Segment Routing based technology. It explains how the existing building blocks specified for the Segment Routing can be used for this purpose. 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 May 6, 2020. Copyright Notice Copyright (c) 2019 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. [Page 1] Internet-Draft Network Slicing Using SR Table of Contents 1 Introduction...................................................2 2 Segment Routing Policy.........................................3 2.1 Flex-Algorithm Based SR Policies .........................4 2.2 On-demand SR policy ......................................5 2.3 Automatic Steering .......................................6 2.4 Inter-domain Considerations ..............................6 3 TI-LFA and Microloop Avoidance.................................7 4 SR VPN.........................................................7 5 Stateless Service Programming..................................7 6 Operations, Administration, and Maintenance (OAM)..............8 7 QoS............................................................8 8 Orchestration at the Controller................................9 9 Illustration...................................................9 10 Security Considerations .....................................9 11 IANA Considerations ........................................10 12 References .................................................10 12.1 Normative References ..................................10 7.2...........................................................10 13 Acknowledgments ............................................10 14 Contributors ...............................................10 1 Introduction As more and more Service Providers and Enterprises operate a single network infrastructure to support an ever-increasing number of services, the ability to custom fit transport to application needs is critically important. This includes creating network slices with different characteristics can coexist on top of the shared network infrastructure. Network Slicing is meant to create (end-to-end) partitioned network infrastructure that can be used to provide differentiated connectivity behaviors to fulfill the requirements of a diverse set of services. Services belonging to different Network slices can be wholly disjoint or can share different parts of the network infrastructure. Network Slicing is one of the requirements in 5G [3GPP 23501]. Segment Routing enables Service Providers to support Network Slicing without any additional protocol, other than the SR IGP extensions. The network as a whole, in a distributed and entirely automated manner, can share a single infrastructure resource along multiple virtual services (slices). For example, one slice is optimized continuously for low-cost transport; a second Slice is optimized continuously for low-latency transport; a third Slice is orchestrated to support disjoint Internet-Draft Network Slicing Using SR services, etc. The optimization objective of each of these slices is programmable by the operator. The Segment Routing specification already contains the various building blocks required to create network slices. This includes the following. . SR Policy with or without Flexible Algorithm. . TI-LFA with O(50 msec) protection in the slice underlay. . SR VPN. . SR Service Programming (NFV, SFC). . Operation, Administration and Management (OAM) and Performance Management (PM). . QoS using DiffServ. . Orchestration at the Controller. Each of these building blocks works independently of each other. Their functionality can be combined to satisfy service provider's requirement for the Network Slicing. An external controller plays an important role to orchestrate these building blocks into a Slicing service. This document elaborates on the attributes of each of these building blocks for Network Slicing. The document also highlights how services in each Slice can benefit from traffic engineering, network function virtualization/ service chaining (service programming), OAM, performance management, SDN readiness, O (50 msec) TI-LFA protection, etc. features of SR while respecting resource partitioning employed over the common networking infrastructure. The document equally applicable to the MPLS and SRv6 instantiations of segment routing. The following subsection elaborates on each of these build blocks. 2 Segment Routing Policy Segment Routing (SR) allows a headend node to steer a packet flow along any path without creating intermediate per-flow states [I-D.ietf-spring-segment-routing-policy]. The headend node steers a flow into a Segment Routing Policy (SR Policy). I.e., the SR Policy can be used to steer traffic along any arbitrary path in the network. This allows operators to enforce low-latency and / or disjoint paths, regardless of the normal forwarding paths. Internet-Draft Network Slicing Using SR The SR policy is able to support various optimization objectives [I-D.draft-filsfils-spring-sr-policy-considerations]. The optimization objectives can be instantiated for the IGP metric ([RFC1195] [RFC2328] [RFC5340]) xor the TE metric ([RFC5305], [RFC3630]) xor the latency extended TE metric ([RFC7810] [RFC7471]). In addition, an SR policy is able to various constraints, including inclusion and/or exclusion of TE affinity, inclusion and/or exclusion of IP address, inclusion and/or exclusion of SRLG, inclusion and/or exclusion of admin- tag, maximum accumulated metric (IGP, TE, and latency), maximum number of SIDs in the solution SID-List, maximum number of weighted SID-Lists in the solution set, diversity to another service instance (e.g., link, node, or SRLG disjoint paths originating from different head-ends), etc. [I-D.draft-filsfils- spring-sr-policy-considerations]. The supports for various optimization objectives and constraints enables SR policy to create Slices in the network. SR policy can be instantiated with or without IGP Flexible Algorithm feature. The following subsection describes the SR Flexible Algorithm feature and how SR policy can utilize this feature. 2.1 Flex-Algorithm Based SR Policies Flexible Algorithm enriches the SR Policy solution by adding additional segments having different properties than the IGP Prefix segments. Flex Algo adds flexible, user-defined segments to the SRTE toolbox. Specifically, it allows for association of the "intent" to Prefix SIDs. [I-D.ietf-lsr-flex-algo] defines the IGP based Flex-Algorithm solution which allows IGPs themselves to compute paths constraint by the "intent" represented by the Flex-Algorithm. The Flex-Algorithm has the following attributes: . Algorithm associate to the SID a specific TE intent expressed as an optimization objective (an algorithm) [I- D.ietf-lsr-flex-algo]. . Flexibility includes the ability of network operators to define the intent of each algorithm they implement. . By design the mapping between the Flex-Algorithm and its meaning is flexible and is defined by the user. . Flexibility also includes ability for operators to make the decision to exclude some specific links from the shortest path computation, e.g., Internet-Draft Network Slicing Using SR o operator 1 may define Algo 128 to compute the shortest path for TE metric and exclude red affinity links. o operator 2 may define Algo 128 to compute the shortest path for latency metric and exclude blue affinity links. A Network Slice can be created by associating a Flexible- Algorithm value with the Slice via provisioning. Flex Alg leverages SR on-demand next hop (ODN) and Automated Steering for intent-based instantiation of traffic engineered paths described in the following sub-sections. Specifically, as specified in [I-D.ietf-spring-segment-routing] the IGP Flex Algo Prefix SIDs can also be used as segments within SR Policies thereby leveraging the underlying IGP Flex Algo solution. 2.2 On-demand SR policy Segment Routing On-Demand Next-hop (ODN) functionality enables on-demand creation of SR Policies for service traffic. Using a Path Computation Element (PCE), end-to-end SR Policy paths can be computed to provide end-to-end Segment Routing connectivity, even in multi-domain networks running with or without IGP Flexible-Algorithm [I-D.draft-ietf-spring-segment-routing- policy]. The On-Demand Next-hop functionality provides optimized service paths to meet customer and application SLAs (such as latency, disjointness) without any pre-configured TE tunnel and with the automatic steering of the service traffic on the SR Policy without a static route, autoroute-announce, or policy-based routing. With this functionality, a Network Service Orchestrator can deploy the service based on their requirements. The service head-end router requests the PCE to compute the path for the service and then instantiates an SR Policy with the computed path and steers the service traffic into that SR Policy. If the topology changes, the stateful PCE updates the SR Policy path. This happens seamlessly, while TI-LFA protects the traffic in case the topology change happened due to a failure. Internet-Draft Network Slicing Using SR 2.3 Automatic Steering Automatically steering traffic into a Network Slice is one of the fundamental requirement for Slicing. That is made possible by the "Automated Steering" functionality of SR. Specifically, SR policy can be used for traffic engineer paths within a slice, "automatically steer" traffic to the right slice and connect IGP Flex-Algorithm domains sharing the same "intent". A headend can steer a packet flow into a valid SR Policy within a slice in various ways [I-D.draft-ietf-spring-segment-routing- policy]: . Incoming packets have an active SID matching a local Binding SID (BSID) at the headend. . Per-destination Steering: incoming packets match a BGP/Service route which recurses on an SR policy. . Per-flow Steering: incoming packets match or recurse on a forwarding array of where some of the entries are SR Policies. . Policy-based Steering: incoming packets match a routing policy which directs them on an SR policy. 2.4 Inter-domain Considerations The network slicing needs to be extended across multiple domains such that each domain can satisfy the intent consistently. SR has native inter-domain mechanisms, e.g., SR policies are designed to span multiple domains using a PCE based solution [I- D.ietf-spring-segment-routing], [I-D.ietf-spring-segment- routing-central-epe]. An edge router upon service configuration automatically requests to the Segment Routing PCE an inter- domain path to the remote service endpoint. The path can either be for simple best-effort inter-domain reachability or for reachability with an SLA contract and can be restricted to a Network Slice. The SR native mechanisms for inter-domain are easily extendable to include the case when different IGP Flex-Algorithm values are used to represent the same intent. E.g., in domain1 Service Provider 1 (SP1) may use flex-algo 128 to indicate low latency Slice and in domain2 Service Provider 2 (SP2) may use flex-algo 129 to indicate low latency Slice. When an automation system at a PE1 in SP1 network configures a service with next hop (PE2) in SP2 network, SP1 contacts a Path Computation Element (PCE) to find a route to PE2. In the request, the PE1 also indicates the intent (i.e., the Flex-Algo 128) in the PCEP message. As the PCE has a complete understanding of both Domains, it can understand the path computation in Domain1 needs to be performed for Algorithm 128 and path computation in Domain2 needs to be Internet-Draft Network Slicing Using SR performed for Algorithm 129 (i.e., in the Low Latency Network Slice in both domains). 3 TI-LFA and Microloop Avoidance The Segment Routing-based fast-reroute solution, TI-LFA, can provide per-destination sub-50msec protection upon any single link, node or SRLG failure regardless of the topology. The traffic is rerouted straight to the post-convergence path, hence avoiding any intermediate flap via an intermediate path. The primary and backup path computation is completely automatic by the IGP. [I-D.draft-bashandy-rtgwg-segment-routing-ti-lfa] proposes a Topology Independent Loop-free Alternate Fast Re-route (TI-LFA), aimed at protecting node and adjacency segments within O(50 msec) in the Segment Routing networks. Furthermore, [I-D. draft- bashandy-rtgwg-segment-routing-uloop] provides a mechanism leveraging Segment Routing to ensure loop-freeness during the IGP reconvergence process following a link-state change event. As mentioned earlier, Network Slicing in Segment Routing works seamlessly with all the other components of the Segment Routing. This, of course, includes TI-LFA and microloop avoidance within a Slice, with the added benefit that backup path only uses resources available to the Slice. For example, when Flexible Algorithm is used, the TI-LFA backup path computation is performed such that it is optimized per Flexible-Algorithm. The backup path shares the same properties are the primary path. The backup path does not use a resource outside the Slice of the primary path it is protecting. 4 SR VPN Virtual Private Networks (VPNs) provides a mean for creating a logically separated network to a different set of users access to a common network. Segment Routing is equipped with the rich multi-service virtual private network (VPN) capabilities, including Layer 3 VPN (L3VPN), Virtual Private Wire Service (VPWS), Virtual Private LAN Service (VPLS), and Ethernet VPN (EVPN). The ability of Segment Routing to support different VPN technologies is one of the fundamental building blocks for creating slicing an SR network. 5 Stateless Service Programming Internet-Draft Network Slicing Using SR An important part of the Network Slicing is the orchestration of virtualized service containers. [I-D.draft-xuclad-spring-sr- service-chaining] describes how to implement service segments and achieve stateless service programming in SR-MPLS and SRv6 networks. It introduces the notion of service segments. The ability of encoding the service segments along with the topological segment enables service providers to forward packets along a specific network path, but also steer them through VNFs or physical service appliances available in the network. In an SR network, each of the service, running either on a physical appliance or in a virtual environment, is associated with a segment identifier (SID) for the service. These service SIDs are then leveraged as part of a SID-list to steer packets through the corresponding services. Service SIDs may be combined with topological SIDs to achieve service programming while steering the traffic through a specific topological path in the network. In this fashion, SR provides a fully integrated solution for overlay, underlay and service programming building blocks needed to satisfy network slicing requirements. 6 Operations, Administration, and Maintenance (OAM) There are various OAM elements that are critical to satisfy Network Slicing requirements. These includes but not limited to the following: . Measuring per-link TE Matric. . Flooding per-link TE Matric. . Taking TE Matric into account during path calculation. . Taking TE Matric bound into account during path calculation. . SLA Monitoring: Service Provider can monitor each SR Policy in a Slice to Monitor SLA offered by the Policy using technique described in [I-D.draft-gandhi-spring-udp-pm]. This includes monitoring end-to-end delays on all ECMP paths of the Policy as well as monitoring traffic loss on a Policy. Remedial mechanisms can be used to ensure that the SR policy conforms to the SLA contract. 7 QoS Segment Routing relies on MPLS and IP Differentiated Services. Differentiated services enhancements are intended to enable scalable service discrimination in the Internet without the need for per-flow state and signaling at every hop. [RFC2475] defines Internet-Draft Network Slicing Using SR an architecture for implementing scalable service differentiation in the Internet. This architecture is composed of many functional elements implemented in network nodes, including a small set of per-hop forwarding behaviors, packet classification functions, and traffic conditioning functions including metering, marking, shaping, and policing. The DiffServ architecture achieves scalability by implementing complex classification and conditioning functions only at network boundary nodes, and by applying per-hop behaviors to aggregates of traffic depending on the traffic marker. Specifically, the node at the ingress of the DiffServ domain conditions, classifies and marks the traffic into a limited number of traffic classes. The function is used to ensure that the slice's traffic conforms to the contract associated with the slice. Per-hop behaviors are defined to permit a reasonably granular means of allocating buffer and bandwidth resources at each node among competing traffic streams. Specifically, per class scheduling and queuing control mechanisms are applied at each IP hop to the traffic classes depending on packet's marking. Techniques such as queue management and a variety of scheduling mechanisms are used to get the required packet behavior to meet the slice's SLA. 8 Orchestration at the Controller A controller plays a vital role in orchestrating the SR building blocks discussed above to create Network Slices. The controller also performs admission control and traffic placement for slice management at the transport layer. The SDN friendliness of the SR technology becomes handy to realize the orchestration. The controller may use PCEP or Netconf to interact with the routers. The router implements Yang model for SR-based network slicing. Specification of the controller technology for orchestrating Network Slices, services and admission control for the services is outside the scope of this draft. 9 Illustration To be added in a later revision. 10 Security Considerations This document does not impose any additional security challenges. Internet-Draft Network Slicing Using SR 11 IANA Considerations This document does not define any new protocol or any extension to an existing protocol. 12 References 12.1 Normative References 7.2. Informative References [I-D.filsfils-spring-segment-routing-policy] Filsfils, C., Sivabalan, et al, "Segment Routing Policy For Traffic Engineering", draft-filsfils-spring-segment- routing-policy-05 (work in progress), February 2018. [I-D.ietf-lsr-flex-algo] P. Psenak, et al, draft-ietf-lsr-flex-algo, work in progress. [I-D.ietf-spring-segment-routing] Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", draft-ietf-spring-segment-routing-15 (work in progress), January 2018. [I-D.draft-filsfils-spring-sr-policy-considerations] Filsfils, C., et al. draft-filsfils-spring-sr-policy- considerations (work in progress) 13 Acknowledgments 14 Contributors Internet-Draft Network Slicing Using SR Authors' Addresses Zafar Ali Cisco Systems, Inc. Email: zali@cisco.com Clarence Filsfils Cisco Systems, Inc. Email: cf@cisco.com Pablo Camarillo Garvia Cisco Systems, Inc. Email: pcamaril@cisco.com Daniel Voyer Bell Canada Email: daniel.voyer@bell.ca