<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-teas-ns-ip-mpls-09" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="IP/MPLS Network Slicing">Realizing Network Slices in IP/MPLS Networks</title>

    <author initials="T." surname="Saad" fullname="Tarek Saad">
      <organization>Cisco Systems Inc.</organization>
      <address>
        <email>tsaad.net@gmail.com</email>
      </address>
    </author>
    <author initials="V." surname="Beeram" fullname="Vishnu Pavan Beeram">
      <organization>HPE</organization>
      <address>
        <email>vishnupavan.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="J." surname="Dong" fullname="Jie Dong">
      <organization>Huawei Technologies</organization>
      <address>
        <email>jie.dong@huawei.com</email>
      </address>
    </author>
    <author initials="J." surname="Halpern" fullname="Joel Halpern">
      <organization>HPE</organization>
      <address>
        <email>joel.halpern@hpe.com</email>
      </address>
    </author>
    <author initials="S." surname="Peng" fullname="Shaofu Peng">
      <organization>ZTE Corporation</organization>
      <address>
        <email>peng.shaofu@zte.com.cn</email>
      </address>
    </author>

    <date year="2026" month="July" day="19"/>

    
    <workgroup>TEAS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 50?>

<t>Realizing network slices may require the Service Provider to have the ability to
partition a physical network into multiple logical networks of varying sizes,
structures, and functions so that each slice can be dedicated to specific
services or customers. Multiple network slices can be realized on the same
network while ensuring slice elasticity in terms of network resource
allocation. This document describes a scalable solution to realize network
slicing in IP/MPLS networks by supporting multiple services on top of a single
physical network by requiring compliant domains and nodes to provide
forwarding treatment (scheduling, drop policy, resource usage) based on
slice identifiers.</t>



    </abstract>



  </front>

  <middle>


<?line 63?>

<section anchor="introduction"><name>Introduction</name>

<t>Network slicing allows a Service Provider to create independent and logical
networks on top of a shared physical network infrastructure. Such network
slices can be offered to customers or used internally by the Service Provider
to enhance the delivery of their service offerings. A Service Provider can also
use network slicing to structure and organize the elements of its
infrastructure. The solution discussed in this document works with any path
control technology (such as RSVP-TE, or SR) that can be used by a Service Provider
to realize network slicing in IP/MPLS networks.</t>

<t><xref target="RFC9543"/> provides the definition of a network
slice for use within the IETF and discusses the general framework for
requesting and operating IETF Network Slices, their characteristics, and the
necessary system components and interfaces. It also  discusses the function of
an IETF Network Slice Controller and the requirements on its northbound and
southbound interfaces.</t>

<t>This document introduces the notion of a Slice-Flow Aggregate which comprises
of one or more IETF network slice traffic streams. It also describes the
Network Resource Partition (NRP) and the NRP Policy that can be used to
instantiate control and data plane behaviors on select topological elements
associated with the NRP that supports a Slice-Flow
Aggregate - refer <xref target="SliceDefinition"/> for further details.</t>

<t>The IETF Network Slice Controller is responsible for the aggregation of
multiple IETF network traffic streams into a Slice-Flow Aggregate, and for
maintaining the mapping required between them. The mechanisms used by the
controller to determine the mapping of one or more IETF network slice to a
Slice-Flow Aggregate are outside the scope of this document. The focus of this
document is on the mechanisms required at the device level to address the
requirements of network slicing in packet networks.</t>

<t>In a Diffserv (DS) domain <xref target="RFC2475"/>, packets requiring the same forwarding
treatment (scheduling and drop policy) are classified and marked with the
respective Class Selector (CS) Codepoint (or the Traffic Class (TC) field for
MPLS packets <xref target="RFC5462"/>) at the DS domain ingress nodes.  Such packets are
said to belong to a Behavior Aggregate (BA) that has a common set of behavioral
characteristics or a common set of delivery requirements.  At transit nodes,
the CS is inspected to determine the specific forwarding treatment to be
applied before the packet is forwarded.  A similar approach is adopted in this
document to realize network slicing. The solution proposed in this document
does not mandate Diffserv to be enabled in the network to provide a specific
forwarding treatment. If Diffserv is enabled within the network, the Slice-Flow
Aggregate traffic can further carry a Diffserv CS to enable differentiation of
forwarding treatments for packets within a Slice-Flow Aggregate.</t>

<t>When logical networks associated with an NRP are realized on top of a shared
physical network infrastructure, it is important to steer traffic on the
specific network resources partition that is allocated for a given Slice-Flow
Aggregate.  In packet networks, the packets of a specific Slice-Flow Aggregate
may be identified by one or more specific fields carried within the packet. An
NRP ingress boundary node (where Slice-Flow Aggregate traffic enters the NRP)
populates the respective field(s) in packets that are
mapped to a Slice-Flow Aggregate in order to allow interior NRP nodes to
identify and apply the specific Per NRP Hop Behavior (NRP-PHB) associated with the
Slice-Flow Aggregate. The NRP-PHB defines the scheduling treatment and, in some
cases, the packet drop probability.</t>

<t>This document covers different modes of NRPs and discusses how
each mode can ensure proper placement of Slice-Flow Aggregate paths
and respective treatment of Slice-Flow Aggregate traffic.</t>

<section anchor="terminology"><name>Terminology</name>

<t>The reader is expected to be familiar with the terminology specified in
<xref target="RFC9543"/>.</t>

<t>The following terminology is used in the document:</t>

<dl newline="true">
  <dt>IETF Network Slice:</dt>
  <dd>
    <t>refer to the definition of 'IETF network slice' in 
<xref target="RFC9543"/>.</t>
  </dd>
  <dt>IETF Network Slice Controller (NSC):</dt>
  <dd>
    <t>refer to the definition in <xref target="RFC9543"/>.</t>
  </dd>
  <dt>Network Resource Partition:</dt>
  <dd>
    <t>refer to the definition in <xref target="RFC9543"/>.</t>
  </dd>
  <dt>Slice-Flow Aggregate:</dt>
  <dd>
    <t>a collection of packets that are mapped to an NRP and are given the same
forwarding treatment; a Slice-Flow Aggregate comprises one or more IETF
network slice traffic streams from one or more connectivity constructs
(belonging to one or more IETF network slices); the mapping of one or more IETF
network slice streams to a Slice-Flow Aggregate is maintained by the IETF Network
Slice Controller.  The boundary nodes MAY also maintain a mapping of specific
IETF network slice service(s) to a Slice-Flow Aggregate.</t>
  </dd>
  <dt>Network Resource Partition Policy (NRP):</dt>
  <dd>
    <t>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 an NRP Policy 
results in the creation of an NRP.</t>
  </dd>
  <dt>NRP Domain:</dt>
  <dd>
    <t>a network region under common administrative control within
which NRP Identifiers (NRP-IDs) are uniquely allocated and
managed, and within which NRP Policies are instantiated on
network elements to govern the partitioning of network
resources. An NRP domain has boundary nodes that are
responsible for NRP Selector handling (e.g., addition,
removal, stacking, or remapping) at the edges of the domain.
A network slice may span one or more NRP domains, each of
which independently manages its own NRP-ID space and resource
allocations.</t>
  </dd>
  <dt>NRP Identifier (NRP-ID):</dt>
  <dd>
    <t>an identifier that is globally unique within an NRP domain and that can
be used in the control or management plane to identify the resources associated with the NRP.</t>
  </dd>
  <dt>NRP Selector:</dt>
  <dd>
    <t>one or more fields (markings) in a packet's network layer header
that are used to map the packet to an NRP.</t>
  </dd>
  <dt>NRP Selector Identifier (NRP Selector ID):</dt>
  <dd>
    <t>a dedicated identifier that acts as an NRP Selector.</t>
  </dd>
  <dt>NRP Capable Node:</dt>
  <dd>
    <t>a node that supports one of the NRP modes described in this document.</t>
  </dd>
  <dt>NRP Incapable Node:</dt>
  <dd>
    <t>a node that does not support any of the NRP modes described in this document.</t>
  </dd>
  <dt>Slice-Flow Aggregate Path:</dt>
  <dd>
    <t>a path that is set up over the NRP that is associated with a specific Slice-Flow Aggregate.</t>
  </dd>
  <dt>Slice-Flow Aggregate Packet:</dt>
  <dd>
    <t>a packet that traverses over the NRP that is associated with a specific Slice-Flow Aggregate.</t>
  </dd>
  <dt>Filtered Topology:</dt>
  <dd>
    <t>a topology derived from the physical network by applying topology filtering
policies that select specific nodes and links based on their capabilities and
attributes (e.g., Resource Affinities or Flexible Algorithm membership).  The
same Filtered Topology may be shared by multiple NRPs.</t>
  </dd>
  <dt>NRP Topology:</dt>
  <dd>
    <t>the topology resulting from instantiating an NRP on a Filtered Topology by
associating NRP-specific resource reservations and Per Hop Behavior (NRP-PHB)
with the topological elements of the Filtered Topology.  Two NRPs may share
the same Filtered Topology while having different resource reservations and
forwarding treatments.</t>
  </dd>
  <dt>NRP state aware TE (NRP-TE):</dt>
  <dd>
    <t>a mechanism for TE path selection that takes into account the available network resources associated with a specific NRP.</t>
  </dd>
</dl>

</section>
<section anchor="acronyms-and-abbreviations"><name>Acronyms and Abbreviations</name>

<ul empty="true"><li>
  <t>BA: Behavior Aggregate</t>
</li></ul>

<ul empty="true"><li>
  <t>CS: Class Selector</t>
</li></ul>

<ul empty="true"><li>
  <t>NRP-PHB: NRP Per Hop Behavior as described in <xref target="SlicePHB"/></t>
</li></ul>

<ul empty="true"><li>
  <t>SLA: Service Level Agreements</t>
</li></ul>

<ul empty="true"><li>
  <t>SLO: Service Level Objectives</t>
</li></ul>

<ul empty="true"><li>
  <t>SLE: Service Level Expectations</t>
</li></ul>

<ul empty="true"><li>
  <t>Diffserv: Differentiated Services</t>
</li></ul>

<ul empty="true"><li>
  <t>MPLS: Multiprotocol Label Switching</t>
</li></ul>

<ul empty="true"><li>
  <t>LSP: Label Switched Path</t>
</li></ul>

<ul empty="true"><li>
  <t>RSVP: Resource Reservation Protocol</t>
</li></ul>

<ul empty="true"><li>
  <t>TE: Traffic Engineering</t>
</li></ul>

<ul empty="true"><li>
  <t>SR: Segment Routing</t>
</li></ul>

<ul empty="true"><li>
  <t>VRF: VPN Routing and Forwarding</t>
</li></ul>

<ul empty="true"><li>
  <t>AC: Attachment Circuit</t>
</li></ul>

<ul empty="true"><li>
  <t>CE: Customer Edge</t>
</li></ul>

<ul empty="true"><li>
  <t>PE: Provider Edge</t>
</li></ul>

<ul empty="true"><li>
  <t>PCEP: Path Computation Element (PCE) Communication Protocol (PCEP)</t>
</li></ul>

</section>
</section>
<section anchor="network-resource-slicing-membership"><name>Network Resource Slicing Membership</name>

<t>An NRP that supports a Slice-Flow Aggregate can be
instantiated over parts of an IP/MPLS network (e.g., all or specific network
resources in the access, aggregation, or core network), and can stretch across
multiple domains administered by a provider.  The NRP topology may
be comprised of dedicated and/or shared network resources (e.g., in
terms of processing power, storage, and bandwidth).</t>

