<?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.6.17 (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-05" 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="2025" month="March" day="02"/>

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

    <abstract>


<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 relying on compliant domains and nodes to provide
forwarding treatment (scheduling, drop policy, resource usage) on to packets
that carry identifiers that indicate the slicing service that is to be applied
to the packets.</t>



    </abstract>



  </front>

  <middle>


<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 of 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 SFA.</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 setup 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>NRP Filtered Topology:</dt>
  <dd>
    <t>a set of topological elements associated with a Network Resource Partition.</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 costumer 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 an Slice-Flow
Aggregate is a matter of local operator policy 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>

</section>
<section anchor="control-plane-network-resource-partition-mode"><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 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 over subscription.</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>

</section>
<section anchor="data-and-control-plane-network-resource-partition-mode"><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>

</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 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 should be able to identify a packet belonging to a Slice-Flow Aggregate
before it can apply the associated dataplane forwarding treatment or NRP-PHB.
One or more fields within the packet are used as an NRP Selector to do this.</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 in case of MPLS network) for each Slice-Flow Aggregate on a specific node
 in the network. <xref target="RFC3031"/> states in Section 2.1 that: 'Some routers
 analyze a packet's network layer header not merely to choose the packet's
 next hop, but also to determine a packet's "precedence" or "class of
 service"'. Assigning a unique forwarding address (or MPLS forwarding label)
 to each Slice-Flow Aggregate allows Slice-Flow Aggregate packets destined to a node
 to be distinguished by the destination address (or
 MPLS forwarding label) that is carried in the packet.</t>
</li></ul>

<ul empty="true"><li>
  <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. For example, consider a network slicing provider
with a network composed of 'N' nodes, each with 'K' adjacencies to its
neighbors.  Assuming a node can be reached over 'M' different Slice-Flow Aggregates,
the node assigns and advertises reachability to 'N' unique
forwarding addresses, or MPLS forwarding labels.
Similarly, each node assigns a unique forwarding address
(or MPLS forwarding label) for each of its 'K' adjacencies to enable strict
steering over the adjacency for each slice.  The total number of control and data plane states that
need to be stored and programmed in a router's forwarding is (N+K)*M states.
Hence, as 'N', 'K', and 'M' parameters increase, this approach suffers from scalability challenges
in both the control and data planes.</t>
</li></ul>

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

<ul empty="true"><li>
  <t>The VPN service label can be overloaded to act as an NRP Selector to allow VPN packets
to be mapped to the Slice-Flow Aggregate. In this case, a single VPN service label
acting as an NRP Selector needs to be allocated by all Egress PEs of a VPN.</t>
</li></ul>

<t>In other cases, a range of VPN service labels can act as an NRP Selector to map VPN traffic to
a Slice-Flow Aggregate. An example of such deployment is shown in <xref target="bottom-stack"/>.</t>

<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>An NRP Policy may define a dedicated identifier that acts as an 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. Routers within the NRP domain can use the forwarding
address (or MPLS forwarding label) to determine the forwarding next-hop(s),
and use the NRP Selector field 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 dataplane used. For example, in MPLS networks, the NRP Selector can be
encoded within an MPLS label that is carried in the packet's MPLS label stack.
All packets that belong to the same Slice-Flow Aggregate may carry the same NRP Selector in the
MPLS label stack. It is also possible to have multiple NRP Selector's map
to the same Slice-Flow Aggregate.</t>
</li></ul>

<ul empty="true"><li>
  <t>In some cases, the position of the NRP Selector may not be at a fixed position
in the MPLS label header. In this case, the NRP Selector label can show up in any
position in the MPLS label stack. To enable a transit router to identify
the position of the NRP Selector label, a Network Action Indicator (NAI) special purpose label
can be used to indicate the presence of a NRP Selector in the MPLS label stack as shown in <xref target="sli-sl"/>.</t>
</li></ul>

