LSR Working Group W. Britto Internet-Draft R. Shetty Intended status: Standards Track C. Barth Expires: August 26, 2021 Juniper Networks B. Wen Comcast S. Peng R. Chen ZTE Corporation February 22, 2021 IGP Extensions for Support of Slice Aggregate Aware Traffic Engineering draft-bestbar-lsr-slice-aware-te-00 Abstract A slice aggregate is a collection of packets that match a slice policy selection criteria and are given the same forwarding treatment. Slice Aggregate aware Traffic Engineering (SA-TE) is a mechanism that facilitates Traffic Engineering (TE) path selection to take into account the available network resources associated with a specific slice aggregate. This document specifies the Interior Gateway Protocol (IGP) extensions for support of SA-TE. This includes the generalization of the semantics of a number of IGP extensions already defined for existing MPLS Traffic Engineering in [RFC3630], [RFC4124], [RFC5305] and additional IGP extensions beyond those. 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 August 26, 2021. Britto, et al. Expires August 26, 2021 [Page 1] Internet-Draft IGP Slice Aware TE February 2021 Copyright Notice Copyright (c) 2021 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Resource Allocation . . . . . . . . . . . . . . . . . . . . . 4 4.1. Resource Sharing and Resource Overbooking . . . . . . . . 5 4.2. SA-TE Resource Allocation Model . . . . . . . . . . . . . 5 5. Next-hop Filtering Capability . . . . . . . . . . . . . . . . 5 6. IS-IS Extensions for SA-TE . . . . . . . . . . . . . . . . . 7 6.1. Network Slicing GENINFO TLV . . . . . . . . . . . . . . . 7 6.2. Slice Aggregate Aware Traffic Engineering Capabilities APPsub-TLV . . . . . . . . . . . . . . . . . . . . . . . 7 6.3. Slice Aggregate Aware Traffic Engineering Link APPsub-TLV 8 6.4. Slice Aggregate Aware Traffic Engineering Link Attributes Sub-sub-TLV . . . . . . . . . . . . . . . . . . . . . . . 10 6.4.1. Slice Aggregate Aware Traffic Engineering Unreserved Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . . 10 6.4.2. Slice Aggregate Aware Traffic Engineering Residual Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . . 11 6.4.3. Slice Aggregate Aware Traffic Engineering Available Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . . 11 6.4.4. Slice Aggregate Aware Traffic Engineering Utilized Bandwidth Sub-sub-sub-TLV . . . . . . . . . . . . . . 12 7. OSPF Extensions for SA-TE . . . . . . . . . . . . . . . . . . 12 8. Functional Example of Unreserved-Bandwidth Advertisements . . 12 8.1. Formula to Compute the Unreserved Bandwidth . . . . . . . 12 8.2. Examples . . . . . . . . . . . . . . . . . . . . . . . . 13 8.2.1. Example 1 Results . . . . . . . . . . . . . . . . . . 15 8.2.2. Example 2 Results . . . . . . . . . . . . . . . . . . 16 8.2.3. Example 3 Results . . . . . . . . . . . . . . . . . . 17 9. Scaling Considerations . . . . . . . . . . . . . . . . . . . 18 9.1. Link-State Update Frequency . . . . . . . . . . . . . . . 18 Britto, et al. Expires August 26, 2021 [Page 2] Internet-Draft IGP Slice Aware TE February 2021 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 10.1. Network Slicing GENINFO TLV . . . . . . . . . . . . . . 18 10.2. Network Slicing GENINFO APPsub-TLVs . . . . . . . . . . 18 10.3. SA-TE Link Sub-sub-TLVs . . . . . . . . . . . . . . . . 19 10.4. SA-TE Link Attributes Sub-sub-sub-TLVs . . . . . . . . . 19 11. Security Considerations . . . . . . . . . . . . . . . . . . . 20 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 12.1. Normative References . . . . . . . . . . . . . . . . . . 20 12.2. Informative References . . . . . . . . . . . . . . . . . 22 Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 22 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 1. Introduction Network slicing allows a Service Provider to create independent and logical networks on top of a common or shared physical network infrastructure. Such network slices can be offered to customers or used internally by the Service Provider to facilitate or enhance their service offerings. A Service Provider can also use network slicing to structure and organize the elements of its infrastructure. [I-D.bestbar-teas-ns-packet] provides a path control technology agnostic solution that a Service Provider can deploy to realize network slicing in IP/MPLS networks. It introduces the notion of a slice aggregate and describes how a slice policy can be used to realize a slice aggregate by instantiating specific control and data plane behaviors on select topological elements in IP/MPLS networks. In the control plane slice policy mode described in Section 4.2 of [I-D.bestbar-teas-ns-packet], the physical network resources in the network can be logically partitioned by having a representation of network resources appear in a virtual topology. The virtual topology can contain all or a subset of the physical network resource(s). The logical network resources that appear in the virtual topology can reflect a part, whole, or in- excess of the physical network resource capacity (when oversubscription is desirable).To perform network state dependent path computation and placement (Slice Aggregate aware TE) in this mode, the resource reservation on each link needs to be slice aggregate aware. Multiple slice policies may be applied on the same physical link. The slice aggregate network resource availability on links is updated when new paths are placed in the network. The slice aggregate resource reservation, in this case, can be maintained on each device or be centralized on a resource reservation manager that holds reservation states on links in the network. This document will describe the IGP extensions required to describe a network slice aggregate's logical network resources. Britto, et al. Expires August 26, 2021 [Page 3] Internet-Draft IGP Slice Aware TE February 2021 2. 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. Terminology The reader is expected to be familiar with the terminology specified in [I-D.ietf-teas-ietf-network-slice-definition], [I-D.nsdt-teas-ns-framework] and [I-D.bestbar-teas-ns-packet]. The term "Network Slice" used in this document must be interpreted as "IETF Network Slice" [I-D.ietf-teas-ietf-network-slice-definition]. For readability, a few key terms from these documents are repeated here: IETF Network Slice: a well-defined composite of a set of endpoints, the Connectivity requirements between subsets of these endpoints, and Associated service requirements; the term 'network slice' in this Document refers to 'IETF network slice' [I-D.ietf-teas-ietf-network-slice-definition]. Slice Policy: a policy construct that enables instantiation of mechanisms in support of IETF network slice specific control and data plane behaviors on select topological elements; the enforcement of a slice policy results in the creation of a slice aggregate. Slice Aggregate: a collection of packets that match a slice policy selection criteria and are given the same forwarding treatment; a slice aggregate comprises of one or more IETF network slice traffic streams; the mapping of one or more IETF network slices to a slice aggregate is maintained by the IETF Network Slice Controller. Slice Aggregate aware TE (SA-TE): a mechanism for TE path selection that takes into account the available network resources associated with a specific slice aggregate. 4. Resource Allocation For SA-TE, the existing "Maximum Reservable link bandwidth" MUST be maintained, but it remains generalized and interpreted as the aggregate usable bandwidth across all slice aggregates. Britto, et al. Expires August 26, 2021 [Page 4] Internet-Draft IGP Slice Aware TE February 2021 4.1. Resource Sharing and Resource Overbooking [I-D.bestbar-teas-yang-ns-phd] allows a network administrator to apply different overbooking (or underbooking) ratios for different slice aggregates or groups of slice aggregates. The principal method to achieve this is through the definition of per slice aggregate maximum bandwidth value along with a Shared-Resource-Group identifier (SRG). When the SRG is included for a slice aggregate within the slice policy, resources may be shared between slices of the same shared- resource-group. Strict resources sharing is only enforced between shared-resource-groups. When there is resource contention, as a result of a reduction of network capacity, slice aggregate specific paths may be preempted on a priority basis to ensure continuous enforcement of the resource allocation policy as defined by the slice policy. 4.2. SA-TE Resource Allocation Model [RFC4125] defines the Maximum Allocation Model (MAM) in support of [DST-TE REQ]. Resource guarantees, sharing and overbooking for slice aggregates follow the MAM. 5. Next-hop Filtering Capability Per Slice Aggregate Next Hop filtering is an important capability for the path computing entity of a slice aggregate specific path. Consider the figure below and the incongruent slice aggregate membership outlined in Table 1. +----+ +------| r2 |-----+ | +----+ | | | +----+ +----+ +----+ +----+ +----+ | r0 |---| r1 |===| r3 |===| r5 |---| r6 | +----+ +----+ +----+ +----+ +----+ | | | +----+ | +------| r4 |-----+ +----+ Figure 1: Sample Topology Britto, et al. Expires August 26, 2021 [Page 5] Internet-Draft IGP Slice Aware TE February 2021 +-------------------+------------+------------------+ | Link | IGP metric | Slice Aggregates | +-------------------+------------+------------------+ | (r0,if1)-(r1,if1) | 10 | SA2, SA1 | | (r1,if2)-(r2,if1) | 10 | SA2 | | (r2,if2)-(r5,if1) | 10 | SA2 | | (r1,if3)-(r3,if1) | 10 | SA2 | | (r3,if3)-(r5,if2) | 10 | SA2 | | (r1,if4)-(r3,if2) | 10 | SA1 | | (r3,if4)-(r5,if3) | 10 | SA1 | | (r1,if5)-(r4,if1) | 10 | SA1 | | (r4,if2)-(r5,if4) | 10 | SA1 | | (r5,if5)-(r6,if1) | 10 | SA2, SA1 | +-------------------+------------+------------------+ Table 1: Incongruent Slice Aggregate membership Consider if r0 is the path computing entity and requires a segment- routing policy towards r6 via only links and nodes that are members of the SA2 slice aggregate and maximizing link utilization via ECMP. r1 has 4 equal cost Next Hops to r6 over if2 (via r2), if3 (via r3), if4 (via r3), and if5 (via r4). However, the links from r1 over if4 (to r3) and over if5 (to r4) are not members of the SA2 slice. Without any Per Slice Aggregate Next Hop filtering, r0 would need to compute two segment-lists consisting of several segments and load- balance equally between them to ensure traffic sent to r1 is forwarded over SA2 links. The two segment-lists may look like: segment-list1: [, ] segment-list2: [, , ] When r1 supports Per Slice Aggregate Next Hop filtering on SR segments, it can advertise this capability in the SR network. r0 (or a PCE) can build a Per Slice aggregate topology and compute Per Slice aggregate ECMP paths for an SR node segment. Thus, for the same earlier example, r0 would be able to use a single segment (r6's node- SID) to steer over slice aggregate traffic over the SA2 slice. As described in [I-D.bestbar-spring-scalable-ns], when a Global Identifier as Slice Selector is carried in the packet to identify the slice aggregate, r0 can use r6's node-SID to steer the packet over the specific next-hops that belong to SA2 slice aggregate. For example on transit router r1, the SS field in the packet is used to identify the slice aggregate SA2, while r6.node-SID is used to Britto, et al. Expires August 26, 2021 [Page 6] Internet-Draft IGP Slice Aware TE February 2021 determine the subset of next-hops that are member of slice aggregate SA2. 6. IS-IS Extensions for SA-TE As discussed in [I-D.bestbar-teas-ns-packet], routing protocols need to be extended to carry additional per slice link state and nodes need to advertise a slice policy capability. This information will not be used by the IS-IS decision process. 6.1. Network Slicing GENINFO TLV [RFC6823] describes the use of GENINFO TLV to advertise application- specific information that is not directly related to the operation of the IS-IS protocol. The current document defines a new Network Slicing Application Identifier under the Generic Information TLV (#251). Both V and I flags of the Network Slicing GENINFO TLV SHOULD be unset. The Network Slicing GENINFO TLV MAY be carried in the zero IS-IS instance or a non-zero IS-IS instance. 6.2. Slice Aggregate Aware Traffic Engineering Capabilities APPsub-TLV This document defines a new APPsub-TLV under Network Slicing GENINFO TLV, to announce a node's SA-TE capability within a slice policy domain. A node can also advertise its ability to install slice aggregate specific Next Hops via this APPsub-TLV. The Slice Aggregate Aware Traffic Engineering (SA-TE) Capabilities APPsub-TLV may contain optional sub-sub-TLVs. No sub-sub-TLVs are currently defined. The SA-TE Capabilities APPsub-TLV has the following format: 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 | Length | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | optional sub-sub-TLVs... Figure 2: SA-TE Capabilities APPsub-TLV o Type: (Value TBD by IANA) Britto, et al. Expires August 26, 2021 [Page 7] Internet-Draft IGP Slice Aware TE February 2021 o Length: 2 + length of sub-sub-TLVs o Flags: 2 octets. The following flags are defined: 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 3: Slicing Capability Flags where: N-flag: If set, the router supports Per Slice Next Hop filtering. For purposes of extensibility, currently only one flag is defined. The receipt of a SA-TE Capabilities APPsub-TLV without N flag set is valid, but there is no semantic meaning defined at this time. The SA-TE Capabilities APPsub-TLV MUST NOT appear more than once in a Network Slicing GENINFO TLV. If it appears more than once, the Network Slicing GENINFO TLV MUST be ignored by the receiver. 6.3. Slice Aggregate Aware Traffic Engineering Link APPsub-TLV The SA-TE Link APPsub-TLV is an APPsub-TLV under the Network Slicing GENINFO TLV. This APPsub-TLV is used to advertise link information used by a SA-TE Application. It can carry link identification information which can be used by a SA-TE Application to uniquely identify a link. The following illustrates encoding of the Value field of the IS-IS SA-TE Link APPsub-TLV. Britto, et al. Expires August 26, 2021 [Page 8] Internet-Draft IGP Slice Aware TE February 2021 No. of octets +-----------------------+ | System ID | 6 +-----------------------+ | Psuedonode Number | 1 +-----------------------+ | Flags | 1 +-----------------------+ | Link Identification | | Information | 0 to 24 +-----------------------+ | Sub-TLVs | Optional +-----------------------+ Flags 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |Reserved |S|F|I| +-+-+-+-+-+-+-+-+ Figure 4: SA-TE Link APPsub-TLV The neighbor is identified by its System ID (6 octets), plus one octet to indicate the pseudonode number if the neighbor is on a LAN interface. The following bit flags are defined I bit (0x01): When the I bit is set, the 4-octet Link Local Identifier associated with the link immediately follows the Flags. F bit (0x02): When the F bit is set, the 4-octet IPv4 interface address of the link immediately follows either the Flags (if I bit is clear) or the Link Local Identifier (if I bit is set). S bit (0x04): When the S bit is set, the 16-octet IPv6 interface address of the link immediately follows the Flags (if both F and I bits are clear) or the Link Local Identifier (if I flag is set but F flag is not) or the IPv4 address (if F bit is set). The Link Identification Information could have any or all of the Link Local Identifier, IPv4 interface address and IPv6 interface address of the link. Britto, et al. Expires August 26, 2021 [Page 9] Internet-Draft IGP Slice Aware TE February 2021 6.4. Slice Aggregate Aware Traffic Engineering Link Attributes Sub-sub- TLV The SA-TE Link Attributes Sub-sub-TLV is a sub-sub-TLV under the SA- TE Link APPsub-TLV. This sub-sub-TLV advertises various bandwidth attributes on a particular link for a specific network slice. There MAY be a SA-TE Link Attributes Sub-sub-TLV for each network slice the link participates in. The "SA-TE Link Attributes" sub-sub-TLV format is illustrated below: 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 | Length | Reserved | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Slice Aggregate ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Optional Sub-sub-sub-TLVs ... Figure 5: SA-TE Link Attributes Sub-sub-TLV Type: (Value TBD by IANA) Length: 4 to 20 based on Flags Slice Aggregate ID: 32-bit slice aggregate identifier. Flags: 1-octet field for future use. 6.4.1. Slice Aggregate Aware Traffic Engineering Unreserved Bandwidth Sub-sub-sub-TLV The SA-TE Unreserved Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV under the SA-TE Link Attributes Sub-sub-TLV. This Sub-sub-sub-TLV advertises the unreserved bandwidth on a particular link for a specific network slice aggregate. The SA-TE Unreserved Bandwidth Sub-sub-sub-TLV can carry up to eight bandwidth values, one for each priority level. The units are bytes (not bits!) per second. The "SA-TE Unreserved Bandwidth" Sub-sub-sub-TLV format is illustrated below: Britto, et al. Expires August 26, 2021 [Page 10] Internet-Draft IGP Slice Aware TE February 2021 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 | Length | Reserved | Priority# | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | unreserved-bw for the lowest set priority bit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // . . . // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | unreserved-bw for the highest set priority bit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6: SA-TE Unreserved Bandwidth Sub-sub-sub-TLV o Type: (Value TBD by IANA) o Length: Variable. o Priority#: Bit-map defining the priority values in use. Up to 8 priority values can be used. o Unreserved-bw: Unreserved link bandwidth on the link where each unreserved-bw entry corresponds to a non-zero bit in the Priority field, starting at the least significant bit. 6.4.2. Slice Aggregate Aware Traffic Engineering Residual Bandwidth Sub-sub-sub-TLV The SA-TE Residual Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV under the SA-TE Link Attributes Sub-sub-TLV. This Sub-sub-sub-TLV advertises the residual bandwidth on a particular link for a specific Network slice aggregate. The format of SA-TE Residual Bandwidth Sub-sub-sub-TLV matches the format of Unidirectional Residual Bandwidth Sub-TLV defined in [RFC8570]. 6.4.3. Slice Aggregate Aware Traffic Engineering Available Bandwidth Sub-sub-sub-TLV The SA-TE Available Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV under the SA-TE Link Attributes Sub-sub-TLV. This Sub-sub-sub-TLV advertises the available bandwidth on a particular link for a specific Network slice aggregate. The format of SA-TE Available Bandwidth Sub-sub-sub-TLV matches the format of Unidirectional Available Bandwidth Sub-TLV defined in [RFC8570]. Britto, et al. Expires August 26, 2021 [Page 11] Internet-Draft IGP Slice Aware TE February 2021 6.4.4. Slice Aggregate Aware Traffic Engineering Utilized Bandwidth Sub-sub-sub-TLV The SA-TE Utilized Bandwidth Sub-sub-sub-TLV is a Sub-sub-sub-TLV under the SA-TE Link Attributes Sub-sub-TLV. This Sub-sub-sub-TLV advertises the utilized bandwidth on a particular link for a specific Network slice aggregate. The format of SA-TE Utilized Bandwidth Sub-sub-sub-TLV matches the format of Unidirectional Utilized Bandwidth Sub-TLV defined in [RFC8570]. 7. OSPF Extensions for SA-TE A future version of this document will define OSPF extensions for SA- TE. 8. Functional Example of Unreserved-Bandwidth Advertisements For illustration purposes, we now present a few examples of how these extensions may be used. 8.1. Formula to Compute the Unreserved Bandwidth For a slice 's' at priority 'p' on a specific TE link, where: s : Slice-name p : reservation priority (0-7) { S } : Set containing all slice names in the network Unreserv-BW(s, p) = MIN ( [ Max-resv-shared-BW(s) - Sum { Reserved-BW(s, q) } ] for all q <= p, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for all c = { S } & q <= p ) The formula above is generic and applies for all priority values (0-7) Britto, et al. Expires August 26, 2021 [Page 12] Internet-Draft IGP Slice Aware TE February 2021 8.2. Examples All these examples assume two slice aggregates, SA2 and SA1, with the following configuration parameters: Per TE link resource allocation: Max-BW(interface): 10G (derived from the physical interface BW) Max-resv-BW(interface): 10G (default: equal to Max-BW) Slice Policy: Max-resv-shared-BW(SA1): 10G Max-resv-shared-BW(SA2): 7G +------+ | +-------------+ | | . ( )--->ef (critical priority, p=0) | | . SA1 ( )-->af1 (high priority, p=1) | | . ( )-->af2 (normal priority, p=2) | | . ( )--->be (low priority, p-3) | +-------------+ | | | +-------------+ | | . ( )--->ef (critical priority, p=0) | | . SA2 ( )-->af1 (high priority, p=1) | | . ( )-->af2 (normal priority, p=2) | | . ( )--->be (low priority, p=3) | +-------------+ +------+ Figure 7: Example 10G Interface with 2 Slice Aggregates The reservation priority in the following examples will use the names critical, high, normal and low corresponding to priority values 0-3. The unreserved-BW for each slice, priority can be described with the following formulas: Unreserv-BW(SA1, critical) = MIN ( [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q = { critical }, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = { SA1, SA2 } & q = { critical } Britto, et al. Expires August 26, 2021 [Page 13] Internet-Draft IGP Slice Aware TE February 2021 ) Unreserv-BW(SA1, high) = MIN ( [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q = { critical, high }, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = { SA1, SA2 } & q = { critical, high } ) Unreserv-BW(SA1, normal) = MIN ( [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q = { critical, high, normal }, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = { SA1, SA2 } & q = { critical, high, normal } ) Unreserv-BW(SA1, low) = MIN ( [ Max-resv-shared-BW(SA1) - Sum { Reserved-BW(SA1, q) } ] for q = { critical, high, normal, low }, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = { SA1, SA2 } & q = { critical, high, normal, low } ) Unreserv-BW(SA2, critical) = MIN ( [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q = { critical }, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) } ] for c = { SA1, SA2 } & q = { critical } ) Unreserv-BW(SA2, high) = MIN ( [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q = { critical, high }, Britto, et al. Expires August 26, 2021 [Page 14] Internet-Draft IGP Slice Aware TE February 2021 [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) ] for c = { SA1, SA2 } & q = { critical, high } ) Unreserv-BW(SA2, normal) = MIN ( [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q = { critical, high, normal }, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) ] for c = { SA1, SA2 } & q = { critical, high, normal } ) Unreserv-BW(SA2, low) = MIN ( [ Max-resv-shared-BW(SA2) - Sum { Reserved-BW(SA2, q) } ] for q = { critical, high, normal, low }, [ Max-resv-BW(interface) - Sum { Reserved-BW(c, q) ] for c = { SA1, SA2 } & q = { critical, high, normal, low } ) 8.2.1. Example 1 Results Time0: no LSPs Unreserv-BW(SA1, q) = 10G, for q = { critical, high, normal, low } Unreserv-BW(SA2, q) = 10G, for q = { critical, high, normal, low } Time1: new SA1, normal LSP 5G Unreserv-BW(SA1, normal) = 5G Unreserv-BW(SA1, low) = 5G Unreserv-BW(SA2, normal) = 5G Unreserv-BW(SA1, low) = 5G No change to other Unreserv-BW values Note: If a reservation is made at a priority p, then there will be no change to unreserv-bw(s, q) for all q < p. Britto, et al. Expires August 26, 2021 [Page 15] Internet-Draft IGP Slice Aware TE February 2021 Time2: new SA1, critical LSP 5G Unreserv-BW(SA1, critical) = 5G Unreserv-BW(SA1, high) = 5G Unreserv-BW(SA1, normal) = 0G Unreserv-BW(SA1, low) = 0G Unreserv-BW(SA2, critical) = 5G Unreserv-BW(SA2, high) = 5G Unreserv-BW(SA2, normal) = 0G Unreserv-BW(SA2, low) = 0G Time3: new SA2, critical LSP 5G -> preempt LSP(SA1, normal) Unreserv-BW(SA1, critical) = 0G Unreserv-BW(SA1, high) = 0G Unreserv-BW(SA2, critical) = 0G Unreserv-BW(SA2, high) = 0G No change to other Unreserv-BW values 8.2.2. Example 2 Results Time0: no LSPs Unreserv-BW(SA1, q) = 10G, for q = { critical, high, normal, low } Unreserv-BW(SA2, q) = 10G, for q = { critical, high, normal, low } Time1: new SA1, critical LSP 5G Unreserv-BW(SA1, critical) = 5G Unreserv-BW(SA1, high) = 5G Unreserv-BW(SA1, normal) = 5G Britto, et al. Expires August 26, 2021 [Page 16] Internet-Draft IGP Slice Aware TE February 2021 Unreserv-BW(SA1, low) = 5G Unreserv-BW(SA2, critical) = 5G Unreserv-BW(SA2, high) = 5G Unreserv-BW(SA2, normal) = 5G Unreserv-BW(SA2, low) = 5G Time2: new SA1, critical LSP 5G Unreserv-BW(SA1, critical) = 0G Unreserv-BW(SA1, high) = 0G Unreserv-BW(SA1, normal) = 0G Unreserv-BW(SA1, low) = 0G Unreserv-BW(SA2, critical) = 0G Unreserv-BW(SA2, high) = 0G Unreserv-BW(SA2, normal) = 0G Unreserv-BW(SA2, low) = 0G 8.2.3. Example 3 Results Time0: no LSPs Unreserv-BW(SA1, q) = 10G, for q = { critical, high, normal, low } Unreserv-BW(SA2, q) = 10G, for q = { critical, high, normal, low } Time1: new SA2, critical LSP 10G Unreserv-BW(SA1, critical) = 0G Unreserv-BW(SA1, high) = 0G Unreserv-BW(SA1, normal) = 0G Unreserv-BW(SA1, low) = 0G Unreserv-BW(SA2, critical) = 0G Britto, et al. Expires August 26, 2021 [Page 17] Internet-Draft IGP Slice Aware TE February 2021 Unreserv-BW(SA2, high) = 0G Unreserv-BW(SA2, normal) = 0G Unreserv-BW(SA2, low) = 0G Time2: new SA1, normal LSP 5G -> not admitted 9. Scaling Considerations 9.1. Link-State Update Frequency SA-TE applications SHOULD rate limit the link attribute updates notified to IGPs. 10. IANA Considerations 10.1. Network Slicing GENINFO TLV IANA is requested to allocate the IS-IS Application Identifier TBD [2 suggested] under the Generic Information TLV (#251) [RFC6823] for Network Slicing. This document defines APPSub-TLVs under Network Slicing GENINFO TLV, for which IANA is requested to create a new registry entitled "Network Slicing GENINFO Parameters". 10.2. Network Slicing GENINFO APPsub-TLVs IANA is requested to create a subregistry in the Network Slicing GENINFO Parameters Registry as follows: Sub-Registry: Network Slicing APPsub-TLV Types under IS-IS TLV #251 Application Identifier #TBD Registration Procedures: IETF Review with additional requirements on the documentation of the use being registered as specified in Section 10.2 of this document. Reference: this document Britto, et al. Expires August 26, 2021 [Page 18] Internet-Draft IGP Slice Aware TE February 2021 Type Name Reference ---------- -------- ----------- 0 Reserved 1 SA-TE Capabilities 2 SA-TE Link 3-254 Unassigned Network Slicing APPsub-TLV Types 3 through 254 are available for assignment by IETF Review. The RFC causing such an assignment will also include a discussion of security issues and of the rate of change of the information being advertised. Network Slicing APPsub-TLVs MUST NOT alter basic IS-IS protocol operation including the establishment of adjacencies and the decision process for IS-IS [IS-IS], [RFC1195]. 10.3. SA-TE Link Sub-sub-TLVs IANA is requested to create a subregistry in the Network Slicing GENINFO Parameters Registry as follows: Sub-Registry: SA-TE Sub-sub-TLV Types under SA-TE Link APPsub-TLV #TBD Registration Procedures: IETF Review with additional requirements on the documentation of the use being registered as specified in Section 10.3 of this document. Reference: this document Type Name Reference ---------- -------------- ----------- 0 Reserved 1 SA-TE Link Attributes 2-254 Unassigned Types 2 through 254 are available for assignment by IETF Review. The RFC causing such an assignment will also include a discussion of security issues and of the rate of change of the information being advertised. 10.4. SA-TE Link Attributes Sub-sub-sub-TLVs IANA is requested to create a subregistry in the Network Slicing GENINFO Parameters Registry as follows: Sub-Registry: SA-TE Sub-sub-sub-TLV Types under SA-TE Link Attributes Sub-sub-TLV #TBD Britto, et al. Expires August 26, 2021 [Page 19] Internet-Draft IGP Slice Aware TE February 2021 Registration Procedures: IETF Review with additional requirements on the documentation of the use being registered as specified in Section 10.4 of this document. Reference: this document Type Name Reference ---------- -------------------- ----------- 0 Reserved 1 SA-TE Unreserved Bandwidth 2-36 Unassigned 37 SA-TE Residual Bandwidth 38 SA-TE Available Bandwidth 39 SA-TE Utilized Bandwidth 2-254 Unassigned Types 2 through 36 and 40 through 254 are available for assignment by IETF Review. The RFC causing such an assignment will also include a discussion of security issues and of the rate of change of the information being advertised. Type 37, 38 and 39 have been suggested to match with the Sub-TLVs 37, 38 and 39 mentioned in the IS-IS "Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223" Registry. 11. Security Considerations The advertisement of the Network Slicing GENINFO TLV and its APPsub- TLVs raises no new security issues for IS-IS. This information will not be used by the IS-IS decision process. Where appropriate, it is recommended that either [RFC5304] or [RFC5310] be used. 12. References 12.1. Normative References [I-D.bestbar-spring-scalable-ns] Saad, T. and V. Beeram, "Scalable Network Slicing over SR Networks", draft-bestbar-spring-scalable-ns-00 (work in progress), December 2020. [I-D.bestbar-teas-ns-packet] Saad, T., Beeram, V., Wen, B., Ceccarelli, D., Halpern, J., Peng, S., Chen, R., and X. Liu, "Realizing Network Slices in IP/MPLS Networks", draft-bestbar-teas-ns- packet-01 (work in progress), December 2020. Britto, et al. Expires August 26, 2021 [Page 20] Internet-Draft IGP Slice Aware TE February 2021 [I-D.bestbar-teas-yang-ns-phd] Saad, T. and V. Beeram, "YANG Data Model for Network Slice Per-Hop Definition", draft-bestbar-teas-yang-ns-phd-00 (work in progress), November 2020. [I-D.ietf-teas-ietf-network-slice-definition] Rokui, R., Homma, S., Makhijani, K., Contreras, L., and J. Tantsura, "Definition of IETF Network Slices", draft-ietf- teas-ietf-network-slice-definition-00 (work in progress), January 2021. [I-D.nsdt-teas-ns-framework] Gray, E. and J. Drake, "Framework for Transport Network Slices", draft-nsdt-teas-ns-framework-04 (work in progress), July 2020. [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and dual environments", RFC 1195, DOI 10.17487/RFC1195, December 1990, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, DOI 10.17487/RFC3630, September 2003, . [RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering", RFC 4124, DOI 10.17487/RFC4124, June 2005, . [RFC4125] Le Faucheur, F. and W. Lai, "Maximum Allocation Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering", RFC 4125, DOI 10.17487/RFC4125, June 2005, . [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic Engineering", RFC 5305, DOI 10.17487/RFC5305, October 2008, . [RFC6823] Ginsberg, L., Previdi, S., and M. Shand, "Advertising Generic Information in IS-IS", RFC 6823, DOI 10.17487/RFC6823, December 2012, . Britto, et al. Expires August 26, 2021 [Page 21] Internet-Draft IGP Slice Aware TE February 2021 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8570] Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward, D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March 2019, . 12.2. Informative References [ISO10589] IANA, "Intermediate system to Intermediate system routing information exchange protocol for use in conjunction with the Protocol for providing the Connectionless-mode Network Service (ISO 8473)", August 1987, . [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions for Advertising Router Information", RFC 7981, DOI 10.17487/RFC7981, October 2016, . [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017, . [RFC8202] Ginsberg, L., Previdi, S., and W. Henderickx, "IS-IS Multi-Instance", RFC 8202, DOI 10.17487/RFC8202, June 2017, . [RFC8919] Ginsberg, L., Psenak, P., Previdi, S., Henderickx, W., and J. Drake, "IS-IS Application-Specific Link Attributes", RFC 8919, DOI 10.17487/RFC8919, October 2020, . Appendix A. Contributors Britto, et al. Expires August 26, 2021 [Page 22] Internet-Draft IGP Slice Aware TE February 2021 Srihari Sangli Juniper Networks Email: ssangli@juniper.net Vishnu Pavan Beeram Juniper Networks Email: vbeeram@juniper.net Tarek Saad Juniper Networks Email: tsaad@juniper.net Chandra Ramachandran Juniper Networks Email: csekar@juniper.net Appendix B. Acknowledgements The authors would like to thank Chris Bowers and Shraddha Hegde for their valuable review and feedback. Authors' Addresses William Britto Juniper Networks Email: bwilliam@juniper.net Rajesh Shetty Juniper Networks Email: mrajesh@juniper.net Colby Barth Juniper Networks Email: cbarth@juniper.net Bin Wen Comcast Email: Bin_Wen@cable.comcast.com Britto, et al. Expires August 26, 2021 [Page 23] Internet-Draft IGP Slice Aware TE February 2021 Shaofu Peng ZTE Corporation Email: peng.shaofu@zte.com.cn Ran Chen ZTE Corporation Email: chen.ran@zte.com.cn Britto, et al. Expires August 26, 2021 [Page 24]