<t>The physical network resources may be fully dedicated to a specific Slice-Flow
Aggregate.  For example, traffic belonging to a Slice-Flow Aggregate can traverse
dedicated network resources without being subjected to contention from traffic of
other Slice-Flow Aggregates.  Dedicated physical network resource slicing allows for simple
partitioning of the physical network resources amongst Slice-Flow Aggregates without
the need to distinguish packets traversing the dedicated network resources
since only one Slice-Flow Aggregate traffic stream can traverse the dedicated
resource at any time.</t>

<t>To optimize network utilization, sharing of the physical network resources may
be desirable. In such case, the same physical network resource capacity is
divided among multiple NRPs that support multiple Slice-Flow
Aggregates. The shared physical network resources can be
partitioned in the data plane (for example by applying hardware policers and
shapers) and/or partitioned in the control plane by providing a logical
representation of the physical link that has a subset of the network resources
available to it.</t>

</section>
<section anchor="NSRealization"><name>IETF Network Slice Realization</name>

<t><xref target="ns-workflow"/> describes the steps required to realize an IETF network slice
service in a provider network  using the solution proposed in this document.
While Figure 4 of <xref target="RFC9543"/> provides an abstract
architecture of an IETF Network Slice, this section intends to offer a
realization of that architecture specific for IP/MPLS packet networks.</t>

<t>Each of the steps is further elaborated on in a subsequent section.</t>

<figure title="IETF network slice realization steps." anchor="ns-workflow"><artwork><![CDATA[
                        --      --      --
                       |CE|    |CE|    |CE|
                        --      --      --
                      AC :    AC :    AC :
                      ----------------------       -------
                     ( |PE|....|PE|....|PE| )     ( IETF  )
    IETF Network    (   --:     --     :--   )   ( Network )
    Slice Service   (     :............:     )   (  Slice  )
    Request          (  IETF Network Slice  )     (       )  Customer
      v               ----------------------       -------     View
      v        ............................\........./...............
      v                                     \       /        Provider
      v    >>>>>>>>>>>>>>>  Slice-Flow       \     /           View
      v   ^                 Aggregate Mapping v   v
      v   ^             -----------------------------------------
      v   ^            ( |PE|.......|PE|........|PE|.......|PE|  )
     ---------        (   --:        --         :--         --    )
    |         |       (     :...................:                 )
    |   NSC   |        (        Network Resource Partition       )
    |         |         -----------------------------------------
    |         |                             ^
    |         |>>>>>  Resource Partitioning |
     ---------          of Filtered Topology|
      v   v                                 |
      v   v            -----------------------------      --------
      v   v           (|PE|..-..|PE|... ..|PE|..|PE|)    (        )
      v   v          ( :--  |P|  --   :-:  --   :--  )  (  Filter  )
      v   v          ( :.-   -:.......|P|       :-   )  ( Topology )
      v   v          (  |P|...........:-:.......|P|  )   (        )
      v   v           (  -    Filtered Topology      )     --------
      v   v            -----------------------------       ^
      v    >>>>>>>>>>>>  Topology Filter ^                /
      v        ...........................\............../...........
      v                                    \            /  Underlay
     ----------                             \          /  (Physical)
    |          |                             \        /    Network
    | Network  |    ----------------------------------------------
    |Controller|   ( |PE|.....-.....|PE|......    |PE|.......|PE| )
    |          |  (   --     |P|     --      :-...:--     -..:--   )
     ----------  (    :       -:.............|P|.........|P|        )
         v       (    -......................:-:..-       -         )
          >>>>>>> (  |P|.........................|P|......:        )
      Program the  (  -                           -               )
        Network     ----------------------------------------------
                             (NRP Policies and Paths)*

 * : NRP Policy installation and path placement can be centralized
     or distributed.
]]></artwork></figure>

<section anchor="network-topology-filters"><name>Network Topology Filters</name>

<t>The Physical Network may be filtered into a number of Filter
Topologies.  Filter actions may include selection of specific nodes
and links according to their capabilities and are based on network-
wide policies.  The resulting topologies can be used to host IETF
Network Slices and provide a useful way for the network operator to
know that all of the resources they are using to plan a network
slice meet specific SLOs.  This step can be done offline during
planning activity, or could be performed dynamically
as new demands arise.</t>

<t><xref target="SlicePolicyTopology"/> describes how topology filters can be
associated with the NRP instantiated by the NRP Policy.</t>

</section>
<section anchor="NetworkSliceServiceRequest"><name>IETF Network Slice Service Request</name>

<t>The customer requests an IETF Network Slice Service specifying the
CE-AC-PE points of attachment, the connectivity matrix, and the
SLOs/SLEs as described in <xref target="RFC9543"/>.
These capabilities are always provided based on a Service Level Agreement (SLA)
between the network slice customer and the provider.</t>

<t>This defines the traffic flows that need to be supported
when the slice is realized.  Depending on the mechanism and
encoding of the Attachment Circuit (AC), the IETF Network Slice Service may also include
information that will allow the operator's controllers to configure
the PEs to determine what customer traffic is intended
for this IETF Network Slice.</t>

<t>IETF Network Slice Service Requests are likely to arrive at various
times in the life of the network, and may also be modified.</t>

</section>
<section anchor="SliceAggregateMapping"><name>Slice-Flow Aggregation</name>

<t>A network may be called upon to support very many IETF Network
Slices, and this could present scaling challenges in the operation
of the network.  In order to overcome this, the IETF Network Slice
streams may be aggregated into groups according to similar characteristics.</t>

<t>A Slice-Flow Aggregate is a construct that comprises the traffic flows of one or
more IETF Network Slices. The mapping of IETF Network Slices into a Slice-Flow
Aggregate is a matter of local operator policy and is a function executed by the
Controller.  The Slice-Flow Aggregate may be preconfigured, created on demand, or
modified dynamically.</t>

</section>
<section anchor="PathPlacement"><name>Path Placement over NRP Filtered Topology</name>

<t>Depending on the underlying network technology, the paths are selected in the
network in order to best deliver the SLOs for the different services carried by
the Slice-Flow Aggregate.  The path placement function (carried on ingress node
or by a controller) is performed on the Filtered Topology that is
selected to support the Slice-Flow Aggregate.</t>

<t>Note that this step may indicate the need to increase the capacity of the
underlying Filtered Topology or to create a new Filtered Topology.</t>

</section>
<section anchor="nrp-policy"><name>NRP Policy</name>

<t>An NRP policy is a policy construct that enables instantiation of mechanisms in support of service
specific control and data plane behaviors on select topological
elements associated with the NRP.</t>

<t>The NRP Policy is a construct that enables the instantiation of control and
data plane behaviors on select topological elements in support of the IETF
network slice service. The NRP Policy encompasses policy actions (see <xref target="SliceDefinition"/>) that
manage the specific resources in the network associated with the NRP.</t>

</section>
<section anchor="nrp-policy-installation"><name>NRP Policy Installation</name>

<t>A Controller function programs the physical network with the NRP policies to define specific handling
for traffic flows belonging to the Slice-Flow Aggregate.  These NRP policies may
be consumed on select topological elements in the network and as a result
define how routers handle traffic for the Slice-Flow Aggregate associated with
the NRP.</t>

<t>For example, the routers that instantiate the NRP Policy can correlate markers
that are present in packets that belong to the Slice-Flow Aggregate and apply
specific treatments to them.</t>

<t>The way in which the NRP Policy is installed in the routers and the way that
the traffic is marked is implementation specific.  The NRP Policy instantiation
in the network is further described in <xref target="SlicePolicyInstantiation"/>.</t>

</section>
<section anchor="path-instantiation"><name>Path Instantiation</name>

<t>Depending on the underlying network technology, a Controller function may
install the forwarding state specific to the Slice-Flow Aggregate so that traffic is
routed along paths derived in the Path Placement step described in
<xref target="PathPlacement"/>.  The way in which the paths are instantiated is
implementation specific.</t>

</section>
<section anchor="service-mapping"><name>Service Mapping</name>

<t>The edge points can be configured to support the network slice service by
mapping the customer traffic to Slice-Flow Aggregates, possibly using
information supplied when the IETF network slice service was requested.  The
edge points may also be instructed to mark the packets so that the network
routers will know which policies and routing instructions to apply.
The steering of traffic onto Slice-Flow Aggregate paths is further described in <xref target="TrafficToSFAPath"/>.</t>

</section>
</section>
<section anchor="SliceModes"><name>Network Resource Partition Modes</name>

<t>An NRP Policy can be used to dictate if the network resource partitioning
of the shared network resources among multiple Slice-Flow Aggregates can be achieved:</t>

<t><list style="format %c)" counter="bar">
  <t>in data plane only,</t>
  <t>in control plane only, or</t>
  <t>in both control and data planes.</t>
</list></t>

<section anchor="DataplaneSlicing"><name>Data plane Network Resource Partition Mode</name>

<t>The physical network resources can be partitioned on network devices
by applying a Per Hop forwarding Behavior (PHB) onto packets that traverse the
network devices.</t>

<t>When data plane NRP mode is applied, packets need to be forwarded on the
specific NRP that supports the Slice-Flow Aggregate to ensure the proper
forwarding treatment dictated in the NRP Policy is applied (refer to
<xref target="SliceDefinition"/> below).  In this case, an NRP Selector
must be carried in each packet to identify the Slice-Flow Aggregate that
it belongs to.</t>

<t>The ingress node of an NRP domain adds an NRP Selector field (if not already
present) in each Slice-Flow Aggregate packet. In the data plane NRP mode, the
transit nodes within an NRP domain use the NRP Selector to associate packets with a
Slice-Flow Aggregate and to determine the Network Resource Partition Per Hop
Behavior (NRP-PHB) that is applied to the packet (refer to <xref target="SlicePHB"/> for
further details). The CS MAY be used to apply a Diffserv PHB on to the packet to
allow differentiation of traffic treatment within the same Slice-Flow
Aggregate.</t>

<t>When data plane only NRP mode is used, routers may rely on a
network state independent view of the topology to determine the best paths.
In this case, the best path selection dictates the
forwarding path of packets to the destination. The NRP Selector field carried in each
packet determines the specific NRP-PHB treatment along the
selected path.</t>

<t>The data plane NRP mode can provide two levels of isolation between
NRPs:</t>

<t><list style="symbols">
  <t>Strict isolation: Each NRP is assigned dedicated hardware
resources (e.g., queues, schedulers, and policers) that are not
shared with other NRPs.  This ensures that traffic of one NRP
cannot contend with or impact traffic of another NRP.</t>
  <t>Shared hardware isolation: Multiple NRPs may share the same
underlying hardware resources, but are differentiated by the NRP
Selector and the NRP-PHB applied to their traffic.  In this case,
isolation is statistical and depends on the configured scheduling
and policing policies.</t>
</list></t>

</section>
<section anchor="ControlplaneSlicing"><name>Control Plane Network Resource Partition Mode</name>

<t>Multiple NRPs can be realized over the same set of physical resources.  Each
NRP is identified by an identifier (NRP-ID) that is globally unique within the
NRP domain. The NRP state reservations for each NRP can be maintained on the
network element or on a controller.</t>