<figure title="NAI and NRP Selector label in the label stack." anchor="sli-sl"><artwork><![CDATA[
     SR Adj-SID:          NRP Selector ID: 1001
        9012: P1-P2
        9023: P2-PE2

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

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

<ul empty="true"><li>
  <t>When the slice is realized over an IP dataplane, the NRP Selector can be encoded in
the IP header (e.g. as an  IPv6 option header).</t>
</li></ul>

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

<ul empty="true"><li>
  <t>When a dedicated identifier is used as the NRP Selector, it is beneficial to specify
a fallback action for situations where an NRP packet cannot be mapped to an NRP on an NRP-capable node.
In such cases, a field within the NRP Selector ID can be used to indicate whether to apply the default drop action
or permit a fallback treatment. The fallback treatment can be specified by a local policy.</t>
</li></ul>

</section>
<section anchor="network-resource-partition-resource-reservation"><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 guarantee 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>A key element of the NRP Policy is a customized topology that may include the
full or 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 supports 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
<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>

</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>

</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>
</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 setup 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 setup 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">
  <t>Add new Appendix section with examples for the NRP modes described in
<xref target="SliceModes"/>.</t>
  <t>Elaborate on the SFA packet treatment when no rules to associate the packet
to an NRP are defined in the NRP Policy.</t>
  <t>Clarify how the solution caters to the different IETF Network Slice Service
Demarcation Point locations described in Section 4.2 of
<xref target="RFC9543"/>.</t>
  <t>Clarify the relationship the underlay physical network, the filter topology
and the NRP resources.</t>
  <t>Expand on how isolation between NRPs can be realized depending on the
deployed NRP mode.</t>
  <t>Revise <xref target="NRPIncapbale"/> to describe how nodes can discover NRP incapable
downstream neighbors.</t>
  <t>Expand <xref target="SecurityConsiderations"/> on additional security threats introduced
with the solution.</t>
  <t>Expand <xref target="NRPBoundary"/> on NRP domain boundary and multi-domain aspects.</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>

</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='Normative References'>



<reference anchor='RFC3630' target='https://www.rfc-editor.org/info/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='September' 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' target='https://www.rfc-editor.org/info/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='RFC7752' target='https://www.rfc-editor.org/info/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='RFC3209' target='https://www.rfc-editor.org/info/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'>



<reference anchor='RFC9543' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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' target='https://www.rfc-editor.org/info/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='RFC3031' target='https://www.rfc-editor.org/info/rfc3031'>
  <front>
    <title>Multiprotocol Label Switching Architecture</title>
    <author fullname='E. Rosen' initials='E.' surname='Rosen'/>
    <author fullname='A. Viswanathan' initials='A.' surname='Viswanathan'/>
    <author fullname='R. Callon' initials='R.' surname='Callon'/>
    <date month='January' year='2001'/>
    <abstract>
      <t>This document specifies the architecture for Multiprotocol Label Switching (MPLS). [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='3031'/>
  <seriesInfo name='DOI' value='10.17487/RFC3031'/>
</reference>

<reference anchor='RFC2702' target='https://www.rfc-editor.org/info/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&apos;Dell' initials='M.' surname='O&apos;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' target='https://datatracker.ietf.org/doc/html/draft-ietf-lsr-flex-algo-26'>
   <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' target='https://www.rfc-editor.org/info/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='I-D.ietf-teas-rfc3272bis' target='https://datatracker.ietf.org/doc/html/draft-ietf-teas-rfc3272bis-27'>
   <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' target='https://www.rfc-editor.org/info/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='RFC6241' target='https://www.rfc-editor.org/info/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='RFC8040' target='https://www.rfc-editor.org/info/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>



  </back>

<!-- ##markdown-source:
H4sIAICQxGcAA71963fbVpLn9/tX3E3OHksdkvEzPVF3Zy3LcqKO7WgljXtn
NjtzIBIUEZMAGwAlM7b2b9963hcASnbmrD4kJgncZ9269fhV1Xg8Nm3RLvMD
e5Zny+L3oryyb/P2pqrf2/NlMc0bW5T25PTbN6evz/WXxmSXl3V+fZD+QK9A
E2ZWTctsBa3O6mzejou8nY/bPGvGZTMu1uPVetmMHz4z06zNr6p6ewCdzCtT
rOsD29abpn388OH3Dx8bbPOqrjbrA3txfHhu/wGfcYQ/4nfmfb6FB2YwirLN
6zJvxy+xN9NsLldF0xRV2W7XMIaT44tXxjRtVs7+M1tWJXy1zRuzLg7s/26r
6cg2Vd3W+byBf21X+I//Y0y2aRdVfWCMHRsLf0XZwCAm9jzLZvQFz+8iq/P3
/suqvsrK4veshc4P7FHRTCt7vm3afNXAKKcTeihfZcUSJtrAWxMY9vMr/GIy
rVZxb+8m9kWe19kq6O9d0SzKjT3NrrMy/DXu+O+bsljntd+voNvrS3rr+W/8
DA4g7vbvE/uygj30nf69yP1XcU8/bbKbvLAX+XRRVsvqqsijzn4r8skM3ny+
oOfCOWpfP2VLGEZpfG9Vvgy/jTs8rotp01T0i3YCL0wW/MLzXH7vdHU+sac5
z4H7OV9k1Xzjvoy7+feLY3tU1euqpi+C3tbw/KShd5//3ubYz2RaGlNW9Qqe
vc6BZpCa/afxeGyzy6atsykstT9npRyahs/ZKtvaOv/npqhz2y5ye57X1/CD
Pa2r62IGu9lWdpFd84/ZZbEs2i18Z9ZZDUcYBmkzu15sm2KaLV3bRQlvrTbL
tlgvc4sbFPza2Gpur7N6i6Npit/zZgTHpN5M200N/7ZwYOx8U06x8QZOCfSc
tTbPpgses50CEV7mdpbPCjzKMxxis86nxbyYmobHD53UdgpnulrldTOxb3Qw
yfSlrZqWB5qC+eBEG9gro4/eLAp4MS+bTU1DpkHky6xpge3AagCrAk6wonnp
OzCTalNPc5Mtl9WUdnNiLxZFY4FJbVZ52cL4m2ldXMIgMtvA+mSX0EtTLTe0
qjAnGZS2aRpmcyFrdEt6ubXNZg2E0+ITbun9amCLaxwhdAaPLHPT2bVLpIQl
bQs8DhS2XhYZDrQCGoStwI0pKxg2Dm7N9GGA5G6yeoYvATfLWpraXjNd5LPN
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
nCBvsg8auIjtvHDtIFvB6zZn6ANcbhvggTEz7EbcuHwpSOMk3oU3rkQTUDzB
yU7I1gnhpu56Bpr563iMkxz/0IvtGmrmJHwmGszJcCvQV9xVpxXb90vayknS
05eNJX17eCx9f/cdy1/pV6Qefu6H3lb6W++bUe/6y3//yv3cY3V7n0hm5Ejo
i8aS7uQfW92hsfyV1/ZJd2X7e7adb7ozSp/XVogTfMN87+4ZDbTyGedo11h2
/d1/de9qRVb36c7V/S+a0V95H+9Ju0Ot3J8z7BrL/x/OwBT1DdIT/ufJN3Td
pa30t/65Y/kr7+Pw6nZ2sbtO9zqNQ5ehI6C7OcN9/u4ey/1a2fXN/VshgeUb
6/bvi1q58xzdeyzDNPXF6xL9+sUzimZ3z1Z205SBVvayffu2CuQ3lXKDv73L
fczCT1/7B0XulZGoFMyCeP8fCePqgQqVBRHKEJGeqgYKS/eCYdFUDL/4NtIH
uOevQhcQSsGfaS8MMYCqyyFwftraq01Wgy6di6GsN0x71OuC63UZqUurXSTh
0yZ2bokpIPaNRUH/khOAGgpyO7GPl3T5AKqOfhpnCuISAXfYg2zo/VC7NZn3
KA9JlLmDrC2SuAMFeHU99I8lzOPMJp7Iok0R/SjzJyi2ML8G4/8EFcMIeLby
yLIFlvhozVz0tKOmZFO72QkIbGrQfCW2czJUeRXEp3+optMN5i/ckJ/sEv7N
WG8HifH6885kpUlGIm+o7vfe3uVajsAa6mLuQ3iE6FxfQKJZw3+ctakNKokw
OFh/0VQkNdXVMJKhpA+5nfQRYus1r+6oE8igkQpxZp1gSeP8dlGtCaSGkR6l
kWHrVZx7TLNvu9GEiecTSEP+Ae3hsjVFzYDtFj2/Ae4/ygQNa7Jgu1MZYgOD
xAKtg72HEH9DaIId4Qm3iXVf0flhvvB5aMPtnZHhGYj1nQbUYBJZTUpLSYXX
NZkT75dLT/69P/HGsp4khEnCxR4fW4QZ64UqdTDm6ZJQNA8ZuJpWrKA60jCD
ZBOGSsloxKLYAxqEs1jdSN7JKJOEJOwQPuVSCHeXXpZcj4RP3e9y9euVOe1k
/zc+9iFNUtdNlj6wmn3J0k2aLJ06JGgN4j44zzmvfpMDXyXzsjzadCCT3pWv
TCdw7vehUzUAy+1YAFRFkPDG+40TWISeaR8jVm+W6vhxxS5CAyDW/QkBI977
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
jGfg/wHiW2A7sdcAAA==

-->

</rfc>

