<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC4655 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4655.xml">
<!ENTITY RFC5440 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml">
<!ENTITY RFC5541 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5541.xml">
<!ENTITY RFC5925 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5925.xml">
<!ENTITY RFC6805 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6805.xml">
<!ENTITY RFC7470 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7470.xml">
<!ENTITY RFC7942 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7942.xml">
<!ENTITY RFC8051 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8051.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8231 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8231.xml">
<!ENTITY RFC8253 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8253.xml">
<!ENTITY RFC8281 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8281.xml">
<!ENTITY RFC8453 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8453.xml">
<!ENTITY RFC8637 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8637.xml">
<!ENTITY RFC8751 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8751.xml">
<!ENTITY RFC8697 SYSTEM "https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8697.xml">
]>
<rfc submissionType="IETF" docName="draft-ietf-pce-vn-association-05" category="std" ipr="trust200902">
    <!-- Generated by id2xml 1.5.0 on 2020-01-02T21:47:46Z -->
    <?rfc strict="yes"?>
    <?rfc compact="yes"?>
    <?rfc subcompact="no"?>
    <?rfc symrefs="yes"?>
    <?rfc sortrefs="no"?>
    <?rfc text-list-symbols="o*+-"?>
    <?rfc toc="yes"?>
    <front>
    <title abbrev="PCE VN Association"> Path Computation Element communication Protocol (PCEP) extensions for Establishing Relationships between sets of LSPs and Virtual Networks</title>
     <author fullname="Young Lee" initials="Y." surname="Lee">
      <organization>Samsung</organization>
      <address>
        <postal>
          <street></street>
          <city>Seoul</city>
          <region></region>
          <code></code>
          <country>South Korea</country>
        </postal>
        <email>younglee.tx@gmail.com</email>
      </address>
    </author>

  <author initials="H." surname="Zheng" fullname="Haomian Zheng">
   <organization>Huawei Technologies</organization>
   <address>
    <postal>
     <street>H1, Huawei Xiliu Beipo Village, Songshan Lake</street>
     <city>Dongguan</city>
     <region>Guangdong</region>
     <code>523808</code>
     <country>China</country>
    </postal>
    <email>zhenghaomian@huawei.com</email>
   </address>
  </author>

    <author initials="D." surname="Ceccarelli" fullname="Daniele Ceccarelli">
   <organization>Ericsson</organization>
   <address>
    <postal>
     <street>Torshamnsgatan,48</street>
     <city>Stockholm</city>
     <region></region>
     <code></code>
     <country>Sweden</country>
    </postal>
    <email>daniele.ceccarelli@ericsson.com</email>
   </address>
  </author>
    
    <date year="2021" month="October" day="15"/>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
    <t> This document describes how to extend Path Computation Element (PCE) Communication Protocol (PCEP) association mechanism introduced by the PCEP Association Group specification, to further associate sets of LSPs with a higher-level structure such as a virtual network (VN) requested by clients or applications. This extended association mechanism can be used to facilitate virtual network control using PCE architecture.</t>
    </abstract>
    </front>

    <middle>
    <section title="Introduction" anchor="sect-1">
    <t> The Path Computation Element communication Protocol (PCEP) provides mechanisms for Path Computation Elements (PCEs) to perform path computations in response to Path Computation Clients' (PCCs) requests. </t>
    <t> <xref target="RFC8051"/> describes general considerations for a stateful PCE deployment and examines its applicability and benefits, as well as its challenges and limitations through a number of use cases. <xref target="RFC8231"/> describes a set of extensions to PCEP to provide stateful control. A stateful PCE has access to not only the information carried by the network's Interior Gateway Protocol (IGP), but also the set of active paths and their reserved resources for its computations.  The additional state allows the PCE to compute constrained paths while considering individual LSPs and their interactions. </t>

    <t> <xref target="RFC8281"/> describes the setup, maintenance and teardown of PCE-initiated LSPs under the stateful PCE model. </t>

    <t> <xref target="RFC8697"/> introduces a generic mechanism to create a grouping of LSPs. This grouping can then be used to define association between sets of LSPs or between a set of LSPs and a set of attributes. </t>

    <t> <xref target="RFC8453"/> describes various Virtual Network (VN) operations initiated by a customer/application. In this context, there is a need for associating a set of LSPs with a VN "construct" to facilitate VN operations in PCE architecture. This association allows the PCEs to identify which LSPs belong to a certain VN. The PCE could then use this association to optimize all LSPs belonging to the VN together. The PCE could further take VN specific actions on the LSPs such as relaxation of constraints, policy actions, setting default behavior etc. </t>
   
       <t> <xref target="RFC8637"/> examines the PCE and ACTN architecture and describes how the PCE architecture is applicable to ACTN. <xref target="RFC6805"/> and <xref target="RFC8751"/> describes a hierarchy of stateful PCEs with Parent PCE coordinating multi-domain path computation function between Child PCE(s) and thus making it the base for PCE applicability for ACTN. In this text child PCE would be same as Provisioning Network Controller
   (PNC), and the parent PCE as Multi-domain Service Coordinator (MDSC)  <xref target="RFC8453"/>. </t>
   
       <t>  This document specifies a PCEP extension to associate a set of LSPs based on Virtual Network (VN) (or customer). A Virtual Network (VN) is a customer view of the TE network.  Depending on the agreement between client and provider various VN operations and VN views are possible as described in <xref target="RFC8453"/>. </t>

    <section title="Requirement Language" anchor="sect-1.1">
    <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
    </section>

    </section>

    <section title="Terminology" anchor="sect-2">
    <t>The terminology is as per <xref target="RFC4655"/>, <xref target="RFC5440"/>, <xref target="RFC6805"/>, <xref target="RFC8231"/> and <xref target="RFC8453"/>. </t>
    </section>
    
    <section title="Operation Overview" anchor="sect-3">
    <t>As per <xref target="RFC8697"/>, LSPs are associated with other LSPs with which they interact by adding them to a common association group. </t>

    <t>An association group based on VN is useful for various optimizations that should be applied by considering all the LSPs in the association. This includes, but not limited to - </t>
    <t> <list style="symbols">
        <t>Path Computation: When computing path for a LSP, the impact of this LSP, on the other LSPs belonging to the same VN is useful to analyze. The aim would be optimize overall VN and all LSPs, rather than a single LSP. Also, the optimization criteria such as minimize the load of the most loaded link (MLL) <xref target="RFC5541"/> and other could be applied for all the LSP belonging to the same VN, identified by the VN association. </t> 
        <t>Path Re-Optimization: The child PCE or the parent PCE would like to use advanced path computation algorithm and optimization technique that consider all the LSPs belonging to a VN/customer and optimize them all together during the re-optimization. </t>              
        </list>
    </t> 
    <t>This association is useful in PCEP session between parent PCE (MDSC) and child PCE (PNC). When computing the path, the child PCE (PNC) refer to the VN association in the request from the parent PCE (MDSC) and maps the VN to the associated LSPs and the network resources. Based on this information, operator policy and various constraints, the path is computed and replied to the parent PCE (MDSC). The VN association information could be included as a part of response as well.  The figure describes a typical VN operations using PCEP for illustration purpose. It is worth noting that in a multi-domain scenario, the different domain is controlled by different child PCEs. In order to set up the end-to-end tunnel, multiple segments need to be stitched, by the border nodes in each domain who receives the instruction from their child PCE (PNC).
    </t>

    <figure><artwork><![CDATA[
                                   ******
                         ..........*MDSC*..............................
                      .            ****** ..                   MPI    .
                   .                .        .                 PCEP   .
                .                   .          .   PCInitiate LSPx   .
              .                    .             .   with VNAG = 10   .
             .                    .                .                  .
            .                    .                  .                 .
           .                    .                    .                .
           v                    v                    v                .
         ******               ******               ******             .
         *PNC1*               *PNC2*               *PNC4*             .
         ******               ******               ******             .
         +---------------+    +---------------+    +---------------+  .
         |A              |----|               |----|              C|  .
         |               |    |               |    |               |  .
         |DOMAIN 1       |----|DOMAIN 2       |----|DOMAIN 4       |  .
         +------------B13+    +---------------+    +B43------------+  .
                                                  /                  .
                             ******              /                   .
                             *PNC3*<............/.....................
                             ******            /
                             +---------------+/
                              B31           B34
                             |               |
                             |DOMAIN 3      B|
                             +---------------+

         MDSC -> Parent PCE
         PNC  -> Child  PCE
         MPI  -> PCEP
]]></artwork>
    </figure>
    <t>In this draft, this grouping is used to define associations between a set of LSPs and a virtual network, a new association group is defined below -  </t>

    <t> <list style="symbols">
        <t>VN Association Group (VNAG)</t> 
        </list>
    </t>
       <t>One new Association type is defined as described in the Association object -
    </t>
       <t> <list style="symbols">
        <t>Association type = TBD1 ("VN Association") for VNAG</t> 
        </list>
   </t>
   
       <t>The scope and handling of VNAG identifier is similar to the generic association identifier defined in <xref target="RFC8697"/> . </t>
   
       <t>    In this document VNAG object refers to an Association Object with the Association type set to "VNAG".  </t>
       <t> Local polices on the PCE MAY define the computational and optimization behavior for the LSPs in the VN. An LSP MUST NOT belong to more than one VNAG. If an implementation encounters more than one VNAG, it MUST consider the first occurrence and ignore the others.  </t>
       <t> <xref target="RFC8697"/> specify the mechanism for the capability advertisement of the association types supported by a PCEP speaker by defining a ASSOC-Type-List TLV to be carried within an OPEN object.  This capability exchange for the association type described in this document (i.e.  VN Association Type) MUST be done before using the policy association.  Thus the PCEP speaker MUST include the VN Association Type (TBD1) in the ASSOC-Type-List TLV before using the VNAG in the PCEP messages.   </t>
       <t> This Association-Type is dynamic in nature and created by the Parent PCE (MDSC) for the LSPs belonging to the same VN or customer. These associations are conveyed via PCEP messages to the PCEP peer. Operator-configured Association Range MUST NOT be set for this association-type and MUST be ignored.  </t>
    </section>
    
    
    <section title="Extensions to PCEP" anchor="sect-4">
    <t>The format of VNAG is as per the ASSOCIATION object <xref target="RFC8697"/>. </t>
       <t>This document defines one mandatory TLV "VIRTUAL-NETWORK-TLV" and one new optional TLV "VENDOR-INFORMATION-TLV"; apart from this TLV, VENDOR-INFORMATION-TLV can be used to carry arbitrary vendor specific information. </t>
    <t><list style="symbols">
       <t>VIRTUAL-NETWORK-TLV: Used to communicate the VN Identifier.</t> 
       <t>VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor specific behavioral information, described in <xref target="RFC7470"/>.</t> 
       </list>
   </t>
       <t>The format of VIRTUAL-NETWORK-TLV is as follows.   </t>
    <figure><artwork><![CDATA[
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Type=TBD2           |       Length (variable)       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                   Virtual Network Name                      //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              Figure 1: The VIRTUAL-NETWORK-TLV formats
]]></artwork>
    </figure>
    <t>Type: TBD2 (to be allocated by IANA) </t>
    <t>Length: Variable Length </t>
       <t>Virtual Network Name (variable): an unique symbolic name for the VN. It SHOULD be a string of printable ASCII characters, without a NULL terminator. The VN name is a human-readable string that identifies a VN and can be specified with the association information. An implementation could use the VN name to maintain a mapping to the VN association group and the LSPs associated with the VN. The VN name MAY be specified by an operator or auto-generated by the PCEP speaker. </t>
       <t>The VIRTUAL-NETWORK-TLV MUST be included in VNAG object.If a PCEP speaker receives the VNAG object without the VIRTUAL-NETWORK-TLV, it MUST send a PCErr message with Error-Type=6 (mandatory object missing) and Error-Value=TBD3 (VIRTUAL-NETWORK-TLV missing) and close the session.   </t>
       <t>The format of VENDOR-INFORMATION-TLV is defined in <xref target="RFC7470"/>. </t>
    </section>
    
    <section title="Applicability to H-PCE architecture" anchor="sect-5">
    <t>The ability to compute shortest constrained TE LSPs in Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks across multiple domains has been identified as a key motivation for PCE development.  <xref target="RFC6805"/> describes a Hierarchical PCE (H-PCE) architecture which can be used for computing end-to-end paths for inter-domain MPLS Traffic Engineering (TE) and GMPLS Label Switched Paths (LSPs).  Within the hierarchical PCE architecture, the parent PCE is used to compute a multi-domain path based on the domain connectivity information.  A child PCE may be responsible for a single domain or multiple domains, it is used to compute the intra-domain path based on its domain topology information. </t>
    <t> <xref target="RFC8751"/> introduces general considerations for stateful PCE(s) in hierarchical PCE architecture.  In particular, the behavior changes and additions to the existing stateful PCE mechanisms in the context of a H-PCE architecture. </t>
       <t>In Stateful H-PCE architecture, the Parent PCE receives a virtual network creation request by its client over its Northbound API. This VN is uniquely identified by an Association ID in VNAG as well as the VIRTUAL-NETWORK name. This VN may comprise multiple LSPs in the network in a single domain or across multiple domains. </t>
       <t>As the Parent PCE computes the optimum E2E paths for each tunnel in VN, it MUST associate each LSP with the VN to which it belongs. Parent PCE sends a PCInitiate Message with this association information in the VNAG Object (See <xref target="sect-4"/> for details). This in effect binds an LSP that is to be instantiated at the child PCE with the VN. </t>
       <t>Whenever changes occur with the instantiated LSP in a domain network, the domain child PCE reports the changes using a PCRpt Message in which the VNAG Object indicates the relationship between the LSP and the VN. </t>
       <t>Whenever an update occurs with VNs in the Parent PCE (via the client's request), the parent PCE sends an PCUpd Message to inform each affected child PCE of this change. </t>
       <t>The Child PCE could then use this association to optimize all LSPs belonging to the same VN association together. The Child PCE could further take VN specific actions on the LSPs such as relaxation of constraints, policy actions, setting default behavior etc. The parent PCE could also maintain all E2E LSP or per-domain path segments under a single VN association. </t>
    </section>

    <section title="Implementation Status" anchor="sect-6">
    <t>   [Note to the RFC Editor - remove this section before publication, as well as remove the reference to RFC 7942.] </t>
       <t> This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in <xref target="RFC7942"/>.  The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs.  Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors.  This is not intended as, and must not be construed to be, a catalog of available
   implementations or their features.  Readers are advised to note that other implementations may exist.   </t>
       <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation
   and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".   </t>

    <section title="Huawei's Proof of Concept based on ONOS" anchor="sect-6.1">
    <t>The PCE function was developed in the ONOS open source platform. This extension was implemented on a private version as a proof of concept to ACTN.   </t>
    <t>
    <list style="symbols">
      <t>Organization: Huawei</t> 
      <t>Implementation: Huawei's PoC based on ONOS</t> 
      <t>Description: PCEP as a southbound plugin was added to ONOS.  To
      support ACTN, this extension in PCEP is used.  Refer
      https://wiki.onosproject.org/display/ONOS/PCEP+Protocol</t> 
      <t>Maturity Level: Prototype</t> 
      <t>Coverage: Full</t> 
      <t>Contact: satishk@huawei.com</t> 
    </list>
   </t>
    </section>
    </section>
    
    <section title="Security Considerations" anchor="sect-7">
    <t>This document defines one new type for association, which do not add any new security concerns beyond those discussed in <xref target="RFC5440"/>, <xref target="RFC8231"/> and <xref target="RFC8697"/> in itself.  </t>
    <t> Some deployments may find the Virtual Network Name and the VN associations as extra sensitive; and thus should employ suitable PCEP security mechanisms like TCP-AO <xref target="RFC5925"/> or <xref target="RFC8253"/>.   </t>
    </section>

    <section title="IANA Considerations" anchor="sect-8">
       <section title="Association Object Type Indicator" anchor="sect-8.1">
    <t>This document defines a new association type, originally defined in <xref target="RFC8697"/>, for path protection.  IANA is requested to make the assignment of a new value for the sub-registry "ASSOCIATION Type Field" (request to be created in <xref target="RFC8697"/>), as follows:  </t>
       <figure><artwork><![CDATA[
      Value     Name                        Reference

      TBD1      VN Association Type         [This I.D.]
]]></artwork>
    </figure>
    </section>
    <section title="PCEP TLV Type Indicator" anchor="sect-8.2">
    <t> This document defines a new TLV for carrying additional information of LSPs within a path protection association group. IANA is requested to make the assignment of a new value for the existing "PCEP TLV Type Indicators" registry as follows:
   </t>
    <figure><artwork><![CDATA[
      Value     Name                        Reference

      TBD2      VIRTUAL-NETWORK-TLV         [This I.D.]
]]></artwork>
    </figure>
    </section>
    <section title="PCEP Error" anchor="sect-8.3">
    <t> This document defines new Error-Type and Error-Value related to path protection association.  IANA is requested to allocate new error values within the "PCEP-ERROR Object Error Types and Values" sub- registry of the PCEP Numbers registry, as follows:
   </t>
       <figure><artwork><![CDATA[
      Error-Type  Meaning

      6           Mandatory Object missing
                  Error-value=TBD3: VIRTUAL-NETWORK TLV missing [This
      I.D.]
]]></artwork>
    </figure>
    </section>
    </section>

    <section title="Manageability Considerations" anchor="sect-9">
    <section title="Control of Function and Policy" anchor="sect-9.1">
    <t>An operator MUST BE allowed to mark LSPs that belong to the same VN. This could also be done automatically based on the VN configuration.
   </t>

    </section>
    <section title="Information and Data Models" anchor="sect-9.2">
    <t>The PCEP YANG module [I-D.ietf-pce-pcep-yang] should support the association between LSPs including VN association.
   </t>

    </section>
    <section title="Liveness Detection and Monitoring" anchor="sect-9.3">
    <t> Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in <xref target="RFC5440"/>.
   </t>

    </section>
    <section title="Verify Correct Operations" anchor="sect-9.4">
    <t>Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in <xref target="RFC5440"/>.
   </t>

    </section>
    <section title="Requirements On Other Protocols" anchor="sect-9.5">
    <t>Mechanisms defined in this document do not imply any new requirements on other protocols.
   </t>

    </section>
    <section title="Impact On Network Operations" anchor="sect-9.6">
    <t>Mechanisms defined in this document do not have any impact on network operations in addition to those already listed in <xref target="RFC5440"/>.
   </t>

    </section>
    </section>

    </middle>

    <back>
    <references title="Normative References">
    &RFC2119;
    &RFC5440;
    &RFC8174;
    &RFC8231;
    &RFC8281;
    &RFC8697;
    </references>
    <references title="Informative References">
    &RFC4655;
    &RFC5925;
    &RFC6805;
    &RFC7942;
    &RFC8453;
    &RFC8637;
    &RFC5541;
    &RFC7470;
    &RFC8051;
    &RFC8253;
    &RFC8751;
    <?rfc include="reference.I-D.ietf-pce-pcep-yang"?>
    </references>
    <section title="Contributors" anchor="sect-10">
    <figure><artwork><![CDATA[
   Dhruv Dhody
   Huawei Technologies
   Divyashree Technopark, Whitefield
   Bangalore, Karnataka  560066
   India

   Email: dhruv.ietf@gmail.com

   Qin Wu
   Huawei Technologies
   China

   Email: bill.wu@huawei.com

   Xian Zhang
   Huawei Technologies
   China

   Email: zhang.xian@huawei.com
]]></artwork>
    </figure>
    </section>

    </back>

    </rfc>
    