<t>The network reservation states for a specific partition can be represented
in a topology that contains all or a subset of the physical network
elements (nodes and links) and reflect the network state reservations in
that NRP. The logical network resources that appear in the NRP topology can
reflect a part, whole, or in-excess of the physical network resource capacity
(e.g., when oversubscription is desirable).</t>

<t>For example, the physical link bandwidth can be
divided into fractions, each dedicated to an NRP that supports a Slice-Flow Aggregate.
The topology associated with the NRP supporting a Slice-Flow Aggregate
can be used by routing protocols, or by the ingress/PCE when computing NRP state
aware TE paths.</t>

<t>To perform NRP state aware Traffic Engineering (NRP-TE), the resource reservation
on each link needs to be NRP aware. The NRP reservations state can be managed
locally on the device or off device (e.g. on a controller).</t>

<t>The same physical link may be a member of multiple slice policies that
instantiate different NRPs. The NRP
reservable or utilized bandwidth on such a link is updated (and may be
advertised) whenever new paths are placed in the network. The NRP
reservation state, in this case, is maintained on each device or off the
device on a resource reservation manager that holds reservation states for
those links in the network.</t>

<t>Multiple NRPs that support Slice-Flow Aggregates can form a group and share the available network
resources allocated to each. In this case, a node can update
the reservable bandwidth for each NRP to take into consideration
the available bandwidth from other NRPs in the same group.</t>

<t>For illustration purposes, <xref target="resource-sharing"/> describes bandwidth partitioning
or sharing amongst a group of NRPs. In Figure 2a, the NRPs identified by the following NRP-IDs:
NRP1, NRP2, NRP3 and NRP4 are not sharing any bandwidths between each
other. In Figure 2b, the NRPs: NRP1 and NRP2 can share the
available bandwidth portion allocated to each amongst them.
Similarly, NRP3 and NRP4 can share amongst themselves any available bandwidth
allocated to them, but they cannot share available bandwidth allocated to
NRP1 or NRP2.  In both cases, the Max Reservable Bandwidth may exceed the
actual physical link resource capacity to allow for oversubscription.</t>

<figure title="Bandwidth isolation/sharing among NRPs." anchor="resource-sharing"><artwork><![CDATA[
  I-----------------------------I     I-----------------------------I 
  <--NRP1->                     I     I-----------------I           I
  I---------I                   I     I <-NRP1->        I           I
  I         I                   I     I I-------I       I           I
  I---------I                   I     I I       I       I           I
  I                             I     I I-------I       I           I
  <-----NRP2------>             I     I                 I           I
  I-----------------I           I     I <-NRP2->        I           I
  I                 I           I     I I---------I     I           I
  I-----------------I           I     I I         I     I           I
  I                             I     I I---------I     I           I
  <---NRP3---->                 I     I                 I           I
  I-------------I               I     I NRP1 + NRP2     I           I
  I             I               I     I-----------------I           I
  I-------------I               I     I                             I
  I                             I     I                             I
  <---NRP4---->                 I     I-----------------I           I
  I-------------I               I     I <-NRP3->        I           I
  I             I               I     I I-------I       I           I
  I-------------I               I     I I       I       I           I
  I                             I     I I-------I       I           I
  I NRP1+NRP2+NRP3+NRP4         I     I                 I           I
  I                             I     I <-NRP4->        I           I
  I-----------------------------I     I I---------I     I           I
  <--Max Reservable Bandwidth-->      I I         I     I           I
                                      I I---------I     I           I
                                      I                 I           I
                                      I NRP3 + NRP4     I           I
                                      I-----------------I           I
                                      I NRP1+NRP2+NRP3+NRP4         I
                                      I                             I
                                      I-----------------------------I
                                      <--Max Reservable Bandwidth-->

  (a) No bandwidth sharing            (b) Sharing bandwidth between
      between NRPs.                       NRPs of the same group.

]]></artwork></figure>

<t>The control plane NRP mode provides isolation at admission time by
ensuring that the total bandwidth reserved across NRPs does not
exceed the available physical link capacity (subject to any
configured oversubscription).  However, since no per-packet
forwarding enforcement is applied in this mode, traffic from
different NRPs may contend for the same physical resources at
runtime, and isolation guarantees are soft.  To compensate, the
control plane MAY monitor link utilization and detect congestion,
and react by reoptimizing the placement of affected traffic flows
onto less loaded paths within the NRP topology.</t>

</section>
<section anchor="DataControlplaneSlicing"><name>Data and Control Plane Network Resource Partition Mode</name>

<t>In order to support strict guarantees for Slice-Flow
Aggregates, the network resources can be partitioned in both the control plane
and data plane.</t>

<t>The control plane partitioning allows the creation of customized topologies per
NRP that each supports a Slice-Flow Aggregate. The ingress routers or a Path
Computation Engine (PCE) may use the customized topologies and the NRP state
to determine optimal path placement for specific demand flows using NRP-TE.</t>

<t>The data plane partitioning provides isolation for Slice-Flow Aggregate traffic, and
protection when resource contention occurs due to bursts of traffic from other Slice-Flow
Aggregate traffic that traverses the same shared network resource.</t>

<t>The combination of control and data plane partitioning provides the
strongest form of NRP isolation.  The control plane ensures that
admitted traffic across NRPs does not exceed the available network
resources, while the data plane enforces per-packet forwarding
treatment at runtime, preventing traffic bursts from one NRP from
impacting the resources available to other NRPs.</t>

</section>
</section>
<section anchor="SlicePolicyInstantiation"><name>Network Resource Partition Instantiation</name>

<t>A network slice can span multiple technologies and multiple administrative
domains.  Depending on the network slice customer requirements, a network
slice can be differentiated from other network slices in terms of data, control,
and management planes.</t>

<t>The customer of a network slice service expresses their intent
by specifying requirements rather than mechanisms to realize the slice as described
in <xref target="NetworkSliceServiceRequest"/>.</t>

<t>The network slice controller is fed with the network slice service
intent and realizes it with an appropriate Network Resource Partition Policy (NRP Policy).
Multiple IETF network slices are mapped to the same Slice-Flow Aggregate as described in <xref target="SliceAggregateMapping"/>.</t>

<t>The network wide consistent NRP Policy definition is distributed to the
devices in the network as shown in <xref target="ns-workflow"/>. The specification of
the network slice intent on the northbound interface of the controller and the
mechanism used to map the network slice to a Slice-Flow Aggregate are outside the scope
of this document and will be addressed in separate documents.</t>

<section anchor="SliceDefinition"><name>NRP Policy Definition</name>

<t>The NRP Policy is a network-wide construct that is supplied to network devices,
and may include rules that control the following:</t>

<t><list style="symbols">
  <t>Data plane specific policies: This includes the NRP Selector, any firewall rules or
flow-spec filters, and QoS profiles associated with the NRP Policy and any
classes within it.</t>
  <t>Control plane specific policies: This includes bandwidth reservations, any
network resource sharing amongst slice policies, and reservation preference to
prioritize reservations of a specific NRP over others.</t>
  <t>Topology membership policies: This defines the topology filter policies that dictate
node/link/function membership to a specific NRP.</t>
</list></t>

<t>There is a desire for flexibility in realizing network slices to support the
services across networks consisting of implementations from multiple vendors.  These
networks may also be grouped into disparate domains and deploy various path
control technologies and tunnel techniques to carry traffic across the network.
It is expected that a standardized data model for NRP
Policy will facilitate the instantiation and management of the NRP
on the topological elements selected by the NRP
Policy topology filter.</t>

<t>It is also possible to distribute the NRP Policy to
network devices using several mechanisms, including protocols such as NETCONF
or RESTCONF, or exchanging it using a suitable routing protocol that network
devices participate in (such as IGP(s) or BGP). The extensions to enable
specific protocols to carry an NRP Policy definition will
be described in separate documents.</t>

<section anchor="SliceSelector"><name>Network Resource Partition Selector</name>

<t>A router needs to be able to identify a packet belonging to a Slice-
Flow Aggregate before it can apply the associated data plane
forwarding treatment or NRP-PHB.  One or more fields within the
packet are used as an NRP Selector to do this. There are several
possible approaches as follows.</t>

<t>The NRP Selector can be defined for and carried in different forwarding
data planes.  For example:</t>

<t><list style="symbols">
  <t>In MPLS networks, the NRP Selector may be encoded within the MPLS
label stack or post stack.</t>
  <t>In IPv6 networks, the NRP Selector may be carried within fields of
the IPv6 header (e.g., source or destination address), or within an
IPv6 extension header.</t>
  <t>In SRv6 networks, the NRP Selector may be encoded as a SRv6 SID or
carried within the Segment Routing Header (SRH) (e.g., as a TLV).</t>
</list></t>

<t>The specific encoding depends on the data plane technology deployed in
the NRP domain and is outside the scope of this document.</t>

<t>Overloaded forwarding identifier as NRP Selector:</t>

<ul empty="true"><li>
  <t>It is possible to assign a different forwarding address or MPLS forwarding
 label for each Slice-Flow Aggregate on a specific node
 in the network. This allows Slice-Flow Aggregate packets
 destined to a node to be distinguished by the destination address
 or the MPLS forwarding label that is carried in the packet.</t>

  <t>This approach requires maintaining per Slice-Flow Aggregate state
 for each destination in the network in both the control and data
 plane and on each router in the network. Hence this approach
 scales as a multiple of the number of Slice-Flow Aggregates
 and the number of adjacencies each node has which is a
 scalability challenge in both the control and data planes.</t>
</li></ul>

<t>Overloaded service identifier as NRP Selector:</t>

<ul empty="true"><li>
  <t>VPN identifiers can be carried in the IP/MPLS forwarding plane
 using a variety of techniques (including MPLS VPN service labels).
 These identifiers can be overloaded to act as NRP Selectors
 to allow VPN packets to be mapped to the Slice-Flow Aggregate.  In
 this case, a single VPN identifier acting as an NRP Selector needs
 to be allocated by all Egress PEs of a VPN.</t>
</li></ul>

<ul empty="true"><li>
  <t>In other cases, a range of VPN identifiers can map to a single NRP
 Selector to map traffic from multiple VPNs to a Slice-Flow Aggregate.</t>
</li></ul>

<figure title="NRP Selector as VPN label at bottom of label stack." anchor="bottom-stack"><artwork><![CDATA[
  SR Adj-SID:          NRP Selector (VPN service label) on PE2: 1001
     9012: P1-P2
     9023: P2-PE2

         /-----\        /-----\        /-----\       /-----\
         | PE1 | -----  | P1  | ------ | P2  |------ | PE2 |
         \-----/        \-----/        \-----/       \-----/

In 
packet: 
+------+       +------+         +------+        +------+
| IP   |       | 9012 |         | 9023 |        | 1001 |
+------+       +------+         +------+        +------+
| Pay- |       | 9023 |         | 1001 |        | IP   | 
| Load |       +------+         +------+        +------+
+------+       | 1001 |         | IP   |        | Pay- |
               +------+         +------+        | Load |
               | IP   |         | Pay- |        +------+
               +------+         | Load |
               | Pay- |         +------+
               | Load |
               +------+
]]></artwork></figure>

<t>Dedicated identifier as NRP Selector:</t>

<ul empty="true"><li>
  <t>A dedicated identifier may be defined to act as the NRP Selector
ID to be carried in packets of Slice-Flow Aggregate, independent of
the forwarding address or MPLS forwarding label bound to the
destination and independent of any VPN identifiers.  Routers within
the NRP domain can use the forwarding address or MPLS forwarding
label to determine the forwarding next-hops, and use the NRP
Selector in the packet to infer the specific forwarding treatment
that needs to be applied on the packet.</t>
</li></ul>

