<?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-08" 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>Juniper Networks</organization>
      <address>
        <email>vbeeram@juniper.net</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>Ericsson</organization>
      <address>
        <email>joel.halpern@ericsson.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="June" day="24"/>

    
    <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 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 1426?>

<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:
H4sIAN7mO2oAA8V9e3MbR5Ln//Up+uy4MLEGIImWPTucGZ9oirI5oweP5Hpu
d7170QQaZFtAN6a7QYqWeJ/98lmV1V0Aac/sHSMsE0R3PbOy8vHLzMlk4rqy
WxYH2VmRL8tfyuoqe1t0t3XzPjtflrOizcoqOzl98ub09bl+07r88rIpbg76
X9Ar0ISb17MqX0Gr8yZfdJOy6BaTrsjbSdVOyvVktV62k6f/7GZ5V1zVzd0B
dLKoXbluDrKu2bTd/tOnv3+677DNq6berA+yi+PD8+yv8BlH+D3+zb0v7uCB
OYyi6oqmKrrJS+zNtZvLVdm2ZV11d2sYw8nxxSvn2i6v5v87X9YV/OmuaN26
PMj+vatn46ytm64pFi38drfCX/7DuXzTXdfNgXPZxGXwU1YtDGKanef5nP7A
87vIm+J9+GPdXOVV+UveQecH2VHZzurs/K7tilULo5xN6aFilZdLmGgLb01h
2C+u8A/TWb2Ke/txmn1XFE2+Mv39WLbX1SY7zW/yyn4bd/znTVWuiybsl+n2
5pLeevEzP4MDiLv98zR7WcMehk7/XBbhT3FPP2zy26LMLorZdVUv66uyiDr7
uSymc3jzxTU9Z+eoff2QL2EYlQu91cXS/jXu8LgpZ21b0zfaCbwwveYXXhTy
/aCr82l2WvAcuJ/z67xebPwf427+7eI4O6qbdd3QH0xva3h+2tK7L37pCuxn
Oqucq+pmBc/eFEAzSM3h02QyyfLLtmvyGSx1OGeVHJqWz9kqv8ua4m+bsimy
7rrIzovmBr7ITpv6ppzDbnZ1dp3f8Jf5Zbksuzv4m1vnDRxhGGSWZ+vru7ac
5UvfdlnBW6vNsivXyyLDDTLftlm9yG7y5g5H05a/FO0YjkmzmXWbBn7P4MBk
i001w8ZbOCXQc95lRT675jFnMyDCyyKbF/MSj/Ich9iui1m5KGeu5fFDJ002
gzNdr4qmnWZvdDC96UtbDS0PNAXzwYm2sFdOH729LuHFomo3DQ2ZBlEs87YD
tgOrAawKOMGK5qXvwEzqTTMrXL5c1jPazWl2cV22GTCpzaqoOhh/O2vKSxhE
nrWwPvkl9NLWyw2tKsxJBqVtupbZnGWNfkkv77J2swbC6fAJv/RhNbDFNY4Q
OoNHloUb7NqlUgI2AQS2XpY5jrMGEoSdwH2pahg1jm3N5OGA4m7zZo5vADPL
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
cDq46uv6tmjGMOC6AemPZ3AJ/9yW8+56JNrv4DIMrcslstigFBqhEpKXcmSk
AhIFLT1fwcqMveYV6VE7tlxFBBc6HY4OmRycCWiUwAsbYg3ilQbJF086UClf
+mqaW7iazJSpntHe/NL3t3VZ+p55ZOJtifMM0BFRqJKyhmHYK1iMtksPRqfn
2BYrVu6SXKubsg0We1kr9VjsWDEHD6FTvVqyrW+nUY610mg34vb9OUIPAwqr
XblCaewCNOQ1/G4N4MC5loIFGhMxP26B5GzALVI2eOlN0fRJrnQ0gI2Dh2b7
ZqH0xViW1s1LPIVzXvdYIIq4UfgqRdutmPG3wCjC6IV3eaIwtqSghu4twjmJ
xFBofk7yAwmfaLojt/N1vobfR8oYEo2r1idq7p1wH6JYjwxpijUKNFXn9dRo
K1CQta4dOFziqLH+hkBYQSxBvRJ1kc9TrlbGanGXHz9/e24+3yNkoWon+PQC
1vv+PnZgo419bdyFxsuibv1I/1e4lKihet3pM6Bxehffg/6YqfsrCYevyiu0
gT7HdUjjKxCQosi0vAHBoSsYgCIX1WBJxtxTK6IfGqSrOZmCCPqS5a4xa0br
Tyqzadr6uvxVOPSDHqM5VzaQ1xLdXOK1KWDzEJrHegstGW353zZ4+cvooJH/
Az+ER0z9TCb9/2979NPR8af+///+Zg+PsoP+/7c8Okn+xF+mX93LPp0ef5rC
j/1/NpIvaYezEb0b7TZ9i20f2Mkc0P9H9KU+yS/zgVHZll+G56fmh1vil+V5
efmMQTh21Knj6EedaUsqK8rcb37DstHvP5bFbb+N6Y6fn/xvT3rfbBlJ+ucn
+f8T/YMHUJlWvo1/MnsN2mZ8I8P5/Oeg53B/vhF7Kj53s/Wd9Eomfra1EOjQ
kGLvd6JMIYnQY2ghkGMWjlemVGn/zG188n/V3xJUGRGn/QltvD0/sq0p/Q21
h2A77jcRD+PXrmeqhdTPf/afFooZDhB3/NOWhc6Q7Q4MDp/Mzj5M3Vuf3jnZ
+JEtTewxxUw86WT6G/5LLMLv0Cjdxh6TzKfTT0IwB0hX8tuEOAs0wUuwq5Ep
vjE58OSrK38gXHIvmGu2NoKjsHQYNzd6xGzwAVq6oZGIX3vMqj5mY4S+Enwp
C13Kqg1YzpNfwV9/ij9aHvtr+OtP9gOwx3+pgLUuQUbvTfixjUATe6cicvaP
9gMn07dCXFq9YPyev3I/xcN6PHsIfjRswrDaSY/F0tM9hpuaCfNa/iRUrct0
MCEq5U8T/bXPtCdCtspWJzHPtTQfjo0n8Cxs8J50k/qhs+Kv8yzRihLp8JzF
P/67g34jcCNfNTmb4f1B2/LT/y4MxEhVv2WDt/7seaeeGOvJItaO/sm57J+y
A+vzI5PUcsmCOT5JVtwAjBDc7Ax+bxhtxF2DkI5aPHsA5lMWqT8eZJ8b5Sej
GLI/fZZwa1p1gMT46Wf3ZNnVJekxjpaNPHrM/GNq2lEWJ3DVaoN2unBhOWmu
JOuI8KJcIliwjbKaLTfzwpivjSOZXSMuuEbQlC0m83qLe4T8gd6FIpOfuFtE
takfRuxowUvR+VH28MrZdQ1yMDnde2F4tGUeLQePLzbL7BZmpKhfXXeGsOMf
a/e+ws0hFQyNi4ue6xQ+3Yk/U+aISvgAY78qCuM+On/9jieEeiDsqI8CYi/j
YomgxvmGHVHQHMkauaAUxE65WSKOMYORYqAUzHx+V+Ur3PAlumOg/1tQpxFN
iAjPskU7jZrjiZyVaiK1+xonG3vDvFVjG3Y7stQKUiGcGnZCJFQRVXRUc/n4
uXxPX8u38uU9k7RGnmQSctCmNWzfNC/4naj97uh4cng0OT3OCGXLpmRvQx+r
JSXAQVY5nNkPITYBt+3J+evjNuHnsGAZGGpb9KgcI1KWQGutUuA8UHy+zSWS
7Z2/Phw5gwjvsQa/IArl92ZnxYIZjJma+RZkwySSViMjug3ZEAY86/ZacTkc
x9R68CRZSzHqiGx5PWA3GauKalbPjaVv6KPI9g6PRuMBnKW3c8hnCLYizCbE
A6q37LaE48iYPmxLj+wXbRZw8a0YhhdkxSGz6ulxG2OHbwlJoeuoa0RYYzTM
FOT1Y5PNcLxpxFaPsnn3l+X7AmGFwHIb9E2jCfUGDma9aR2aUb1rYlkuip7Z
bSxwclkT2K0VrDLC2xB/A8crYdZlgxt94TVVUVThNB16QpJbAfkG0MJmzeF6
ahYlgPYKTb1D7JGP2ilb4UdiYKQIQIq7u8ZWq6swOQkOqisXz5Ahrh6rif6e
GWwINb6NWJyiqGQK6svRq43CnnsXkMK6e/j0Ka7INhxW3kcrBfTZ8Fh57JcL
YLH4GpKYjoDBSjwzDCVxvSHBUej41kYU8TJcWQKwolgpfNBHQxUfitkmsGg3
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
ZuJkJgjpx4yAFL9RmOghMlRSUkMeA4pS6znRxJ76JxEmMAcC7zCuaUSbWNwQ
CP/WGGTIIdLPZTQYSOBJY4/PZ1kqTo6guxUvLHJD/UvF5tLBRssWSZQ4nPB5
u4UhAm+p20IgLb1x96+XKK5ku/5OBJuzl5IYXbjlByGfJoAtpA1CDRDmPe3r
ZKwgYRe8PU7oXDc3bGh0p+Btn78vmI2gcRpxBHwe4jGZ9ymbhhecMiud07yE
m5XL5QZDJNg2v2kw5gIO/sePOq2JBAhFWJTQT2xAaXw4kUZT6SpKZhtaEYnc
2M/Hyqz6VzZbNjUPDN/YIJjCL8/G+HGf/v2K9gZ+ea6SY+i+uguDbH3iPpK5
aVWigVyGgRCq7Jk2vM8hhrr7LrXSxGSRjvu779eATd/n7N9Gu0089tCFfQHE
+xu6ce9S++ui3vB5liw7xDyJ6CttJoZsX6ZFzTjr0j6LkWxNCkmN3uQfNIQW
2/nOt4NsBS/cgkE4cL1tgAvG7HAY++UTPiGN969cCWuhwJaTndjBEwLwPfQM
NPPHyQTnOPk2CTLc1syJfSYazMn2VqCvuKtBK1nqm34rJ72efttY+m9vH0vq
57Fj+SN9i8TDz32bbCXdempGyfWXf//I/TxidZNP9GbkSeg3jaW/k3/f6m4b
yx95bb8army652zwl+GM+s9rK8QIvmS29/CMtrTyK87RrrHs+nn86j7Uiqzu
852r+w+a0R95Hx9Ju9taeTxn2DWW/zecgSnqS6Qn/OerL+m267eSbv3XjuWP
vI/bV3ewi8N1etRp3HYXegJ6mDM85ufhsTyulV1/eXwrJK98mfn9+02tPHiO
Hj2W7TT1m9cl+vY3zyia3SNb2U1TDlrZy0fZ29qIbyrkmp+9yxHZLfHP4UE1
6/IzKgSLITX5Q7K4+kGtriBCGYZG9DUDjY8IcqG3PD6J1AHu+TNFjEcOTW+u
9tHbwXyJJqG5FL2hvAbosfd1Mry3u6s7EDrD7FmvQkwDpQbhuWliLxfkViMi
x6Krl1j3JJ0FG2runLGW9uVXdMT9UN+iZj3OOMNDRUaQCZv6rR/BZrEzHh9V
qMWPpVAhUOhcbB8g+VsN3Aolii0SRjntXLOpcPXGgkDV5b3a5E0OjQgWvq0X
HdrZazLxwDKTlt+FrOayY+hWgl0t0UxNy2XSSoiJGYPicYBX6Bmpq7FkIEUD
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
vu85gabEnbr/C30oeHi/GQEA

-->

</rfc>

