<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info" docName="draft-ietf-dmm-tn-aware-mobility-09" ipr="trust200902">

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <title>Mobility aware Transport Network Slicing for 5G</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->
    
    <author fullname="Uma Chunduri" initials="U." surname="Chunduri" role="editor">      
      <organization>Intel Corporation</organization>
      <address>
      <postal>
      <street>2191 Laurelwood Rd</street>
      <city>Santa Clara</city>
      <region>CA</region>
      <code>95054</code>
      <country>USA</country>
      </postal>
      <email>umac.ietf@gmail.com</email>
      </address>
    </author>

    <author fullname="John Kaippallimalil" initials="J." surname="Kaippallimalil" role="editor">
      <organization>Futurewei</organization>
      <address>
      <email>john.kaippallimalil@futurewei.com</email>
      </address>
    </author>


     <author fullname="Sridhar Bhaskaran" initials="S." surname="Bhaskaran">
      <organization>Rakuten Symphony</organization>
      <address>
      <email>sridhar.bhaskaran@rakuten.com</email>
      </address>
    </author>
    


    <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
      <organization>Microsoft</organization>
      <address>
      <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>
    

 
    <author fullname="Praveen Muley" initials="P." surname="Muley">
      <organization>Nokia</organization>
      <address>
      <postal>
      <street>440 North Bernardo Ave</street>
      <city>Mountain View</city>
      <region>CA</region>
      <code>94043</code>
      <country>USA</country>
      </postal>
      <email>praveen.muley@nokia.com</email>
      </address>
    </author> 
    
    <date year="2024"/>
     
    <area>Internet</area>

    <workgroup>DMM Working Group</workgroup>

    <keyword>network slicing</keyword>


    <abstract>
	<t>Network slicing in 5G supports logical networks for communication services of multiple 5G customers
	to be multiplexed over the same infrastructure.
	While 5G slicing covers logical separation of various aspects of 5G services, user's data plane packets over the radio access network (RAN) and mobile core network (5GC) 
	use IP transport in many segments of the end-to-end 5G slice.
	When end-to-end slices in a 5G system use IP network resources, they are mapped to corresponding IP transport network slice(s)
	which in turn provide the bandwidth, latency, isolation and other criteria requested by the 5G slice.</t>
	 
	<t>This document describes mapping of 5G slices to IP or Layer 2 transport network slices 
	when the IP transport network (slice provider) is separated from the networks in which the 5G network functions 
	are deployed, for example, 5G functions that are distributed across data centers.
	The slice mapping proposed here is supported transparently when a 5G user device moves across 5G attachment points and session
	anchors.</t>
	
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119">RFC2119</xref>.</t>
    </note>
  </front>

  <middle>
 <section anchor="INTRO" title="Introduction">
		  
		<t>3GPP architecture for 5GS in <xref target="TS.23.501-3GPP"/>, <xref target="TS.23.502-3GPP"/> and 
	    <xref target="TS.23.503-3GPP"/> for 5GC (5G Core), and the NG-RAN architecture defined in 
	    <xref target="TS.38.300-3GPP"/> and <xref target="TS.38.401-3GPP"/> describe slicing as one of the 
	    capabilities for the communication services that 5G systems offer.  

		Slice types defined in 3GPP and offered to its clients (UEs) include 
		enhanced mobile broadband (eMBB) communications, ultra-reliable low latency 
		communications (URLLC), massive internet of things (MIoT), vehicle-to-X (V2X) and high performance 
		machine type communications (HMTC) and can be extended in future to include new slice types.</t>
		 
		<t>Slices in 3GPP are logical sets of 3GPP resources that may include multiple segments across 3GPP control 
		and user plane functions in the core and radio access networks.  
		For example, a 5G slice instance requested by an end-user may be realized by multiple slice subnets that
		span user plane network functions including the UPF (User Plane Function), 
		gNB-CU (generalized Node-B Centralized Unit) and gNB-DU (generalized Node-B Distributed Unit) 
		and corresponding 3GPP interfaces N3, N9, F1-U.
		However, considering the IP transport network aspects for realizing 3GPP slicing:</t>   
		 
		<t><list style="symbols">
              <t>3GPP standards do not specify the capabilities needed by underlying IP transport network or slices.</t>
              
              <t>3GPP standards define how interfaces N3, N9, F1-U are (re)selected but they do not 
              specify the underlying transport network (re)selection.</t>
              
              <t>Slice details in 3GPP, ATIS or NGMN do not specify how slice characteristics for QoS, hard /soft isolation, 
              protection and other aspects should be satisfied in IP transport networks.</t>
              
        </list></t>
		
		<t>A transport underlay across 3GPP interfaces N3, N9 and F1U may use multiple
   		technologies or network providers on path and the slice in 3GPP domain is mapped in each corresponding transport domain.   
   		5G system slices for distributed infrastructure that make up the 5G system, and 
   		5G slices offered to its end users (UE) are mapped to transport domain slices to provide the corresponding 
   		level of bandwidth, isolation and other capabilities.
   		The gNB-CU maintains the upper layer functionality of the radio access network while 
   		the gNB-DU runs the lower layers of the radio access network stack (e.g., RLC, MAC and PHY based on the split),
   		typically called the BBU (Base Band Unit).
   		Thus, a 3GPP F1-U slice subnet instance would typically be used to carry all user traffic 
   		between a gNB-DU and gNB-CU. 
   		The N3 and N9 transport segments between the gNB and UPF(s) on the other hand handle user traffic based 
   		on the subscribed/offered level of service.
   		Thus, an end-user's traffic for eMBB service and assigned 3GPP slice may be mapped to a different 
   		IP transport slice across N3 and N9 segments than traffic for URLLC service.
   		Mapping and binding between 3GPP slice and a new IP transport slice happens transparently 
   		as the end-user moves across attachment points in the radio network and session anchors in 5GC.
   		Unlike mapping of a fronthaul 3GPP slice to an IP transport slice, the IP transport slice that F1-U/N3/N9 slice is mapped to 
   		is aware of the slice characteristics of the UE session during initial setup (user initiates 3GPP connectivity session)
   		and following mobility.
   		For example, a UE served by the 3GPP system for high throughput, low latency service and related 3GPP slice 
   		should be mapped to an IP transport slice that offers the corresponding characteristics even after handover.</t>
   		
   		<t>Slicing in this document mainly refers to user plane slices as these are used by the 3GPP network to provide the level of service offered to a user.
   		For example, 5GS that sets up a session for a user for eMBB service would need to provide the guarantees for the service across 
   		the user plane segments including F1-U, N3 and N9.
   		During the session setup phase, the control plane signaling may use other 5G provider slices for messages that carry session signaling, or
   		to carry signaling data between 5G network functions.
   		The techniques described here can be applied to control plane in the same manner as it is applied for transport segments of the user plane.
   		The slicing requirements for the control plane are defined by the 5G service provider and not specified by a 3GPP standard.
   		Slice mapping using UDP source port may be used in IP transport networks for public or non public 3GPP networks.</t>
   		
   		<t>Different network scenarios and mechanisms to map 3GPP and IETF network slices are 
   		found in <xref target="I-D.ietf-teas-5g-network-slice-application"/>.
   		<xref target="I-D.ietf-teas-5g-network-slice-application"/> also describes the relationship between 
   		slice handling in the 3GPP management plane (<xref target="TS.28.541-3GPP"/>) and IETF network slice
   		management.   		
   		This document focuses on a specific set of options outlined in <xref target="I-D.ietf-teas-5g-network-slice-application"/>. 
   		The use of UDP source port in GTP-U outer header and L2 VLAN to map between a 5G slice and corresponding IETF network slice segments
   		is described in detail here.   		
   		The main considerations in the mapping methods proposed here include simplicity (i.e., use of L2 VLAN across a Layer-2 network) and 
   		efficiency of inspecting the slice mapping parameters on a per packet basis (i.e., source UDP port across routed IP networks)
   		when the IP transport network (slice provider) is separated from the networks in which the 5G network functions are deployed 
   		(for example, 5G functions distributed across data centers).  
   		<xref target="SYSTEM_TN"/> describes these methods in detail.   		
   		</t>
   		
	    <t><xref target="I-D.ietf-teas-ietf-network-slices"/> draft defines the 'IETF Network slice', its scope and characteristics. 
        It lists use cases where IETF technologies can be used for slicing solutions, for various connectivity segments. 
     	IETF Network slice in <xref target="I-D.ietf-teas-ietf-network-slices"/> and IP transport slice in this document are 
     	the same in the context of descriptions here.
     	When applied to 5G, they both refer to slices for the connectivity segments between various 5G functions 
	    (i.e. 5G-AN which includes NG-RAN, ULCL UPF, BP UPF and PSA UPF).</t>
	    
	    </section>   		
    
 
	    <section title="Terminology">
        <t><list hangIndent="7" style="hanging">

                <t hangText="5G-AN    &ndash;">5G Access Network</t>
                <t hangText="AC       &ndash;">Attachment Circuit</t>
                <t hangText="AMF      &ndash;">Access and Mobility Management Function (5G)</t>
                <t hangText="BP       &ndash;">Branch Point (5G)</t>
                <t hangText="CSR      &ndash;">Cell Site Router</t>
                <t hangText="CP       &ndash;">Control Plane (5G)</t>
                <t hangText="CU       &ndash;">Centralized Unit (5G, gNB)</t>
                <t hangText="DN       &ndash;">Data Network (5G)</t>
                <t hangText="DU       &ndash;">Distributed Unit (5G, gNB)</t>
                <t hangText="eMBB     &ndash;">enhanced Mobile Broadband (5G)</t>
                <t hangText="gNB      &ndash;">5G NodeB</t>
                <t hangText="GBR      &ndash;">Guaranteed Bit Rate (5G)</t>
                <t hangText="GTP-U    &ndash;">GPRS Tunneling Protocol - User plane (3GPP)</t>
                <t hangText="mIOT     &ndash;">Massive IOT (5G) </t>
                <t hangText="MPLS     &ndash;">Multi Protocol Label Switching</t>
                <t hangText="NG-RAN   &ndash;">Next Generation Radio Access Network (i.e., gNB, NG-eNB - RAN functions which connect to 5GC)</t>
                <t hangText="NSC      &ndash;">Network Slice Controller</t>
                <t hangText="NSSAI    &ndash;">Network Slice Selection Assistance Information</t>
                <t hangText="NSSF    &ndash;">Network Slice Selection Function</t>
                <t hangText="NSSMF    &ndash;">Network Slice Selection Management Function</t>
                <t hangText="PDU      &ndash;">Protocol Data Unit (5G) </t>
                <t hangText="PW       &ndash;">Pseudo Wire</t>
                <t hangText="SDP      &ndash;">Service Demarcation Point</t>
                <t hangText="SMF      &ndash;">Session Management Function (5G)</t>
                <t hangText="S-NSSAI  &ndash;">Single Network Slice Selection Assistance Information</t>
                <t hangText="SST      &ndash;">Slice and Service Types (5G)</t>
                <t hangText="SR       &ndash;">Segment Routing</t>
                <t hangText="TE       &ndash;">Traffic Engineering</t>
                <t hangText="UP       &ndash;">User Plane(5G)</t>
                <t hangText="UPF      &ndash;">User Plane Function (5G)</t>
                <t hangText="URLLC    &ndash;">Ultra reliable and low latency communications (5G)</t>
        </list></t>
        </section>
  
     
 
        <section anchor="SYSTEM_TN" title="Mapping 3GPP Slices to IP Network Slices">
        
        <section anchor="SYS-OVERVIEW" title="Overview of 5G End-to-End Network Slicing">
        <t> 3GPP architecture in <xref target="TS.23.501-3GPP"/>, <xref target="TS.23.502-3GPP"/> specify slicing in 5GS and
        an overview is provided here. 
        5GS comprises of control plane network functions and user plane network functions.
        Communication services offered to 3GPP clients (UE) are associated to one or more slices represented by 
        NSSAI (Network Slice Selection Assistance Information)
        both on the control plane and the user plane.
        The NSSAI is realized through the 5G management plane using network slice subnet (NSS), for example, a network slice 
        subnet that contains network function instances of the core network control plane functions (e.g., SMF, NRF), 
        user plane network functions (e.g., UPF), 
        radio network slice common functions (e.g., gNB-DU, gNB-CU-CP) and
        and radio network (e.g., gNB-CU-UP).
        Within the 3GPP domain, the control plane slicing is end-to-end while the user plane slicing ends at the UPF.
        User plane slicing outside of the UPF towards IP services is outside the scope of 3GPP and is addressed in 
        <xref target="I-D.mcd-rtgwg-extension-tn-aware-mobility"/>.
        
        3GPP documents mention transport network in the context of network slice subnets, but do not provide any details.
        The application of 5GS slices in transport network for backhaul, mid-haul and front haul are not explicitly covered 
        in 3GPP and is the topic here. 
        To support specific characteristics in backhaul (N3, N9), mid-haul (F1) and front haul, it is necessary to provision 
        corresponding resources in the transport domain and carry a slice identifier that is understood by both
        the customer (3GPP network) and the provider (transport network).
        This section provides an overview and subsequent sections describe how to provision the mapping information in the transport network and 
        apply it so that user plane packets can be provided the transport resources (QoS, isolation, protection, etc.) 
        expected by the 5GS slices.</t>
        
        <figure anchor="FIG-BACKHAUL" title="Backhaul and Mid-haul Transport Network for 5G">
           <artwork>
           
  
                5G Control and Management Planes
  +--------------------------------------------------------------------+
  | +----------------------------------------------------------------+ |
  | |                   5G Management Plane  (NSSMF)                 | |
  | +---+--------------+-------------+---------------+-----------+---+ |
  |     |              |             |               |           |     |
  | +---+--+           |   F1-C +----+-----+         |   N2 +----+---+ |
  | |      |----------(---------|gNB-CU(CP)|--------(-------| 5GC CP | |
  | |      |           |        +----+-----+         |      +----+---+ |
  +-|      |-----------|-------------|---------------|-----------|-----+
    |      |           |             |               |           |
    |      |           | e.g.,        |              | e.g.,     |
    |      |           | ACTN        |               | ACTN      |
    |      |       +---+---+         |           +---+---+       |
    |      |       |       |         |           |       |       |		
    |gNB-DU|       |  NSC  |         E1          |  NSC  |       |
    |      |       |       |         |           |       |       |
    |      |       +---+---+         |           +---+---+       |
    |      |           |             |               |           |
    |      |           |             |               |           |
    |      |        __ +__           |            ___+__         |
    |      |     __/      \__     +--+---+     __/      \__    +-+-+
    |      |    /   IP/L2    \    | gNB  |    /     IP     \   |   |
UE--+      +--(PE) Mid-haul (PE)--+CU(UP)+--(PE) Backhaul(PE)--+UPF+--DN
    +------+    \__        __/    +------+    \__        __/   +---+
                   \______/                      \______/

            |------ F1-U -------|           |----- N3 or N9 ------|      

	   </artwork>
      </figure>

      <t> <xref target="FIG-BACKHAUL"/> depicts a 5G System (5GS) expanded to show the IP transport and PE (Provider Edge) routers providing IP transport 
      service to 5GS user plane entities 5G-AN (e.g., gNB) and UPF.
      The Provider Edge (PE) represents the Service Demarcation Point (SDP) to the transport network that provides the slice capabilities.
      The IETF Network Slice Controller (NSC) interfaces with the 3GPP network (customer network) that requests
      for transport network slices (IETF network slice). The 5G management plane in turn requests the Network Slice Controller (NSC) to setup 
      resources and connectivity in the transport network to realize the particular network slice. 
      5G network slice orchestration is defined in <xref target="TS.28.533-3GPP"/> and is represented 
      in <xref target="FIG-BACKHAUL"/> as Network Slice Selection Management Function (NSSMF)) which is a part of 5G Management system
      responsible for managing network slice subnets.
      The 3GPP network (customer network) requests for IP transport network slice (slice provider network) 
      based on estimated demand.
      The 5G management plane slice orchestration functionality in 3GPP requests for transport slices via the NSC and may use ACTN <xref target="RFC8453"></xref>.
      The Network Data Analytics Function (NWDAF), Network Slice Selection Management Function (NSSMF) and other 3GPP functions in 
      the control and management planes provide data and functionality to estimate slice capabilities required 
      from the transport network.
      
      The slices provisioned in the IP transport network correspond to 3GPP slices represented by NSSAI (set of 3GPP slices) available 
      at 3GPP access/data networks and locations.
      During 3GPP procedures for session initialization, the network grants an S-NSSAI (single one out of the NSSAI) based on  
      the user's session request.
      The S-NSSAI for the UE's session is signaled to the user plane nodes (gNB, UPF) during the session setup and used to 
      associate to the corresponding IP transport slice. 
      An overview of the sequence of operations from when a user (UE) requests during session setup to how it relates to the fronthaul,
      mid-haul and backhaul transport network slices is provided below. 
      </t>
      
      <t>Prior to 3GPP user (UE) signaling to setup a session, the UE attaches to the radio access network and
      has the parameters for operation configured. During this sequence of operation, the signaling is between 
      the UE and the gNB. 
      When the gNB functionality is split between a central unit (CU) and a distributed unit (DU), a mid-haul transport segment
      provides the connectivity as shown in <xref target="FIG-BACKHAUL"/>.
      Further, the gNB central unit can be split into the control plane (CP) and user plane (UP) logical functions 
      as shown in <xref target="FIG-BACKHAUL"/>.
      If the RAN uses lower layer split architecture as specified by O-RAN alliance, then the user plane path from UE to DN 
      also includes the fronthaul interface. 
      The fronthaul interface carries the radio frames in the form of In-phase (I) and Quadrature (Q) samples using eCPRI encapsulation 
      over Ethernet or UDP over IP. 
      An important point to note is that signaling and data transport over the fronthaul transport has no
      notion of an end-user/UE session, but is rather defined by low latency and other requirements required for processing 
      radio signaling and data transport between the network entities that compose gNB.
      For the front-haul described further in <xref target="FHAUL"/>, an Ethernet transport with VLANs 
      can be expected to be the case in many deployments.</t>
      
      <!-- added in version 5: overview for backhaul network -->
      <t>Following the radio access setup and attach, the 3GPP user (UE) signals to setup a session.
      5G core network (5GC) functionality to handle access mobility (AMF), UE session management (SMF), policy (PCF) and 
      various other assisting functionality including 3GPP slice selection (NSSF) is used to authenticate the UE and setup the data plane 
      to transport the UE PDU (Protocol Data Units).  
      The N3, N9 and F1-U user planes use GTP-U  <xref target="TS.29.281-3GPP"/> to transport UE PDUs 
      (IPv4, IPv6, IPv4v6, Ethernet or Unstructured).
      From an IP transport network perspective, these GTP-U connections can be viewed as multiple overlay connection segments 
      between each of the 3GPP data plane entities (gNB, UPF) on a per UE basis.
      The GTP-U/overlay transport capabilities required are signaled between the RAN and 5GC during UE session setup.
      Note that unlike the slice requirements for mid-haul segment (F1-U), the slice requirements for the backhaul (N3, N9) 
      are setup in the 3GPP network on a per UE basis.
      Thus, in the backhaul, an IP transport slice with capabilities corresponding to the S-NSSAI negotiated between UE 5GC is provided.
      For example, a UE that sets up an eMBB session may require high bandwidth but can tolerate delay whereas 
      a URLLC session requires low latency, low jitter and low error rates. 
      Slice capabilities along the user plane path between the (R)AN and UPFs such as a 
      low latency path, jitter, protection and priority need to be provided by the IP transport network.
      3GPP core network entities may be deployed across multiple data centers and in such cases 
      require the IP transport network to provide the resources and connectivity for each of the slice segments.</t>       
        
      </section>
        
        
      <section anchor="FHAUL" title="Fronthaul and Mid-Haul Transport Network"> 
      <t>
  	  <!-- Added by Sridhar -->
        The O-RAN Alliance defined a lower layer split at the physical layer of the radio access network 
        whereby the gNB-DU is split into two entities (O-RU and O-DU) and
        has specified the fronthaul interface between the O-RU and the O-DU in <xref target="ORAN-WG4.CUS-O-RAN"/>. 
        The radio layer information, in the form of In-phase (I) and Quadrature (Q) samples are transported using 
        Enhanced Common Public Radio Interface (eCPRI) framing over Ethernet or UDP. 
        On an Ethernet based fronthaul interface, the network slice instance (NSI) information is carried in the Ethernet header through 
        the VLAN tags and/or PCP marking. 
        The Ethernet switches in the fronthaul transport network inspects the slice information (VLAN tag and/or PCP marking) in the 
        Ethernet header and provide the provisioned capabilities. 
        The mapping of I and Q samples of different radio resources (radio resource blocks or carriers) to 
        different slices and to their respective VLAN tags and or PCP marking on the fronthaul interface is controlled by the 
        O-RAN fronthaul C-Plane and M-Plane interfaces.
        <!-- removed by Sridhar
        The PE routers of the fronthaul transport network can inspect the slice information in the IP or UDP header 
        and provide the provisioned capabilities.
        --> 
        The fronthaul transport network is latency and jitter sensitive. 
        The provisioned slice capabilities in the fronthaul transport network MUST take care of the latency and jitter budgets 
        of the specific slice for the fronthaul interface.
        The provisioning of the fronthaul transport network is handled by the NC pertaining to the fronthaul transport. 
                
        3GPP functions gNB-CU (user plane) and gNB-DU may also be distributed and have a mid-haul transport 
        between the two 3GPP network functions.
        If an IP based mid-haul interface is used, the network slice instance (NSI) information can be MPLS, SRv6 based
        as defined in <xref target="TS.28.541-3GPP"/>. 
        However if the 3GPP network function (slice customer) is physically separated from the slice provider network 
        (e.g., a gNB-CU (user plane) with baseband units deployed in a data center), the MPLS, SRv6 information may not 
        be practical to carry across to the separated IP transport network (slice provider).
        In this case, the source UDP port of the GTP-U can be used to indicate the slice in the IP transport network (slice provider).
        </t> 
        
      </section>
        
        
      <section anchor="BHAUL" title="Backhaul Transport Network">
      
      <t>The backhaul transport over which the protocols for N3 and N9 interfaces run are described in <xref target="TS.23.501-3GPP"/> 
      and <xref target="TS.23.502-3GPP"/>.
      The end-user (UE) sessions (IP, Ethernet, unstructured) are carried over GTP-U transport protocol over the N3 and N9 interfaces. 
      GTP-U between the 3GPP network functions (gnB, UPF) serves as an overlay protocol across one or more MPLS, SRv6 or Ethernet
      transport networks in between.
      During UE session setup, a number of parameters for context management are configured in the gNB, UPF and that includes 
      allowed network slice (S-NSSAI). 
      On an Ethernet based backhaul interface, the slice information is carried in the Ethernet header through the VLAN tags.
      If an IP based backhaul interface is used, the network slice instance (NSI) information can be MPLS, SRv6 based
      as defined in <xref target="TS.28.541-3GPP"/>. 
      However, if the 3GPP network function (slice customer) is physically separated from the slice provider network 
      (e.g., a gNB-CU (user plane) or UPF, or both are deployed in a data center), the MPLS, SRv6 information may not 
      be practical to carry across to the separated IP transport network (slice provider).
      In this case, the source UDP port of the GTP-U can be used to indicate the slice in the IP transport network (slice provider). 
      </t>      
         
      </section>
        
      
      <section anchor="SLICE-MAP" title="Slice Mapping using UDP Source Port">
      
      <t>Communication services offered by 3GPP and the concepts used to provision and manage it 
      are described in <xref target="TS.28.530-3GPP"/>. 
      A brief overview is given here with the intent to describe how it is related to an 
      IP transport slice and the mapping between it and the 3GPP slice.
      Communication services (e.g., an eMBB service) may be realized in a 3GPP network using one 
      or more slices identified by NSSAI (Network Slice Selection Assistance Information) in the 3GPP
      control plane signaling.
      In the 3GPP management plane, the network slice identified by NSSAI is realized in as 
      a Network Slice Subnet (NSS).
      For example, a slice S-NSSAI is available to a user at different locations (and even PLMNs) and
      maybe realized in an NSS at that a location.
      The NSS consists of sets of functions from 5GC and RAN that belong to the NSS.
      Network interfaces of functions in an NSS may be associated to one or more slice subnets.
      These relationships are illustrated in <xref target="SLICE-CONFIG"/>.
      From the viewpoint of IP transport slicing and mapping to 3GPP slices, an IP transport network slice 
      is associated to 3GPP core or RAN network functions in a 3GPP Network Slice Subnet (NSS).
      Thus, it can represent a slice of a transport path for a tenant between two 3GPP user plane functions.</t>	  
	  
	  <figure anchor="SLICE-CONFIG" title="Slice Configuration">
           <artwork>

+-------------------+   +-------------------+    +-------------------+
|  Comm. Service A  |   |  Comm. Service B  |    |  Comm. Service C  |
+-----+-------------+   +--+-----+----------+    +--------+----------+
      |     ______________/      |                         \
      |    /                     |                          \
+-----+---+---+          +-------+-----+              +------+------+
|NSSAI = 000A |          |NSSAI = 000B |              |NSSAI = 000C |
+-------^-----+          +------^------+              +------^------+
       /                       /                             |
______/______            _____/_______                 ______|_______
\  Net.Slice \           \  Net.Slice \               | Net.Slice    |
 \  Subnet-A  \           \  Subnet-B  \              | Subnet-C     |
  \ (NSS-A)    \           \   (NSS-B)  \             |   (NSS-C)    |
   \            \           \            \            |              |
    \  +--------+\           \  +--------+\           |  +--------+  |
     \ |NSSI=CN1| \           \ |NSSI=CN1| \          |  |NSSI=CN3|  |
      \+-----\--+  \           \+---\----+  \         |  +---|----+  |
       \      \     \           \    \       \        |      |       |
        \  +===\====+\           \ +==\=====+ \       |  +===|====+  |
         \ |NS = IP1| \           \|NS = IP2|  \      |  |NS = IP3|  |
          \+====\===+  \           +====\===+   \     |  +===|====+  |
           \     \      \           \    \       \    |      |       |
            \  +--\-----+\       +--------\-----------+      |       |
             \ |NSSI=AN1| \      \    \ +--\-----+ \         |       |
              \+--------+  \      \    \|NSSI=AN2+-----------+       |
               \____________\      \    +--------+   \               |
                                    +----\------------\--------------+
                                          +------------+        

	   </artwork>
      </figure>
	  
	  <t><xref target="SLICE-CONFIG"/> shows the slice hierarchy 
	  described in <xref target="TS.28.530-3GPP"/> with 3 communication services enhanced to
	  show the IP transport slice instances (IP1, IP2, IP3).
	  As an example, when a UE registers with 5GC with NSSAI 000A, OOOB and others, 
	  the AMF may select NSSAI 000B in list of NSSAI allowed for the UE.
	  One of the factors in selecting the NSSAI is whether the UE may move to another 
	  location during the lifetime of the session.
	  In this case, the NSSAI should be such that it has a mapping to IP transport network slice 
	  during initial attach, and following handover.
	  For example, a UE that attaches to 5GC with S-NSSAI = 000B and served by user plane 
	  instances CN1 and AN2 uses IP transport network slice NS = IP2 to provide the resources 
	  in the IP network that corresponds to the UE session.
	  Following handover with S-NSSAI = 000B, the UE may be served by 
	  user plane instances CN1' and AN2' over an IP slice IP2' in the new location.</t>	  
	  
	  <t>When the 3GPP user plane function (5G-AN, UPF) and IP transport provider edge are on different nodes 
      or separated across a network, the PE router needs to have the means by which to classify the IP packet 
      from 3GPP entity based on some header information. 
      In <xref target="I-D.ietf-teas-ietf-network-slices"/> terminology, this is a 
      scenario where there is an Attachment Circuit (AC) between the 3GPP entity (customer edge) 
      and the SDP (Service Demarcation Point) in the IP transport network (provider edge).
      The Attachment Circuit(AC) may for example be between a UPF in a data center to a (provider edge) router 
      that serves as the service demarcation point for the transport network slice.
      The identification information is provisioned between the 5G provider and IP transport network and corresponding 
      information should be carried in each IP packet on the F1-U, N3, N9 interface. 
      For IP transport edge nodes to inspect the transport context information efficiently, 
      it should be carried in an IP header field that is easy to inspect.
      It may be noted that the F1-U, N3 and N9 interfaces in 5GS are IP interfaces.
      This is illustrated in <xref target="SLICE-UDP"/>.</t>	  
	  
	  <figure anchor="SLICE-UDP" title="Slice Mapping using UDP source port">
           <artwork>
                          upstream GTP-U packet
                    =====================================>
                        
      customer edge     attachment       slice provider    customer edge
                         circuit             ______
     +-------------+      ______          __/      \__     +-----------+
     |   gNB-CU    |   __/      \__      /     IP     \    |   UPF     |
     |N3 IP i/f =  +--/ Data Center\---(PE) Backhaul (PE)--+N3 IP i/f =|
     |  gNB-AN2-if |  \__ Network__/     \__        __/    |UPF-CN1-if |
     +-------\-----+     \______/           \___\__/       +-----------+
              \                                  \
               \                                  \
                \                                  \
                 \                       +----------\---------------+
 +----------------\---------------+      |   Slice Mapping:         |
 |+-------------------------+     |      |Match:                    |
 ||3GPP CP Config:          |     |      | src-IP-addr = gNB-AN2-if |
 ||NSSAI = {000B, 000C, ..} |     |      |    src-port = 5678       |
 ||NSSI  = AN2              |     |      |Action:                   |
 |+-------------------------+     |      |   select NS = IP2        |
 |                                |      +--------------------------+
 |+------------------------------+|
 ||Slice Mapping to UPF-CN1-if:  ||
 ||EP_Transport S-NSSAI=000B     ||
 ||logicInterfaceType = UDPSrcPrt||
 ||logicInterfaceId = 5678       ||
 ||ipAddress = UPF-CN1-if        ||
 |+------------------------------+|
 +--------------------------------+        
                 
	   </artwork>
      </figure>	 
      
      <t><xref target="SLICE-UDP"/> shows the configuration and mapping applied to 
      network instances in a 3GPP network slice subnet and corresponding IP transport network instances
      for sending an upstream GTP packet from gNB-CU (user plane) to UPF.
      The gNB-CU (user plane) function is in a data center and separated from the IP transport slice provider by 
      an attachment circuit (AC - i.e., the data center network).
      In this example, a GTP-U packet at gNB-CU (user plane) belonging a UE session with S-NSSAI = 000B (and thus
      associated to 3GPP and IP transport network instances in the figure for providing slice resources).
      Since the GTP-U packet belongs to a session with S-NSSAI = 000B, the gNB-CU (UP) maps it to UDP port 5678 in
      the GTP-U header (outer encapsulation source port).
      The GTP-U packet is forwarded by the data center network to the PE router at IP backhaul network.
      The PE matches on GTP-U source IP address and port to select the provisioned slice (NS = IP2).
      The UPF customer edge may be attached to the PE as shown in the figure or alternatively via a 
      data center network.
      A similar set of mappings exist for downlink GTP-U, but they do not necessarily use the same resources.
      </t> 

      <t>PE routers can thus provision a policy based on the source UDP port number to the underlying transport path and then deliver the QoS/slice 
      resource provisioned in the transport network. 
      The source UDP port that is encoded is the outer IP (corresponding to GTP-U header) while the inner IP packet 
      (UE payload) is unaltered.
      <!-- no impact to UDP checksum calculations -->
      The source UDP port is encoded by the node that creates the GTP-U encapsulation and therefore, this mechanism has no 
      impact on UDP checksum calculations.
          </t>
      <t>	       
      <!-- IPSec on path: transport, tunnel modes with AH / ESP -->
      3GPP network operators may use IPSec gateways (SEG) to secure packets between two sites - for example over an 
      F1-U, N3 or N9 segment.
      The IP network slice identifier in the GTP-U packet should be in the outer IP source port even after IPSec encryption for 
      PE transport routers to inspect and provide the level of service provisioned.
      <!--Transport and Tunnel modes may be used in 3GPP networks. -->
      <!-- Transport mode: no new header; only AH/ESP header addition added -->
      <!--Transport mode does not change the IP source port and thus has no impact in this discussion. -->
      <!-- Tunnel mode: new header - source UDP port of GTP-U should be copied -->
      Tunnel mode - which is the case for SEG/IPSec gateways - adds an outer IP header in both AH (Authenticated Header)
      and ESP (Encapsulated Security Payload) modes. 
   <!-- Sridhar: In IPSec tunnel mode, there is no outer source port. There is an outer IP header and ESP header. Both these headers
   have no source port field. One option is to use SPI field which is a 32 bit field. Use 16 bits of SPI to identify the MNTC-ID and the other 
   16 bits for identifying an SA -->
      The GTP-U / UDP source port with encoded slice identifier should be copied to the IPSec tunnel ESP header. 
      One option is to use 16 bits from the SPI field of the ESP header to encode the IP network slice identifier and 
      use the remaining 16 bits in SPI field to identify an SA.
      Load balancing entropy for ECMP will not be affected as the slice encoding mechanism already accounts for this.
      </t> 
	    
      </section>             
      
      </section>   
      
      
      
    <section anchor="TN_UNDERLAY" title="Transport Network Underlays">
    <t>Traffic engineered underlay networks are an essential component to realize the slicing defined in this document.  
	Transport networks should be able to realize midhaul, backhaul and control plane slices shown in <xref target="FIG-BACKHAUL"/>. 
	This section outlines how GTP/UDP source ports are used to map to slice types.
	<xref target="I-D.ietf-teas-ietf-network-slices"/> (section 7) describes in more detail how a network work slice can be realized over different transport network technologies including enhanced VPN, IP/MPLS and SR-TE.</t>
 
	<t>An example with different user plane slice types and transport paths is shown in the figure.
	In this case with 3 different SSTs, 3 transport TE paths are setup.
	For uplink traffic, an underlying TE transport path may be from a gNB-CU to a UPF for example.
	A similar downlink path and underlying transport from UPF to gNB-CU is configured.
	The figure shows UDP port ranges, SST, transport path (in this example pseudowire/VPN) and transport path characteristics.</t>
	
	
 <figure anchor="TRANS_MAPPING" 
	 title="Mapping of Transport Paths on F1-U/N3/N9">
           <artwork>

      +----------------+------------+------------------+-----------------+  
      |GTP/UDP SRC PORT|   SST      |   Transport Path | Transport Path  |
      |                | in S-NSSAI |   Info           | Characteristics |   
      +----------------+------------+------------------+-----------------+
      |	Range Xx - Xy  |            |                  |                 |
      |	X1, X2(discrete|  MIOT      | PW ID/VPN info,  | GBR (Guaranteed |
      | values)        |  (massive  |   TE-PATH-A      |       Bit Rate) |
      |		       |   IOT)	    |  		       |   Bandwidth: Bx |
      |		       |    	    |	               |   Delay:     Dx |
      |		       |    	    |	               |   Jitter:    Jx |
      +----------------+------------+------------------+-----------------+
      |	Range Yx - Yy  |            |                  |                 | 
      |	Y1, Y2(discrete|  URLLC     | PW ID/VPN info,  | GBR with Delay  |
      | values)        | (ultra-low |   TE-PATH-B      |     Req.        |
      |		       |  latency)  |		       |   Bandwidth: By |
      |		       |     	    |	               |   Delay:     Dy |
      |		       |    	    |		       |   Jitter:    Jy |
      +----------------+------------+------------------+-----------------+
      |	Range Zx - Zy  |            |                  |                 |
      |	Z1, Z2(discrete|  EMBB      | PW ID/VPN info,  |   Non-GBR       |
      | values)        | (broadband)|  TE-PATH-C       |   Bandwidth: Bx |
      +----------------+------------+------------------+-----------------+

	
           </artwork>
      </figure>
    
    <t>In some E2E scenarios, security is desired granularly in the underlying transport network.  
    In such cases, there would be a need to have separate sub-ranges under each SST to provide the TE path in preserving the security characteristics. 
    The UDP source Port range captured in  <xref target="TRANS_MAPPING"/> would be sub-divided to maintain the TE path for the current SSTs with the security. 
    The current solution doesn't provide any mandate on the UE traffic in selecting the type of security.</t>
    
    <t>There are many possible transport network technologies that may be used to realize these slices.
    These are described in  <xref target="I-D.ietf-teas-ietf-network-slices"/>.</t>
	
    </section>  



  

    <section anchor="Acknowledgements" title="Acknowledgements">

	    <t> 
	        Thanks to Young Lee for discussions on this document including ACTN applicability and relation to NSSMF in the early discussions. 
	        Thanks to Sri Gundavelli, Kausik Majumdar, Hannu Flinck, Joel Halpern, Satoru Matsushima and Tianji Jiang who provided detailed feedback on this document.
            </t>		    
    </section>

    <section anchor="IANA" title="IANA Considerations">
	<t>
           This document has no requests for any IANA code point allocations.
   </t>
            </section>

    <section anchor="Security" title="Security Considerations">
	    <t>
This document does not introduce any new security issues.
        </t>		
		    
</section>


    <section anchor="CONTRIBUTING_AUTH" title="Contributing Authors">

	    <t>The following people contributed substantially to the content of this
		    document and should be considered co-authors. </t>

      <t><figure>
     <artwork><![CDATA[Richard Li
Futurewei
2330 Central Expressway
Santa Clara
CA 95050
USA
Email: richard.li@futurewei.com]]></artwork>
        </figure></t>


     <t><figure>
     <artwork><![CDATA[Luis M. Contreras
Telefonica
Sur-3 building, 3rd floor
Madrid 28050
Spain
Email: luismiguel.contrerasmurillo@telefonica.com]]></artwork>
        </figure></t>

	          <t><figure>
				  <artwork><![CDATA[Xavier De Foy
InterDigital Communications, LLC
1000 Sherbrooke West
Montreal
Canada

Email: Xavier.Defoy@InterDigital.com]]></artwork>
        </figure></t>
   
	          <t><figure>
				  <artwork><![CDATA[Reza Rokui
Ciena

Email: rrokui@ciena.com]]></artwork>
        </figure></t>
</section>
  </middle>

  <!-- *****BACK MATTER ***** -->

  <back>
    <references title="Normative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.I-D.ietf-teas-ietf-network-slices"?>
      <?rfc include="reference.I-D.ietf-teas-5g-network-slice-application"?>
      <?rfc include="reference.I-D.mcd-rtgwg-extension-tn-aware-mobility"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8453.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.8402.xml"?>

        <reference anchor='TS.23.501-3GPP'>
        <front>
        <title>System Architecture for 5G System; Stage 2, 3GPP TS 23.501 v2.0.1</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="December" year="2017"/>
        </front>
      </reference>

      <reference anchor='TS.23.502-3GPP'>
        <front>
        <title>Procedures for 5G System; Stage 2, 3GPP TS 23.502, v2.0.0</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="December" year="2017"/>
        </front>
      </reference>

      <reference anchor='TS.23.503-3GPP'>
        <front>
        <title>Policy and Charging Control System for 5G Framework; Stage 2, 3GPP TS 23.503 v1.0.0</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="December" year="2017"/>
        </front>
        </reference>
	
	<reference anchor='TS.28.530-3GPP'>
        <front>
		<title>Aspects; Management and Orchestration; Concepts, use cases and requirements (Release 17)</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="June" year="2022"/>
        </front>
	</reference>
	
	<reference anchor='TS.28.533-3GPP'>
        <front>
		<title>Management and Orchestration Architecture Framework (Release 15)</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="June" year="2018"/>
        </front>
	</reference>	
	
	<reference anchor='TS.28.541-3GPP'>
        <front>
		<title>Management and orchestration; 5G Network Resource Model (NRM); Stage 2 and stage 3 (Release 17)
		</title>
        <author>
        <organization>3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="June" year="2020"/>
        </front>
	</reference>
  
    <reference anchor='TS.29.281-3GPP'>
        <front>
        <title>GPRS Tunneling Protocol User Plane (GTPv1-U), 3GPP TS 29.281 v15.1.0</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="December" year="2018"/>
        </front>
	</reference>
	

	<reference anchor='TS.38.300-3GPP'>
        <front>
        <title>NR; NR and NG-RAN Overall Description; Stage 2; v15.7.0</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="September" year="2019"/>
        </front>
	</reference>
	<reference anchor='TS.38.401-3GPP'>
        <front>
        <title>NG-RAN; Architecture description; v15.7.0</title>
        <author>
        <organization>
        3rd Generation Partnership Project (3GPP)
        </organization>
        </author>
        <date month="September" year="2019"/>
        </front>
	</reference>
	
	<reference anchor='ORAN-WG4.CUS-O-RAN'>
        <front>
        <title>O-RAN Fronthaul Working Group; Control, User and Synchronization Plane Specification; v2.0.0</title>
        <author>
        <organization>
        O-RAN Alliance (O-RAN)
        </organization>
        </author>
        <date month="August" year="2019"/>
        </front>
	</reference>
    </references>
   

     

  </back>
</rfc>