<ul empty="true"><li>
  <t>The NRP Selector, in this case, can be carried in one of multiple
fields in the packet, depending on the data plane in use. All packets
that belong to the same Slice-Flow Aggregate may carry the same
NRP Selector, but it is also possible to have multiple NRP Selectors
map to the same Slice-Flow Aggregate.</t>
</li></ul>

<t>Fallback treatment for unclassified packets:</t>

<ul empty="true"><li>
  <t>A packet carrying an NRP Selector may arrive at an NRP-capable
node on which no NRP matching that NRP Selector value is
instantiated.  In such cases, the node is unable to associate the
packet with any NRP and therefore cannot apply the corresponding
NRP-PHB forwarding treatment.</t>

  <t>The following fallback treatments MAY be applied in this case:</t>

  <t><list style="symbols">
    <t>Drop: The packet is discarded.  This is the RECOMMENDED default
behavior, as it prevents packets with unrecognized NRP Selectors
from consuming resources of other NRPs on the node.</t>
    <t>Best-effort forwarding: The packet is forwarded using the
node's default best-effort forwarding treatment, without any
NRP-specific resource guarantees.</t>
    <t>Default NRP forwarding: The packet is mapped to a pre-configured
default NRP on the node, which provides a baseline forwarding
treatment for unmatched traffic.</t>
  </list></t>

  <t>The choice of fallback treatment SHOULD be configurable via local
policy.  When a dedicated identifier is used as the NRP Selector,
a field within the NRP Selector ID MAY be used to signal the
desired fallback treatment, allowing the ingress node to influence
the behavior at downstream nodes.</t>
</li></ul>

</section>
<section anchor="SliceResourceReservation"><name>Network Resource Partition Resource Reservation</name>

<t>Bandwidth and network resource allocation strategies for slice policies are
essential to achieve optimal placement of paths within the
network while still meeting the target SLOs.</t>

<t>Resource reservation allows for the management of available bandwidth and the
prioritization of existing allocations to enable preference-based preemption
when contention on a specific network resource arises. Sharing of a network
resource's available bandwidth amongst a group of NRPs
may also be desirable.  For example, a Slice-Flow Aggregate may not be using all of
the NRP reservable bandwidth; this allows other NRPs in
the same group to use the available bandwidth resources for other Slice-Flow
Aggregates.</t>

<t>Congestion on shared network resources may result from sub-optimal placement
of paths in different slice policies. When this occurs, preemption
of some Slice-Flow Aggregate paths may be desirable to alleviate congestion.
A preference-based allocation scheme enables prioritization of Slice-Flow Aggregate paths
that can be preempted.</t>

<t>Since network characteristics and its state can change over time, the NRP
topology and its network state need to be propagated in the network to enable
ingress TE routers or Path Computation Engine (PCEs) to perform accurate path placement
based on the current state of the NRP network resources.</t>

</section>
<section anchor="SlicePHB"><name>Network Resource Partition Per Hop Behavior</name>

<t>The NRP Per Hop Behavior (NRP-PHB) is the externally
observable forwarding behavior applied to a specific packet belonging to a
Slice-Flow Aggregate. The goal of an NRP-PHB is to provide a specified amount
of network resources for traffic belonging to a specific Slice-Flow Aggregate.
A single NRP may also support multiple forwarding
treatments or services that can be carried over the same logical network.</t>

<t>The Slice-Flow Aggregate traffic may be identified at NRP ingress boundary
nodes by carrying a NRP Selector to allow routers to apply a specific forwarding
treatment that guarantees the SLA(s).</t>

<t>To support multiple forwarding treatments over the same Slice-Flow Aggregate, a
Slice-Flow Aggregate packet may also carry a Diffserv CS to identify the
specific Diffserv forwarding treatment to be applied on the traffic belonging
to the same NRP.</t>

<t>At transit nodes, the CS field carried inside the packets are used to determine the
specific PHB that determines the forwarding and scheduling
treatment before packets are forwarded, and in some cases, drop probability for
each packet.</t>

</section>
<section anchor="SlicePolicyTopology"><name>Network Resource Partition Topology</name>

<t>The relationship between the physical network, the Filtered Topology,
and the NRP topology can be described as follows:</t>

<t><list style="numbers" type="1">
  <t>The Physical Network comprises the underlying nodes and links
with their actual hardware resources (e.g., bandwidth,
processing capacity).</t>
  <t>A Filtered Topology is derived from the Physical Network by
applying topology filtering policies that select specific nodes
and links based on their capabilities and attributes (as
described in <xref target="SliceDefinition"/>).  The same Filtered Topology may
be shared by multiple NRPs.</t>
  <t>An NRP is instantiated on a Filtered Topology by associating
NRP-specific resource reservations (<xref target="SliceResourceReservation"/>)
and Per Hop Behavior (<xref target="SlicePHB"/>) with the topological elements
of the Filtered Topology.  The resulting topology, comprising the
filtered nodes and links together with their NRP-specific
resource attributes, is referred to as the NRP Topology.</t>
</list></t>

<t>Since the same Filtered Topology may underlie multiple NRPs, two NRPs
may share the same set of nodes and links while having different
resource reservations and forwarding treatments applied to them.</t>

<t>A key element of the NRP Policy is a customized topology that may include the
full or a subset of the physical network topology. The NRP topology
could also span multiple administrative domains and/or multiple dataplane
technologies.</t>

<t>An NRP topology can overlap or share a subset of links
with another NRP topology. A number of topology
filtering policies can be defined as part of the NRP
Policy to limit the specific topology elements that belong to the NRP.
For example, a topology filtering policy can leverage Resource
Affinities as defined in <xref target="RFC2702"/> to include or exclude certain links that
the NRP is instantiated on in support of the Slice-Flow
Aggregate.</t>

<t>The NRP Policy may also include a reference to a
predefined topology (e.g., derived from a Flexible Algorithm Definition (FAD)
as defined in <xref target="I-D.ietf-lsr-flex-algo"/>, or Multi-Topology ID as defined in
<xref target="RFC4915"/>.</t>

</section>
</section>
<section anchor="NRPBoundary"><name>Network Resource Partition Boundary</name>

<t>A network slice originates at the edge nodes of a network slice provider.
Traffic that is steered over the corresponding NRP supporting a Slice-Flow
Aggregate may traverse NRP capable as well as NRP incapable interior nodes.</t>

<t>The network slice may encompass one or more domains administered by a provider.
For example, an organization's intranet or an ISP.  The network provider
is responsible for ensuring that adequate network resources are
provisioned and/or reserved to support the SLAs offered by the network
end-to-end.</t>

<section anchor="network-resource-partition-edge-nodes"><name>Network Resource Partition Edge Nodes</name>

<t>NRP edge nodes sit at the boundary of a network slice provider network
and receive traffic that requires steering over network resources specific to a
NRP that supports a Slice-Flow Aggregate. These edge nodes are responsible for identifying Slice-Flow
Aggregate specific traffic flows by possibly inspecting multiple fields from
inbound packets (e.g., implementations may inspect IP traffic's network 5-tuple
in the IP and transport protocol headers) to decide on which NRP it
can be steered.</t>

<t>Network slice ingress nodes may condition the inbound traffic at network boundaries in
accordance with the requirements or rules of each service's SLAs.  The
requirements and rules for network slice services are set using
mechanisms which are outside the scope of this document.</t>

<t>When data plane NRP mode is employed, the NRP ingress nodes are responsible for
setting a suitable NRP Selector on packets that belong to the Slice-Flow
Aggregate, and optionally the desired Diffserv CS.</t>

<t><xref target="RFC9543"/> describes different IETF Network Slice Service Demarcation
Point (SDP) locations that determine where the NRP edge function
is performed.  The following describes how the solution described
in this document caters to each SDP location:</t>

<dl>
  <dt>SDP within the CE:</dt>
  <dd>
    <t>When the CE is operated by the IETF Network Slice Service provider,
the CE itself acts as the NRP ingress node.  The CE may classify
inbound traffic, set the NRP Selector, and enforce the NRP-PHB on
the outgoing interface.  In this case, slicing resources may include
buffers and queues on the CE outgoing interfaces.</t>
  </dd>
  <dt>SDP at the CE/AC boundary:</dt>
  <dd>
    <t>When the IETF Network Slice extends to include the Attachment Circuit
(AC), traffic conditioning and policing are applied at the AC ends.
The CE or PE may use traffic tagging (e.g., Ethernet VLAN tags) to
identify the IETF Network Slice.  The NRP Selector may be set by the
CE or by the PE upon receiving the tagged traffic from the AC.</t>
  </dd>
  <dt>SDP at the PE customer-facing port:</dt>
  <dd>
    <t>The PE's customer-facing port acts as the NRP ingress node.  In this
case, the port or VLAN tag on the incoming traffic identifies the
IETF Network Slice and the corresponding Slice-Flow Aggregate.  The
PE sets the NRP Selector on the inbound packets before forwarding
them into the NRP domain.</t>
  </dd>
  <dt>SDP within the PE:</dt>
  <dd>
    <t>The PE classifies inbound traffic from the AC by inspecting multiple
packet fields (e.g., the IP 5-tuple) to identify the IETF Network
Slice and the corresponding Slice-Flow Aggregate.  The PE then sets
the NRP Selector on the classified packets before forwarding them
into the NRP domain.</t>
  </dd>
</dl>

</section>
<section anchor="network-resource-partition-interior-nodes"><name>Network Resource Partition Interior Nodes</name>

<t>An NRP interior node receives slice traffic and may be able to identify the
packets belonging to a specific Slice-Flow Aggregate by inspecting the NRP Selector
field carried inside each packet, or by inspecting other fields
within the packet that may identify the traffic streams that belong to a specific
Slice-Flow Aggregate. For example, when data plane NRP mode is applied, interior
nodes can use the NRP Selector carried within the packet to apply the corresponding NRP-PHB
forwarding behavior.</t>

</section>
<section anchor="NRPIncapbale"><name>Network Resource Partition Incapable Nodes</name>

<t>Packets that belong to a Slice-Flow Aggregate may need to traverse nodes that
are NRP incapable. In this case, several options are possible to allow the
slice traffic to continue to be forwarded over such devices and be able to
resume the NRP forwarding treatment once the traffic reaches devices that are
NRP-capable.</t>

<t>When data plane NRP mode is employed, packets carry a NRP Selector to allow
slice interior nodes to identify them. To support end-to-end network slicing,
the NRP Selector is maintained in the packets as they traverse devices within
the network -- including NRP capable and incapable devices.</t>

<t>For example, when the NRP Selector is an MPLS label at the bottom of the MPLS
label stack, packets can traverse over devices that are NRP incapable without
any further considerations. On the other hand, when the NRP Selector label is at
the top of the MPLS label stack, packets can be bypassed (or tunneled) over the
NRP incapable devices towards the next device that supports NRP as shown in
<xref target="sl-interworking"/>.</t>

<figure title="Extending network slice over NRP incapable device(s)." anchor="sl-interworking"><artwork><![CDATA[
  SR Node-SID:           NRP Selector: 1001     @@@: NRP Policy
     1601: P1            Label                       enforced
     1602: P2                                   ...: NRP Policy
     1603: P3                                        not enforced
     1604: P4
     1605: P5

            @@@@@@@@@@@@@@ ........................
                                                  .
           /-----\        /-----\        /-----\  .
           | P1  | -----  | P2  | ----- | P3  |   .
           \-----/        \-----/        \-----/  .
                                            |     @@@@@@@@@@
                                            |
                                         /-----\        /-----\ 
                                         | P4  | ------ | P5  |
                                         \-----/        \-----/


            +------+       +------+        +------+
            | 1001 |       | 1604 |        | 1001 |
            +------+       +------+        +------+
            | 1605 |       | 1001 |        | IP   |
            +------+       +------+        +------+
            | IP   |       | 1605 |        | Pay- |
            +------+       +------+        | Load |
            | Pay- |       | IP   |        +------+
            | Load |       +------+
            +------+       | Pay- |
                           | Load |
                           +------+
]]></artwork></figure>

<t>An NRP-capable node needs to identify which of its downstream
neighbors are NRP incapable in order to apply the appropriate
bypass or tunnel treatment described above.  The following
mechanisms MAY be used for this purpose:</t>

<dl>
  <dt>Controller-based discovery:</dt>
  <dd>
    <t>In controller-based deployments, NRP node capabilities MAY be
distributed to a controller using mechanisms such as
NETCONF <xref target="RFC6241"/>, BGP-LS <xref target="RFC7752"/>, or PCEP <xref target="RFC5440"/>.
The controller or PCE can then use this information when computing
paths to steer traffic around NRP incapable nodes or to select
appropriate bypass tunnels.</t>
  </dd>
  <dt>Static configuration:</dt>
  <dd>
    <t>As a fallback, operators MAY statically configure on each node which
of its downstream neighbors are NRP incapable.  This approach is
simple but does not adapt automatically to topology or capability
changes.</t>
  </dd>
</dl>

</section>
<section anchor="combining-network-resource-partition-modes"><name>Combining Network Resource Partition Modes</name>

<t>It is possible to employ a combination of the NRP modes that were
discussed in <xref target="SliceModes"/> to realize a network slice. For example, data and
control plane NRP modes can be employed in parts of a network, while
control plane NRP mode can be employed in the other parts of the
network. The path selection, in such case, can take into
account the NRP available network resources.  The NRP Selector carried within
packets allow transit nodes to enforce the corresponding NRP-PHB on the parts of the
network that apply the data plane NRP mode. The NRP Selector can be
maintained while traffic traverses nodes that do not enforce data plane NRP
mode, and so slice PHB enforcement can resume once traffic traverses
capable nodes.</t>

</section>
<section anchor="MultiDomainNRP"><name>Multi-domain Network Resource Partition Considerations</name>

<t>A network slice may span multiple NRP domains, each administered
by the same or different providers.  In such deployments, the
NRP boundary nodes at the edges of each domain are responsible
for ensuring that the appropriate NRP treatment is applied within
their domain and that end-to-end SLAs are maintained across
domain boundaries.</t>

<t>When a network slice traverses multiple NRP domains, the NRP
Selector carried in packets may be handled at domain boundaries
in one of the following ways:</t>

<dl>
  <dt>NRP Selector Stacking:</dt>
  <dd>
    <t>The original NRP Selector (e.g., for NRP1) is preserved in the
packet end-to-end.  When entering an intermediate NRP domain
(e.g., NRP2), the ingress boundary node of that domain adds the
intermediate domain's NRP Selector to the packet.  Interior nodes
within the intermediate domain use the added NRP Selector to apply
the corresponding NRP-PHB treatment.  Upon exiting the intermediate
domain, the egress boundary node removes the intermediate domain's
NRP Selector, re-exposing the original NRP Selector.  The original
NRP treatment resumes in the next NRP domain.  The specific
mechanism for adding and removing the NRP Selector is data-plane
dependent (e.g., pushing and popping a label in MPLS, or encoding
in a packet header field in other data planes).  This approach does
not require NRP-ID coordination across domain boundaries.</t>
  </dd>
  <dt>NRP Selector Remapping:</dt>
  <dd>
    <t>At the boundary between two NRP domains, the boundary node replaces
the incoming NRP Selector with the appropriate NRP Selector for the
downstream domain.  This requires coordination of NRP-ID mappings at
inter-domain boundaries, which may be achieved via static
configuration or via a controller (e.g., using NETCONF <xref target="RFC6241"/>,
BGP-LS <xref target="RFC7752"/>, or PCEP <xref target="RFC5440"/>).  The boundary node is
also responsible for conditioning traffic to conform to the
downstream domain's SLA allocation before forwarding.</t>
  </dd>
</dl>

<t>In both approaches, each NRP domain is responsible for provisioning
sufficient resources within its domain to meet its portion of the
end-to-end SLA.  The overall end-to-end SLA is satisfied when the
combined resource allocations across all NRP domains collectively meet
the SLOs and SLEs agreed upon in the IETF Network Slice Service
request.</t>

<t>Inter-domain path computation for network slices spanning multiple NRP
domains may be performed using a hierarchical PCE (H-PCE)
architecture, per-domain PCEs coordinating via PCEP <xref target="RFC5440"/>, or
a centralized controller with visibility across all domains.</t>

</section>
</section>
</section>
<section anchor="TrafficToSFAPath"><name>Mapping Traffic on Slice-Flow Aggregates</name>

<t>The usual techniques to steer traffic onto paths can be applicable when
steering traffic over paths established for a specific Slice-Flow Aggregate.</t>

<t>For example, one or more (layer-2 or layer-3) VPN services can be directly
mapped to paths established for a Slice-Flow Aggregate. In this case, the per
Virtual Routing and Forwarding (VRF) instance traffic that arrives on the
Provider Edge (PE) router over external interfaces can be directly mapped to a
specific Slice-Flow Aggregate path. External interfaces can be further
partitioned (e.g., using VLANs) to allow mapping one or more VLANs to specific
Slice-Flow Aggregate paths.</t>

<t>Another option is steer traffic to specific destinations directly over multiple
slice policies. This allows traffic arriving on any external interface and
targeted to such destinations to be directly steered over the slice paths.</t>

<t>A third option that can also be used is to utilize a data plane firewall filter
or classifier to enable matching of several fields in the incoming packets to
decide whether the packet belongs to a specific Slice-Flow Aggregate. This option
allows for applying a rich set of rules to identify specific packets to be
mapped to a Slice-Flow Aggregate. However, it requires data plane network resources to
be able to perform the additional checks in hardware.</t>

<section anchor="network-slice-flow-aggregate-relationships"><name>Network Slice-Flow Aggregate Relationships</name>

<t>The following describes the generalization relationships between
the IETF network slice and different parts of the solution
as described in <xref target="ns-workflow"/>.</t>

<t>o A customer may request one or more IETF Network Slices.</t>

<t>o Any given Attachment Circuit (AC) may support the traffic for one or more IETF Network
  Slices. If there is more than one IETF Network Slice using a
  single AC, the IETF Network Slice Service request must include
  enough information to allow the edge nodes to demultiplex the
  traffic for the different IETF Network Slices.</t>

<t>o By definition, multiple IETF Network Slices may be mapped to a
  single Slice-Flow Aggregate.  However, it is possible for an
  Slice-Flow Aggregate to contain just a single IETF Network Slice.</t>

<t>o The physical network may be filtered to multiple Filter
  Topologies.  Each such Filtered Topology facilitates
  planning the placement of paths for the Slice-Flow Aggregate by
  presenting only the subset of links and nodes that meet specific
  criteria.  Note, however, in absence of 
  any Filtered Topology, Slice-Flow Aggregate are free to
  operate over the full physical network.</t>

<t>o It is anticipated that there may be very many IETF Network Slices supported
  by a network operator over a single physical network.  A network may support a
  limited number of Slice-Flow Aggregates, with each of the Slice-Flow Aggregates
  grouping any number of the IETF Network Slices streams.</t>

</section>
</section>
<section anchor="path-selection-and-instantiation"><name>Path Selection and Instantiation</name>

<section anchor="applicability-of-path-selection-to-slice-flow-aggregates"><name>Applicability of Path Selection to Slice-Flow Aggregates</name>

<t>In State-dependent TE <xref target="I-D.ietf-teas-rfc3272bis"/>, the path selection adapts
based on the current state of the network. The state of the network can be
based on parameters flooded by the routers as described in <xref target="RFC2702"/>.  The
link state is advertised with current reservations, thereby reflecting the
available bandwidth on each link.  Such link reservations may be maintained
centrally on a network wide network resource manager, or distributed on devices
(as usually done with RSVP-TE). TE extensions exist today to allow IGPs (e.g.,
<xref target="RFC3630"/> and <xref target="RFC5305"/>), and BGP-LS <xref target="RFC7752"/> to advertise such link
state reservations.</t>

<t>When the network resource reservations are maintained for NRPs,
the link state can carry per NRP state (e.g.,
reservable bandwidth).  This allows path computation to take into account the
specific network resources available for an NRP.  In this
case, we refer to the process of path placement and path provisioning as NRP
aware TE (NRP-TE).</t>

</section>
<section anchor="applicability-of-path-control-technologies-to-slice-flow-aggregates"><name>Applicability of Path Control Technologies to Slice-Flow Aggregates</name>

<t>The NRP modes described in this document are agnostic to the
technology used to set up paths that carry Slice-Flow Aggregate traffic.
One or more paths connecting the endpoints of the mapped IETF network
slices may be selected to steer the corresponding traffic streams
over the resources allocated for the NRP that
supports a Slice-Flow Aggregate.</t>

<t>The feasible paths can be computed using the NRP topology and network state
subject the optimization metrics and constraints.</t>

<section anchor="rsvp-te-based-slice-flow-aggregate-paths"><name>RSVP-TE Based Slice-Flow Aggregate Paths</name>

<t>RSVP-TE <xref target="RFC3209"/> can be used to signal LSPs over the computed feasible paths
in order to carry the Slice-Flow Aggregate traffic. The specific extensions to the RSVP-TE
protocol required to enable signaling of NRP aware RSVP-TE LSPs are
outside the scope of this document.</t>

</section>
<section anchor="sr-based-slice-flow-aggregate-paths"><name>SR Based Slice-Flow Aggregate Paths</name>

<t>Segment Routing (SR) <xref target="RFC8402"/> can be used to set up and steer traffic over
the computed Slice-Flow Aggregate feasible paths.</t>

<t>The SR architecture defines a number of building blocks that can be leveraged to support
the realization of NRPs that support Slice-Flow Aggregates in an SR network.</t>

<t>Such building blocks include:</t>

<t><list style="symbols">
  <t>SR Policy with or without Flexible Algorithm.</t>
  <t>Steering of services (e.g. VPN) traffic over SR paths</t>
  <t>SR Operation, Administration and Management (OAM) and Performance Management (PM)</t>
</list></t>

<t>SR allows a headend node to steer packets onto specific SR paths using
a Segment Routing Policy (SR Policy). The SR policy supports various
optimization objectives and constraints and can be used to steer Slice-Flow Aggregate
traffic in the SR network.</t>

<t>The SR policy can be instantiated with or without the IGP Flexible Algorithm
(Flex-Algorithm) feature.  It may be possible to dedicate a single SR
Flex-Algorithm to compute and instantiate SR paths for one Slice-Flow Aggregate
traffic. In this case, the SR Flex-Algorithm computed paths and Flex-Algorithm
SR SIDs are not shared by other Slice-Flow Aggregates traffic. However, to allow for better
scale, it may be desirable for multiple Slice-Flow Aggregates traffic to share the
same SR Flex-Algorithm computed paths and SIDs.</t>

</section>
</section>
</section>
<section anchor="network-resource-partition-protocol-extensions"><name>Network Resource Partition Protocol Extensions</name>

<t>Some protocols may need to be extended to carry additional NRP state.</t>

<t>It is essential, however, that routing protocols, like IGPs or BGP, remain uninvolved in
these areas to ensure they are isolated and maintain their scalability and
stability. Furthermore, the complexity of routing protocols path selection
should not be impacted by the increasing number of network slices and/or NRPs.</t>

<t>The instantiation of an NRP Policy may need to be automated. Multiple options
are possible to facilitate automation of distribution of an NRP Policy to
capable devices.</t>

<t>For example, a YANG data model for the NRP Policy may be
supported on network devices and controllers. A suitable transport (e.g.,
NETCONF <xref target="RFC6241"/>, RESTCONF <xref target="RFC8040"/>, or gRPC) may be used to enable
configuration and retrieval of state information for slice policies on network
devices. The NRP Policy YANG data model is outside the scope of this
document.</t>

</section>
<section anchor="outstanding-issues"><name>Outstanding Issues</name>

<t>Note to RFC Editor: Please remove this section prior to publication.</t>

<t>This section records non-blocking issues that were raised during the Working
Group Adoption Poll for the document. The below list of issues needs to be fully
addressed before progressing the document to publication in IESG.</t>

<t><list style="numbers" type="1">
  <t>[DONE] Add new Appendix section with examples for the NRP modes
described in <xref target="SliceModes"/>.  Addressed by adding Appendix A with
three sub-sections (A.1, A.2, A.3) providing concrete examples for
the data plane, control plane, and combined NRP modes respectively,
using a common 4-node topology.</t>
  <t>[DONE] Elaborate on the Slice-Flow Aggregate packet treatment when
no rules to associate the packet to an NRP are defined in the NRP
Policy.  Addressed in <xref target="SliceSelector"/> by adding fallback treatment
options for packets carrying an NRP Selector that does not match any
NRP instantiated on the node.</t>
  <t>[DONE] Clarify how the solution caters to the different IETF Network
Slice Service Demarcation Point locations described in Section 4.2 of
<xref target="RFC9543"/>.  Addressed by adding explicit descriptions of how the
NRP ingress classification and NRP Selector setting applies to each
of the four SDP location options: SDP within the CE, SDP at the
CE/AC boundary, SDP at the PE customer-facing port, and SDP within
the PE.</t>
  <t>[DONE] Clarify the relationship the underlay physical network, the
Filtered Topology and the NRP resources.  Addressed in
<xref target="SlicePolicyTopology"/> by adding a three-step description of the
layering: Physical Network -&gt; Filtered Topology -&gt; NRP Topology, and
clarifying that the same Filtered Topology may be shared by multiple
NRPs, each with its own resource reservations and forwarding
treatments.</t>
  <t>[DONE] Expand on how isolation between NRPs can be realized
depending on the deployed NRP mode.  Addressed in
<xref target="DataplaneSlicing"/>, <xref target="ControlplaneSlicing"/>, and
<xref target="DataControlplaneSlicing"/> by adding explicit isolation
characterization for each mode.</t>
  <t>[DONE] Revise <xref target="NRPIncapbale"/> to describe how nodes can discover
NRP incapable downstream neighbors.  Addressed by adding three
discovery mechanisms: IGP-based capability advertisement (IS-IS/OSPF
extensions), controller-based discovery (NETCONF <xref target="RFC6241"/>,
BGP-LS <xref target="RFC7752"/>, or PCEP <xref target="RFC5440"/>), and static configuration
as a fallback.  Also clarified that dynamic NRP state SHOULD NOT be
advertised via routing protocols to avoid convergence impact.</t>
  <t>[DONE] Expand <xref target="SecurityConsiderations"/> on additional security
threats introduced with the solution.  Added four new threat
descriptions: NRP Policy Manipulation, NRP State Disclosure, Fallback
NRP Abuse, and Inter-domain NRP Selector Spoofing, with corresponding
mitigation guidance for each.</t>
  <t>[DONE] Expand <xref target="NRPBoundary"/> on NRP domain boundary and multi-domain
aspects.  Addressed by adding <xref target="MultiDomainNRP"/> describing two
approaches for handling NRP Selectors at inter-domain boundaries: NRP
Selector Stacking (original NRP Selector preserved end-to-end,
intermediate domain adds/removes its own NRP Selector) and NRP
Selector Remapping (boundary node replaces NRP Selector with
downstream domain equivalent).  Also covers end-to-end SLA stitching
and inter-domain path computation options.</t>
</list></t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>
<section anchor="SecurityConsiderations"><name>Security Considerations</name>

<t>The main goal of network slicing is to allow for varying treatment of
traffic from multiple different network slices that are utilizing a common
network infrastructure and to allow for different levels of services to be
provided for traffic traversing a given network resource.</t>

<t>A variety of techniques may be used to achieve this, but the end result will be
that some packets may be mapped to specific resources and may receive
different (e.g., better) service treatment than others.  The mapping of network
traffic to a specific NRP is indicated primarily by the NRP Selector, and hence an
adversary may be able to utilize resources allocated to a specific 
NRP by injecting packets carrying the same NRP Selector field in their packets.</t>

<t>Such theft-of-service may become a denial-of-service attack when the modified
or injected traffic depletes the resources available to forward legitimate
traffic belonging to a specific NRP.</t>

<t>The defense against this type of theft and denial-of-service attacks consists
of a combination of traffic conditioning at NRP domain boundaries
with security and integrity of the network infrastructure within an NRP
domain.</t>

<dl>
  <dt>NRP Policy Manipulation:</dt>
  <dd>
    <t>The NRP Policy controls resource allocation, topology membership, and
forwarding treatment for each NRP.  An adversary that gains access to
the management plane (e.g., via a compromised controller or network
device) may modify NRP Policies to reroute traffic, alter resource
reservations, or deprive legitimate NRPs of network resources.
Securing the management plane through authentication, authorization,
and integrity protection of NRP Policy distribution mechanisms (e.g.,
NETCONF/RESTCONF) is therefore essential.</t>
  </dd>
  <dt>NRP State Disclosure:</dt>
  <dd>
    <t>Extensions that advertise NRP topology and resource
reservation states may expose sensitive information about the
network's internal resource allocations to any adversary participating
in the routing protocol.  Operators SHOULD apply appropriate route
filtering and authentication mechanisms on routing protocol sessions
to limit the propagation of NRP state information to trusted
participants only.</t>
  </dd>
  <dt>Fallback NRP Abuse:</dt>
  <dd>
    <t>When a fallback NRP or best-effort treatment is configured for packets
carrying unrecognized NRP Selectors, an adversary may deliberately
inject packets with invalid or unrecognized NRP Selector values to
consume the resources of the fallback NRP.  Operators SHOULD apply
traffic conditioning and rate limiting at NRP domain boundaries to
mitigate this threat.</t>
  </dd>
  <dt>Inter-domain NRP Selector Spoofing:</dt>
  <dd>
    <t>In deployments where NRP Selectors traverse administrative domain
boundaries, an adversary at a peering point may inject or modify NRP
Selector values to gain access to resources of a specific NRP in the
downstream domain.  Operators SHOULD validate and condition NRP
Selector values at inter-domain boundaries, and SHOULD NOT trust NRP
Selectors received from untrusted domains without appropriate
verification.</t>
  </dd>
</dl>

</section>
<section anchor="acknowledgement"><name>Acknowledgement</name>

<t>The authors would like to thank Krzysztof Szarkowicz, Swamy SRK, Navaneetha
Krishnan, Prabhu Raj Villadathu Karunakaran, and Mohamed Boucadair
for their review of this document and for providing valuable feedback on it.
The authors would also like to thank Adrian Farrel for detailed discussions
that resulted in <xref target="NSRealization"/>.</t>

</section>
<section anchor="contributors"><name>Contributors</name>

<t>The following individuals contributed to this document:</t>

<figure><artwork><![CDATA[
   Colby Barth
   Juniper Networks
   Email: cbarth@juniper.net

   Srihari R.  Sangli
   Juniper Networks
   Email: ssangli@juniper.net

   Chandra Ramachandran
   Juniper Networks
   Email: csekar@juniper.net

   Adrian Farrel
   Old Dog Consulting
   United Kingdom
   Email: adrian@olddog.co.uk

   Bin Wen
   Comcast
   Email: Bin_Wen@cable.comcast.com

   Daniele Ceccarelli
   Cisco Systems Inc.
   Email: daniele.ietf@gmail.com

   Xufeng Liu
   IBM Corporation
   Email: xufeng.liu.ietf@gmail.com

   Luis M. Contreras
   Telefonica
   Email: luismiguel.contrerasmurillo@telefonica.com

   Reza Rokui
   Ciena
   Email: rrokui@ciena.com

   Ran Chen
   ZTE Corporation
   Email: chen.ran@zte.com.cn

   Luay Jalil
   Verizon
   Email: luay.jalil@verizon.com

]]></artwork></figure>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC7752">
  <front>
    <title>North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP</title>
    <author fullname="H. Gredler" initials="H." role="editor" surname="Gredler"/>
    <author fullname="J. Medved" initials="J." surname="Medved"/>
    <author fullname="S. Previdi" initials="S." surname="Previdi"/>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <author fullname="S. Ray" initials="S." surname="Ray"/>
    <date month="March" year="2016"/>
    <abstract>
      <t>In a number of environments, a component external to a network is called upon to perform computations based on the network topology and current state of the connections within the network, including Traffic Engineering (TE) information. This is information typically distributed by IGP routing protocols within the network.</t>
      <t>This document describes a mechanism by which link-state and TE information can be collected from networks and shared with external components using the BGP routing protocol. This is achieved using a new BGP Network Layer Reachability Information (NLRI) encoding format. The mechanism is applicable to physical and virtual IGP links. The mechanism described is subject to policy control.</t>
      <t>Applications of this technique include Application-Layer Traffic Optimization (ALTO) servers and Path Computation Elements (PCEs).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7752"/>
  <seriesInfo name="DOI" value="10.17487/RFC7752"/>
</reference>
<reference anchor="RFC3630">
  <front>
    <title>Traffic Engineering (TE) Extensions to OSPF Version 2</title>
    <author fullname="D. Katz" initials="D." surname="Katz"/>
    <author fullname="K. Kompella" initials="K." surname="Kompella"/>
    <author fullname="D. Yeung" initials="D." surname="Yeung"/>
    <date month="October" year="2003"/>
    <abstract>
      <t>This document describes extensions to the OSPF protocol version 2 to support intra-area Traffic Engineering (TE), using Opaque Link State Advertisements.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3630"/>
  <seriesInfo name="DOI" value="10.17487/RFC3630"/>
</reference>
<reference anchor="RFC5305">
  <front>
    <title>IS-IS Extensions for Traffic Engineering</title>
    <author fullname="T. Li" initials="T." surname="Li"/>
    <author fullname="H. Smit" initials="H." surname="Smit"/>
    <date month="October" year="2008"/>
    <abstract>
      <t>This document describes extensions to the Intermediate System to Intermediate System (IS-IS) protocol to support Traffic Engineering (TE). This document extends the IS-IS protocol by specifying new information that an Intermediate System (router) can place in Link State Protocol Data Units (LSP). This information describes additional details regarding the state of the network that are useful for traffic engineering computations. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5305"/>
  <seriesInfo name="DOI" value="10.17487/RFC5305"/>
</reference>
<reference anchor="RFC3209">
  <front>
    <title>RSVP-TE: Extensions to RSVP for LSP Tunnels</title>
    <author fullname="D. Awduche" initials="D." surname="Awduche"/>
    <author fullname="L. Berger" initials="L." surname="Berger"/>
    <author fullname="D. Gan" initials="D." surname="Gan"/>
    <author fullname="T. Li" initials="T." surname="Li"/>
    <author fullname="V. Srinivasan" initials="V." surname="Srinivasan"/>
    <author fullname="G. Swallow" initials="G." surname="Swallow"/>
    <date month="December" year="2001"/>
    <abstract>
      <t>This document describes the use of RSVP (Resource Reservation Protocol), including all the necessary extensions, to establish label-switched paths (LSPs) in MPLS (Multi-Protocol Label Switching). Since the flow along an LSP is completely identified by the label applied at the ingress node of the path, these paths may be treated as tunnels. A key application of LSP tunnels is traffic engineering with MPLS as specified in RFC 2702. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3209"/>
  <seriesInfo name="DOI" value="10.17487/RFC3209"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC9543">
  <front>
    <title>A Framework for Network Slices in Networks Built from IETF Technologies</title>
    <author fullname="A. Farrel" initials="A." role="editor" surname="Farrel"/>
    <author fullname="J. Drake" initials="J." role="editor" surname="Drake"/>
    <author fullname="R. Rokui" initials="R." surname="Rokui"/>
    <author fullname="S. Homma" initials="S." surname="Homma"/>
    <author fullname="K. Makhijani" initials="K." surname="Makhijani"/>
    <author fullname="L. Contreras" initials="L." surname="Contreras"/>
    <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>
    <date month="March" year="2024"/>
    <abstract>
      <t>This document describes network slicing in the context of networks built from IETF technologies. It defines the term "IETF Network Slice" to describe this type of network slice and establishes the general principles of network slicing in the IETF context.</t>
      <t>The document discusses the general framework for requesting and operating IETF Network Slices, the characteristics of an IETF Network Slice, the necessary system components and interfaces, and the mapping of abstract requests to more specific technologies. The document also discusses related considerations with monitoring and security.</t>
      <t>This document also provides definitions of related terms to enable consistent usage in other IETF documents that describe or use aspects of IETF Network Slices.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9543"/>
  <seriesInfo name="DOI" value="10.17487/RFC9543"/>
</reference>
<reference anchor="RFC2475">
  <front>
    <title>An Architecture for Differentiated Services</title>
    <author fullname="S. Blake" initials="S." surname="Blake"/>
    <author fullname="D. Black" initials="D." surname="Black"/>
    <author fullname="M. Carlson" initials="M." surname="Carlson"/>
    <author fullname="E. Davies" initials="E." surname="Davies"/>
    <author fullname="Z. Wang" initials="Z." surname="Wang"/>
    <author fullname="W. Weiss" initials="W." surname="Weiss"/>
    <date month="December" year="1998"/>
    <abstract>
      <t>This document defines an architecture for implementing scalable service differentiation in the Internet. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2475"/>
  <seriesInfo name="DOI" value="10.17487/RFC2475"/>
</reference>
<reference anchor="RFC5462">
  <front>
    <title>Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field</title>
    <author fullname="L. Andersson" initials="L." surname="Andersson"/>
    <author fullname="R. Asati" initials="R." surname="Asati"/>
    <date month="February" year="2009"/>
    <abstract>
      <t>The early Multiprotocol Label Switching (MPLS) documents defined the form of the MPLS label stack entry. This includes a three-bit field called the "EXP field". The exact use of this field was not defined by these documents, except to state that it was to be "reserved for experimental use".</t>
      <t>Although the intended use of the EXP field was as a "Class of Service" (CoS) field, it was not named a CoS field by these early documents because the use of such a CoS field was not considered to be sufficiently defined. Today a number of standards documents define its usage as a CoS field.</t>
      <t>To avoid misunderstanding about how this field may be used, it has become increasingly necessary to rename this field. This document changes the name of the field to the "Traffic Class field" ("TC field"). In doing so, it also updates documents that define the current use of the EXP field. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5462"/>
  <seriesInfo name="DOI" value="10.17487/RFC5462"/>
</reference>
<reference anchor="RFC2702">
  <front>
    <title>Requirements for Traffic Engineering Over MPLS</title>
    <author fullname="D. Awduche" initials="D." surname="Awduche"/>
    <author fullname="J. Malcolm" initials="J." surname="Malcolm"/>
    <author fullname="J. Agogbua" initials="J." surname="Agogbua"/>
    <author fullname="M. O'Dell" initials="M." surname="O'Dell"/>
    <author fullname="J. McManus" initials="J." surname="McManus"/>
    <date month="September" year="1999"/>
    <abstract>
      <t>This document presents a set of requirements for Traffic Engineering over Multiprotocol Label Switching (MPLS). It identifies the functional capabilities required to implement policies that facilitate efficient and reliable network operations in an MPLS domain. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2702"/>
  <seriesInfo name="DOI" value="10.17487/RFC2702"/>
</reference>

<reference anchor="I-D.ietf-lsr-flex-algo">
   <front>
      <title>IGP Flexible Algorithm</title>
      <author fullname="Peter Psenak" initials="P." surname="Psenak">
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname="Shraddha Hegde" initials="S." surname="Hegde">
         <organization>Juniper Networks, Inc.</organization>
      </author>
      <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
         <organization>Cisco Systems, Inc</organization>
      </author>
      <author fullname="Arkadiy Gulko" initials="A." surname="Gulko">
         <organization>Edward Jones</organization>
      </author>
      <date day="17" month="October" year="2022"/>
      <abstract>
	 <t>IGP protocols historically compute the best paths over the network based on the IGP metric assigned to the links.  Many network deployments use RSVP-TE or Segment Routing - Traffic Engineering (SR-TE) to steer traffic over a path that is computed using different metrics or constraints than the shortest IGP path.  This document specifies a solution that allows IGPs themselves to compute constraint-based paths over the network.  This document also specifies a way of using Segment Routing (SR) Prefix-SIDs and SRv6 locators to steer packets along the constraint-based paths.
	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-lsr-flex-algo-26"/>
   
</reference>
<reference anchor="RFC4915">
  <front>
    <title>Multi-Topology (MT) Routing in OSPF</title>
    <author fullname="P. Psenak" initials="P." surname="Psenak"/>
    <author fullname="S. Mirtorabi" initials="S." surname="Mirtorabi"/>
    <author fullname="A. Roy" initials="A." surname="Roy"/>
    <author fullname="L. Nguyen" initials="L." surname="Nguyen"/>
    <author fullname="P. Pillay-Esnault" initials="P." surname="Pillay-Esnault"/>
    <date month="June" year="2007"/>
    <abstract>
      <t>This document describes an extension to Open Shortest Path First (OSPF) in order to define independent IP topologies called Multi- Topologies (MTs). The Multi-Topologies extension can be used for computing different paths for unicast traffic, multicast traffic, different classes of service based on flexible criteria, or an in- band network management topology.</t>
      <t>An optional extension to exclude selected links from the default topology is also described. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4915"/>
  <seriesInfo name="DOI" value="10.17487/RFC4915"/>
</reference>
<reference anchor="RFC6241">
  <front>
    <title>Network Configuration Protocol (NETCONF)</title>
    <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
    <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
    <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
    <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
    <date month="June" year="2011"/>
    <abstract>
      <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6241"/>
  <seriesInfo name="DOI" value="10.17487/RFC6241"/>
</reference>
<reference anchor="RFC5440">
  <front>
    <title>Path Computation Element (PCE) Communication Protocol (PCEP)</title>
    <author fullname="JP. Vasseur" initials="JP." role="editor" surname="Vasseur"/>
    <author fullname="JL. Le Roux" initials="JL." role="editor" surname="Le Roux"/>
    <date month="March" year="2009"/>
    <abstract>
      <t>This document specifies the Path Computation Element (PCE) Communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a PCE, or between two PCEs. Such interactions include path computation requests and path computation replies as well as notifications of specific states related to the use of a PCE in the context of Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering. PCEP is designed to be flexible and extensible so as to easily allow for the addition of further messages and objects, should further requirements be expressed in the future. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5440"/>
  <seriesInfo name="DOI" value="10.17487/RFC5440"/>
</reference>

<reference anchor="I-D.ietf-teas-rfc3272bis">
   <front>
      <title>Overview and Principles of Internet Traffic Engineering</title>
      <author fullname="Adrian Farrel" initials="A." surname="Farrel">
         <organization>Old Dog Consulting</organization>
      </author>
      <date day="12" month="August" year="2023"/>
      <abstract>
	 <t>   This document describes the principles of traffic engineering (TE) in
   the Internet.  The document is intended to promote better
   understanding of the issues surrounding traffic engineering in IP
   networks and the networks that support IP networking, and to provide
   a common basis for the development of traffic engineering
   capabilities for the Internet.  The principles, architectures, and
   methodologies for performance evaluation and performance optimization
   of operational networks are also discussed.

   This work was first published as RFC 3272 in May 2002.  This document
   obsoletes RFC 3272 by making a complete update to bring the text in
   line with best current practices for Internet traffic engineering and
   to include references to the latest relevant work in the IETF.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-teas-rfc3272bis-27"/>
   
</reference>
<reference anchor="RFC8402">
  <front>
    <title>Segment Routing Architecture</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
    <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
    <author fullname="B. Decraene" initials="B." surname="Decraene"/>
    <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
    <author fullname="R. Shakir" initials="R." surname="Shakir"/>
    <date month="July" year="2018"/>
    <abstract>
      <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
      <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
      <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8402"/>
  <seriesInfo name="DOI" value="10.17487/RFC8402"/>
</reference>
<reference anchor="RFC8040">
  <front>
    <title>RESTCONF Protocol</title>
    <author fullname="A. Bierman" initials="A." surname="Bierman"/>
    <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
    <author fullname="K. Watsen" initials="K." surname="Watsen"/>
    <date month="January" year="2017"/>
    <abstract>
      <t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8040"/>
  <seriesInfo name="DOI" value="10.17487/RFC8040"/>
</reference>



    </references>

</references>


<?line 1438?>

<section anchor="NRPModeExamples"><name>NRP Mode Examples</name>

<t>This appendix provides examples to illustrate the NRP modes described
in <xref target="SliceModes"/>.  All examples use the following common network
topology:</t>

<figure title="Common topology for NRP mode examples." anchor="fig-common-topology"><artwork><![CDATA[
   /-----\  10G   /----\  10G   /----\  10G   /-----\
   | PE1 |--------| P1 |--------| P2 |--------| PE2 |
   \-----/        \----/        \----/        \-----/
     |                                           |
   [CE1]                                       [CE2]
]]></artwork></figure>

<t>Two NRPs are instantiated over this network:</t>

<t><list style="symbols">
  <t>NRP1: supports low-latency Slice-Flow Aggregate (SFA1), with a
minimum bandwidth guarantee of 4 Gbps per link.</t>
  <t>NRP2: supports best-effort Slice-Flow Aggregate (SFA2), with up to
6 Gbps per link.</t>
</list></t>

<section anchor="A.1"><name>Data Plane NRP Mode Example</name>

<t>In this example, network resource partitioning is performed in the
data plane only.  PE1 acts as the NRP ingress node and classifies
inbound CE1 traffic into two Slice-Flow Aggregates based on the IP
5-tuple, and pushes a dedicated NRP Selector label onto each packet:</t>

<t><list style="symbols">
  <t>SFA1 (NRP1): NRP Selector label = 1001</t>
  <t>SFA2 (NRP2): NRP Selector label = 1002</t>
</list></t>

<t>Transit nodes P1 and P2 use the NRP Selector label to apply the
corresponding NRP-PHB.  PE2 pops the NRP Selector label before
forwarding traffic to CE2.</t>

<figure><artwork><![CDATA[
   NRP Selectors:                NRP-PHB at P1 and P2:
     1001: NRP1 (SFA1)          +-----------------------------+
     1002: NRP2 (SFA2)          | NRP1: strict-priority queue |
                                |        (4 Gbps guaranteed)  |
                                | NRP2: weighted fair queue   |
                                |        (up to 6 Gbps)       |
                                +-----------------------------+

   /-----\ 10G  /----\ 10G  /----\ 10G  /-----\
   | PE1 |------| P1 |------| P2 |------| PE2 |
   \-----/ @@@@ \----/ @@@@ \----/ @@@@ \-----/
     |                                     |
   [CE1]       @@@@: NRP-PHB enforced    [CE2]
]]></artwork></figure>

<t>The packet label stack at each node for an SFA1 (NRP1) packet:</t>

<figure><artwork><![CDATA[
   At PE1 (ingress):  At P1 and P2:    At PE2 (egress):
   +-----------+      +--------+       +-----------+
   | IP Header |      |  1001  |       | IP Header |
   +-----------+      +--------+       +-----------+
   | Payload   |      | IP Hdr |       | Payload   |
   +-----------+      +--------+       +-----------+
                      | Payload|
                      +--------+
]]></artwork></figure>

<t>Since data plane only NRP mode is used, P1 and P2 do not maintain
per-NRP routing state.  The forwarding path is determined by standard
best-path selection; the NRP Selector solely determines the NRP-PHB
applied at each hop.</t>

</section>
<section anchor="A.2"><name>Control Plane NRP Mode Example</name>

<t>In this example, network resource partitioning is performed in the
control plane only.  No NRP Selector is carried in packets.  Instead,
per-NRP bandwidth is reserved on each link, and NRP-aware TE paths are
computed using these reservations.</t>

<t>The 10 Gbps physical link bandwidth is divided between the two NRPs:</t>

<t><list style="symbols">
  <t>NRP1: 4 Gbps reserved bandwidth per link</t>
  <t>NRP2: 6 Gbps reserved bandwidth per link</t>
</list></t>

<t>The per-NRP reservations are maintained on each network element (or on
a controller) and may be advertised via a routing protocol for
NRP-state-aware path computation.</t>

<figure><artwork><![CDATA[
   /-----\ 10G  /----\ 10G  /----\ 10G  /-----\
   | PE1 |------| P1 |------| P2 |------| PE2 |
   \-----/      \----/      \----/      \-----/

   Per-link NRP reservations:
     NRP1: 4 Gbps
     NRP2: 6 Gbps
     Total: 10 Gbps (= physical capacity)
]]></artwork></figure>

<t>The ingress node PE1 (or a PCE) uses the NRP-specific topology and
available bandwidth to compute TE paths for each SFA:</t>

<t><list style="symbols">
  <t>SFA1 path: PE1-&gt;P1-&gt;P2-&gt;PE2 (using NRP1's 4 Gbps pool)</t>
  <t>SFA2 path: PE1-&gt;P1-&gt;P2-&gt;PE2 (using NRP2's 6 Gbps pool)</t>
</list></t>

<t>Since no NRP Selector is carried in packets, transit nodes P1 and P2
apply no per-packet NRP-specific forwarding treatment.  Isolation
between NRP1 and NRP2 is enforced at admission time only; traffic from
both NRPs shares the same physical queues at runtime, and isolation
guarantees are soft.</t>

</section>
<section anchor="A.3"><name>Data and Control Plane NRP Mode Example</name>

<t>In this example, network resource partitioning is performed in both
the control plane and the data plane, combining the mechanisms of
<xref target="A.1"/> and <xref target="A.2"/>.</t>

<t>As in A.2, per-NRP bandwidth is reserved per link (NRP1: 4 Gbps,
NRP2: 6 Gbps), and NRP-aware TE paths are computed for each SFA.
Additionally, as in A.1, PE1 pushes an NRP Selector label onto each
packet, and P1/P2 apply dedicated per-NRP queues based on the NRP
Selector.</t>

<figure><artwork><![CDATA[
   /-----\ 10G  /----\ 10G  /----\ 10G  /-----\
   | PE1 |------| P1 |------| P2 |------| PE2 |
   \-----/ @@@@ \----/ @@@@ \----/ @@@@ \-----/
     |                                     |
   [CE1]   @@@@: NRP-PHB enforced        [CE2]

   Per-link NRP reservations (control plane):
     NRP1: 4 Gbps, NRP2: 6 Gbps

   NRP-PHB at P1 and P2 (data plane):
     NRP1 (label 1001): strict-priority queue (4 Gbps)
     NRP2 (label 1002): weighted fair queue   (6 Gbps)
]]></artwork></figure>

<t>The combined mode provides the strongest isolation:</t>

<t><list style="symbols">
  <t>The control plane ensures the total admitted traffic across NRP1
and NRP2 does not exceed the physical link capacity.</t>
  <t>The data plane enforces per-packet forwarding treatment at runtime,
preventing traffic bursts from NRP2 from consuming resources
reserved for NRP1.</t>
</list></t>

</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIALUtXWoAA8W9fXcbR7If/H9/iol9nmPiGoAsWvZmubuOaYqyeVeSGZHX
+yTXNzlDYECOBWCwMwNStKR89tRrd3VPA6S9m4TnrFcAZvq1urpeflU1mUxc
X/fL6qh4U5XL+td6fV28rvq7pn1bXCzrWdUV9bo4O3/y6vzlhf7SufLqqq1u
j9If6BVows2b2bpcQavztlz0k7rqF5O+KrvJupvUm8lqs+wmX/zRzcq+um7a
+yPoZNG4etMeFX277frDL7744xeHDtu8bpvt5qi4PD2+KP4Gn3GE3+N37m11
Dw/MYRTrvmrXVT95jr25bnu1qruubtb9/QbGcHZ6+cK5ri/X8/9ZLps1fHVf
dW5THxX/3jezcdE1bd9Wiw7+db/Cf/yHc+W2v2naI+eKiSvgr153MIhpcVGW
c/qC53dZttXb8GXTXpfr+teyh86PipO6mzXFxX3XV6sORjmb0kPVqqyXMNEO
3prCsL+9xi+ms2YV9/bTtPiuqtpyZfr7qe5u1tvivLwt1/bXuOMfzk9tT7f0
0gbfmeJW7OrwX6fF8wZ2L3T3r3UVvkr62JZ3VV1cVrObdbNsrmtYUtPnL3U1
ncOb397Qc7Yz7euHcrmBfXOht6Za2m+zk9L24dnpDT/77c2mGnRwMS3OKx45
t35xUzaLrf8ybvy/X54WJ027aVr6wnS0geenHb377a899TOdrZ1bN+0Knr2t
gEaQesOnyWRSlFdd35az3rlwrtZySDo+V6vyvmirv2/rtir6m6q4qNpb+KE4
b5vbel61Rd8UN+Ut/1he1cu6v4fv3KZs4cjCIIuy2Nzcd/WsXPq26zW8tdou
+3qzrArcFvNrVzSL4rZs73E0Xf1r1Y3hWLTbWb9t4d8FHJBisV3PsPEOTgX0
XPZFVc5ueMzFDIjuqirm1bzGozvHIXabalYv6pnrePzQSVvM4Aw3q6rtpsUr
HUwyfWmrpeWBpmA+ONEO9srpo3c3NbxYrbttS0OmQVTLsuuBzcBqAGuCk7+i
eek7MJNm284qVy6XzYx2c1pc3tRdAUxpu6rWPYy/m7X1FQyiLDpYn/IKeuma
5ZZWFeYkg9I2XcdszbJCv6RX90W33QDh9PiEX/qwGtjiBkcIncEjy8oNdu1K
KQGbAALbLOsSx9kACcJO4L6sGxg1jm3D5OGA4u7Kdo5vAPMqe5rZQTe7qebb
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
0FI2enA83H2UM7zEGG0fzaF+WcW4k89g0YptTiKa4xCOx4fhsC7ml2SX79dk
88y345J8iKoAatBVR2sqjEkkvCfnJ6e8VjOKS5KgQt5150Ps5JrF6AMxj5uz
I08N4658ZN448uRbYsIcArR4tN4ouHciuVOWC2w5HNWICLlvfzopPN+Rg4YF
DL7BORsmOm8W+okIJD2qGq4TxzvQoNTlJdGhZOn22VRJ648CWKNMf8Ghwbed
zMTJTBDSj3kjKX6jMtFDZKik1Jc8BhSlNnOiiQP1TyJMYA4E3mNc04g2sbol
EP6dMciQQyTNeDUYSOBJY4/PZ1kqTqGhuxUvLHJD/WbN5tLBRssWSZQ4nPB5
t4MhAm9pukogLcm40+sliivZrb8TwZbspSRGF275QcinCWALKSBQA4R5T1Od
jBUk7IK3xwmd6+aGDY3uFLzty7cVsxE0TiOOgM9DPCbzPuVc8YJTYaVzmpdw
s3q53HL+C7TNb1uMuYCD//69TmsiAUIRFiX0ExtQWh9OpNFUuoqS/4hWRCI3
DsuxMqv0ymbLpmYLkoQbR3gfPx3jx0P675e0N/CPZyo5hu7X92GQnU/vSDI3
rUo0kKswEEKVPdWGDznEUHff5VaamCzScbr7fg3Y9H3B/m2028RjD13YF0C8
v6Ub9z63vy7qDZ9nybJHzJOIvtJmZsj2ZVrUgnN/HLIYydakkPrqVflOQ2ix
ne98O8hW8MKtGIQD19sWuGDMDoexXz4tGNJ4euVKWAsFtpztxQ6eEYDvoWeg
mT9PJjjHyTdZkOGuZs7sM9Fgzna3An3FXQ1aKXK/pK2cJT39vrGkb+8eS+7v
sWP5M/2KxMPPfZNtJd96bkbZ9Zf//pn7ecTqZp9IZuRJ6HeNJd3Jf2x1d43l
z7y2Xw5XNt9zMfhmOKP0eW2FGMHnzPYentGOVn7DOdo3ln1/j1/dh1qR1X22
d3X/STP6M+/jI2l3VyuP5wz7xvJ/hzMwRX2O9IT/+fJzuu3SVvKt/9ax/Jn3
cffqDnZxuE6POo277kJPQA9zhsf8PTyWx7Wy75vHt0LyyueF37/f1cqD5+jR
Y9lNU797XaJff/eMotk9spX9NOWglYNyVLxujPimQq75O7gakd0Svw4PqlmX
n1EhWAyp2T+SxdUPanUFEcowNCLVDDQ+IsiF3vL4JFIHuOdPFDEeOTS9udpH
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
wcHJN9UbAQA=

-->

</rfc>

