One document matched: draft-dhody-pce-pcep-p2mp-per-destination-02.xml


<?xml version="1.0" encoding="us-ascii"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[]>
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>
<?rfc compact="yes" ?>
<?rfc iprnotified="Yes" ?>
<?rfc strict="no" ?>
<rfc ipr="trust200902" category="exp" docName="draft-dhody-pce-pcep-p2mp-per-destination-02" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
  <front>
    <title abbrev="PER-DEST">Supporting explicit-path per destination in Path Computation Element Communication Protocol (PCEP) P2MP Path Request Message. </title>
    <author initials="D" surname="Dhody" fullname="Dhruv Dhody">
      <organization>Huawei Technologies India Pvt Ltd</organization>
      <address>
        <postal>
          <street>Leela Palace</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560008</code>
          <country>INDIA</country>
        </postal>
        <email>dhruv.dhody@huawei.com</email>
      </address>
    </author>
    <author initials="U" surname="Palle" fullname="Udayasree Palle">
      <organization>Huawei Technologies India Pvt Ltd</organization>
      <address>
        <postal>
          <street>Leela Palace</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560008</code>
          <country>INDIA</country>
        </postal>
        <email>udayasree.palle@huawei.com</email>
      </address>
    </author>
    <date month="August" year="2012" />
    <area>Routing</area>
    <workgroup>PCE Working Group</workgroup>
    <abstract>
      <t>The ability to determine paths of point-to-multipoint (P2MP) Multiprotocol Label Switching (MPLS) and Generalized MPLS (GMPLS) Traffic Engineering Label Switched Paths (TE LSPs) is one the key requirements for Path Computation Element (PCE). <xref target="RFC6006"/> and <xref target="PCE-P2MP-PROCEDURES"/> describes these mechanisms for intra and inter domain environment. </t>
      <t>Explicit Path in this document refers to the configured list of network elements that MUST be traversed or MUST be excluded in the final path computation. This should not be confused with the RSVP terminology. Network elements can further be strict or loose hop.  </t>
      <t>This document describes extensions to the PCE communication Protocol (PCEP) to define explicit-path per destination in P2MP context. </t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction" toc="default">
      <t>The Path Computation Element (PCE) architecture is defined in <xref target="RFC4655"/>.  <xref target="RFC5862"/> mentions a P2MP PCE MUST be able to provide to the path computation a limiting set of nodes that can be used as branches for a P2MP path computation, or to provide a list of nodes that must not be used as branch points. This document mention the need to specify the branch points (or explict path) per destination.</t>
      <t><xref target="RFC6006"/> describe a PCE-based path computation procedure to compute optimal constrained (G)MPLS P2MP TE LSPs. It also defines the format of path request message used in P2MP, which limits explicit path in form of IRO/XRO; to be applied to full P2MP tunnel and thus to only the common path to all leaves.   </t>
      <t>This document describes the need for supporting explicit-path per destination in intra and inter-domain P2MP scenario. It further lists the path request format and mode of operations</t>
      <section title="Requirements Language" toc="default">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
      </section>
    </section>
    <section title="Terminology" toc="default">
      <t>The following terminology is used in this document.</t>
      <t>
        <list style="hanging">
          <t hangText="Explicit-Path:">Set of network elements configured by the administrator that MUST be traversed or MUST be excluded.</t>
          <t hangText="IRO:">Include Route Object.</t>
          <t hangText="PCC:">Path Computation Client: any client application requesting a path computation to be performed by a Path Computation Element.</t>
          <t hangText="PCE:">Path Computation Element.  An entity (component, application, or network node) that is capable of computing a network path or route based on a network graph and applying computational constraints.</t>
          <t hangText="P2MP:">Point-to-Multipoint</t>
          <t hangText="P2P:">Point-to-Point</t>
          <t hangText="RRO:">Record Route Object</t>
          <t hangText="RSVP:">Resource Reservation Protocol</t>
          <t hangText="TE LSP:">Traffic Engineering Label Switched Path.</t>
          <t hangText="XRO:">Exclude Route Object.</t>
        </list>
      </t>
    </section>
    <section title="Need to Define Explicit Path Per Destination" toc="default">
    <section title="Inter Domain P2MP Path Computation" toc="default">
      <t>In the <xref target="fig1"/> below, D1 is the root domain; D5 and D6 are the destination domains.</t>
      <t>
          <figure title="Domain Topology Example" anchor="fig1" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
                  |
                  |  +-------------+                +----------------+
                  |  |D 3          |                |D 6             |
                  |  |         +--+|                |          +--+  |
                  |  |         |  ||                |          |  |  |
                  |  |  +--+   +--+|                |   +--+   +--+  |
                  |  |  |  |       |                |   |  |         |
                  |  |  *--+       |                |   +--+         |
                  |  | /      +--+ |                |          +--+  |
                  |  |/       |  | |                |          |  |  |
                  |  /        +--+ |                |   +--+   +--+  |
                  | /|  +--+       |+--------------+|   |  |         |
                  |/ |  |  |       ++-+          +-++   +--+         |
   +-------------+/  |  +--+       || |          | ||                |
   |             /|  |             ++-+          +-++                |
   |         +--*||  +-------------+|              |+----------------+
   |         |  |||                 |     +--+     |
   |         +--+||                 |     |  |     |
   |    +--+     ||                 |     +--+     |
   |    |  |     ||                 |              |
   |    +--+     ||                 |              |
   |             ||                 |     +--+     |
   |+--+         ||                 |     |  |     |
   ||  |         ||                 |     +--+     |
   |+--+         ||                 |              |
   |             ||                 |     +--+     |
   |    +--+     ||  +------------+ |     |  |     |+----------------+
   |    |  |     ||  |D 2         +-++    +--+   +-++ D 5            |
   |    +--+     ||  |            | ||           | ||                |
   |             ||  |            +-++           +-++                |
   |         +--+||  |       +--+ | |  D 4         ||   +--+         |
   |         |  |||  |       |  | | +--------------+|   |  |         |
   |         +--*||  |       +--+ |                 |   +--+         |
   |             \|  |            |                 |          +--+  |
   |D 1          |\  |   +--+     |                 |   +--+   |  |  |
   +-------------+|\ |   |  |     |                 |   |  |   +--+  |
                  | \|   +--+  +--+                 |   +--+         |
                  |  \         |  |                 |                |
                  |  |\        +--+                 |          +--+  |
                  |  | \ +--+     |                 |          |  |  |
                  |  |  \|  |     |                 |          +--+  |
                  |  |   *--+     |                 |                |
                  |  |            |                 |                |
                  |  +------------+                 +----------------+
                  |
                  |
       As 100     |  AS 200
                  | ]]></artwork>
          </figure>
        </t>
        	
      <t><xref target="PCE-P2MP-PROCEDURES"/> defines inter-domain P2MP path computation procedure and assumes that the sequence of domains for a path (the path domain tree) will be known in advance due to deployment and commercial limitations (e.g., inter-AS peering agreements). In the <xref target="fig2"/> below, the P2MP tree spans 5 domains. Destination in D6 would use the domain-sequence: D1-D3-D4-D6; and destination in D5 would use the domain-sequence: D1-D3-D4-D5.</t>
      <t>
          <figure title="Domain Sequence Tree" anchor="fig2" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
                            D3    D6
                           /  \  /
                          D1   D4
                                 \   
                                  D5         
]]></artwork>
          </figure>
        </t>
      <t>Since different destinations will have different domain sequence within the domain tree, it requires domain-sequence to be encoded in form of IRO to be attached per destination.  It cannot be encoded for all destinations.</t>  
      <t>Thus domain-sequence encoded in form IRO (as per <xref target="DOMAIN-SEQ"/>) should be attached to destinations and not attached to full P2MP tree.</t>
    </section>
    <section title="Intra Domain P2MP Path Computation" toc="default">	        
      <t>Administrator at the source can exert stronger control by providing explicit path (include, exclude, loose etc) per destination.</t>
      <t>In <xref target="fig3"/> shows the common path over which a common explicit path in form of IRO and/or XRO can be set.</t>
      <t>
          <figure title="Example" anchor="fig3" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
                                        +---+
                                        | F |
                                       /*---+
                                     //
                                   //
                                 //
                               //
     +---+  +---+  +---+  +---*         +---+
     | A +--+ B +--+ C +--+ D +---------+ E |
     +---+  +---+  +---+  +---*\        +---+
     |                        | \\
     |                        |   \\
     |                        |     \\
     |                        |       \\
     |<-----common path------>|         *---+
     |                        |         | G |
     |                        |         +---+
       Explicit Path Here 
]]></artwork>
          </figure>
        </t>
      <t>But as shown in <xref target="fig4"/>, once new destinations are added and branch points are much nearer to ingress causing common path to reduce, the administrator would not be able to apply the explicit path as before.</t>
      <t>
          <figure title="Example" anchor="fig4" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
                        +---+           +---+
                        | H |           | F |
                        *---+          /*---+
                      //             //
                    //             //
                   /             //
                 //            //
     +---+  +---*  +---+  +---*         +---+
     | A +--+ B +--+ C +--+ D +---------+ E |
     +---+  +---+  +---*  +---*\        +---+
     |          |       \\      \\
     |          |         \\      \\
     |<-------->|           \\      \\
     | Common   |            \\      \\
     |  path    |               *---+   *---+
     |          |               | I |   | G |
     |          |               +---+   +---+
     |          |
     |          | 
]]></artwork>
          </figure>
        </t>        
    </section>          
    <section title="Backward Compatibility" toc="default">	            	          
          <t>Basic MPLS TE P2MP Tunnel configurations for various operators support the configuration of explicit-path per destination. In some operators where preconfigured path must be setup, during configurations the path to each destination is configured as an explicit path and attached to each destination.</t>
          <t>It makes sense to apply explict path per destination instead of the full P2MP tree.</t>
    </section>
    </section>
    <section title="Detailed Description" toc="default">
      <section title="Objective" toc="default">
        <t><xref target="RFC6006"/> defines Request Message Format and Objects, along with <end-point-rro-pair-list>. This section introduce the concept of <iro-list>, <xro-list> and <metric-list> which are added to the <end-point-rro-pair-list> to support ‘per destination’.  </t>
        <t>Use of <iro-list>, <xro-list> to carry explicit-path per destination in intra-domain scenario.</t>
        <t>Use of <iro-list> to carry domain-sequence per destination in inter-domain scenario.</t>
        <t>Use of <metric-list> to carry metric value of each calculated path encoded in <rro-list>. In case of reoptimization of a P2MP tree, each calculated S2L path MUST be accompanied by metric value.</t>
      </section>
      <section title="Request Message Format" toc="default">
        <t>To carry explicit path for each destination, <END-POINTS> objects need to be ordered and grouped in a way such that IRO object, XRO object, RRO object and METRIC object can be associated with each destination. </t>
        <t>
          <figure title="" suppress-title="false" align="left" alt="" width="" height="">
            <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[	The format of PCReq message is modified as follows:
        
        <PCReq Message>::= <Common Header>
                           <request>
        where:
        <request>::= <RP>
                     <end-point-iro-xro-rro-metric-list>
                     [<OF>]
                     [<LSPA>]
                     [<BANDWIDTH>]
                     [<metric-list>]
                     [<IRO>]
                     [<LOAD-BALANCING>]

        where:
        <end-point-iro-xro-rro-metric-list> ::=
                     <END-POINTS>
                     [<IRO-List>] 
                     [<XRO-List>] 
                     [<RRO-List>]
                     [<metric-list>]
                     [<end-point-iro-xro-rro-metric-list >]


        <RRO-List>::=<RRO>[<BANDWIDTH>][<RRO-List>]
        <metric-list>::=<METRIC>[<metric-list>]
        <IRO-List>::=<IRO>[<IRO-List>]
        <XRO-List>::=<XRO>[<XRO-List>]
]]></artwork>
          </figure>
        </t>
        <t>From <xref target="RFC6006"/> usage of <end-point-rro-pair-list> is changed to <end-point-iro-xro-rro-metric-list> in this document.</t>
        <t>Note that the new format is backward compatible to <xref target="RFC6006"/> format. </t>
      </section>
      <section title="Ordering Destinations in END-POINTS Objects" toc="default">
        <t>Multiple destinations are encoded into a single ENDPOINTS object, Each Endpoint maybe followed by multiple lists of IROs, XROs, RROs or METRICs. The first <IRO> object would belong to the first destination, the second <IRO> object to the second destination and hence forth. The first <XRO> object would belong to the first destination, the second <XRO> object to the second destination and hence forth…</t>
        <t>Note that a destination (P2MP tree leaf) MAY have </t>
        <t>
          <list style="symbols">
            <t>both <IRO> and <XRO> </t>
            <t><IRO>  only</t>
            <t><XRO>  only</t>
            <t>No explicit path</t>
          </list>
        </t>
        <t>To maintain the ordering between the destination and objects in the list, there MAYBE a need to divide a set of destinations into multiple ENDPOINTS, this explained in below example.</t>
        <section title="Example" toc="default">
          <t>Destination 1 has include IRO1 and exclude XRO1</t>
          <t>Destination 2 has only include IRO2</t>
          <t>Destination 3 has only exclude XRO3</t>
          <t>Destination 4 has only exclude XRO4</t>
          <t>Destination 5 has none</t>
          <t>Here if we try to encode all destinations in one <ENDPOINT> and objects in list, we will not map XRO3 to destination 3, the rule is to map sequentially and thus XRO3 will belong to destination 2. </t>
          <t>To avoid this we must break the set of destinations into two sets as shown below</t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[	            +-----------------------------+
                    |           Leaf Type         |
                    +-----------------------------+
                    |           Source IP         |
                    +-----------------------------+    
           +------> |         Destination 1       |   <ENDPOINT>
           |        +-----------------------------+
           |    +-> |         Destination 2       |
           |    *   +-----------------------------+
           |    *   |         Destination 5       |
           |    *   +-----------------------------+
           |    *
           |    *   +-----------------------------+
           +----*-> |             IRO1            |
           |    *   +-----------------------------+
           |    *   |            HOPI 1-1         |
           |    *   +-----------------------------+    
           |    *   |             ....            |   <IRO-List>
           |    *   +-----------------------------+   with 2 IRO1, IRO2
           |    +-> |              IRO2           |
           |        +-----------------------------+
           |        |            HOPI 2-1         |
           |        +-----------------------------+    
           |        |             ....            |   
           |        +-----------------------------+
           | 
           |        +-----------------------------+
           +----->  |             XRO1            |
                    +-----------------------------+  <XRO-List> 
                    |            HOPX 1-1         |  with 1 XRO1
                    +-----------------------------+    
                    |             ....            |   
                    +-----------------------------+
]]></artwork>
            </figure>
          </t>
          <t>ENDPOINT1 carries destination 1, 2 and 5 and corresponding <iro-list> and <xro-list>. Here Destination 1 has IRO1 and XRO1; Destination 2 has IRO2; and Destination 5 has none. </t>
          <t>
            <figure title="" suppress-title="false" align="left" alt="" width="" height="">
              <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height=""><![CDATA[
                    +-----------------------------+
                    |           Leaf Type         |
                    +-----------------------------+
                    |           Source IP         |
                    +-----------------------------+    
           +------> |         Destination 3       |   <ENDPOINT>
           |        +-----------------------------+
           |    +-> |         Destination 4       |
           |    *   +-----------------------------+
           |    *
           |    *   +-----------------------------+
           +----*-> |             XRO3            |
                *   +-----------------------------+
                *   |            HOPX 3-1         |
                *   +-----------------------------+    
                *   |             ....            |   <XRO-List>
                *   +-----------------------------+   with 2 XRO3, XRO4
                +-> |              XRO4           |
                    +-----------------------------+
                    |            HOPX 4-1         |
                    +-----------------------------+    
                    |             ....            |   
                    +-----------------------------+]]></artwork>
            </figure>
          </t>
          <t>ENDPOINT2 carries destination 3 and 4 and corresponding <xro-list> only. Here destination 3 maps to XRO3 and Destination 4 to XRO4.  </t>
        </section>
      </section>
    </section>
    <section title="IANA Considerations" toc="default">
      <t>TBD</t>
    </section>
    <section title="Security Considerations" toc="default">
      <t>PCEP security mechanisms as described in <xref target="RFC6006"/> and 	<xref target="PCE-P2MP-PROCEDURES"/> are applicable for this document. This document does not add any new security threat. </t>
    </section>
    <section title="Manageability Considerations" toc="default">
      <section title="Control of Function and Policy" toc="default">
        <t>Mechanisms defined in this document do not add any new control function/policy requirements in addition to those already listed in <xref target="RFC6006"/>.</t>
      </section>
      <section title="Information and Data Models" toc="default">
        <t>Mechanisms defined in this document do not imply any new MIB requirements in addition to those already listed in <xref target="PCE-P2MP-MIB"/>.</t>
      </section>
      <section title="Liveness Detection and Monitoring" toc="default">
        <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="RFC6006"/>.</t>
      </section>
      <section title="Verify Correct Operations" toc="default">
        <t>Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in <xref target="RFC6006"/>.</t>
      </section>
      <section title="Requirements On Other Protocols" toc="default">
        <t>Mechanisms defined in this document do not imply any requirements on other protocols in addition to those already listed in <xref target="RFC6006"/>.</t>
      </section>
      <section title="Impact On Network Operations" toc="default">
        <t>Mechanisms defined in this document do not have any impact on network operations in addition to those already listed in <xref target="RFC6006"/>.</t>
      </section>
    </section>
    <section title="Acknowledgments" toc="default">
      <t>We would like to thank Pradeep Shastry,  Suresh babu, Quintin Zhao, Daniel King and Chen Huaimo for their useful comments and suggestions.</t>
    </section>
  </middle>
  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119.xml" ?>
    </references>
    <references title="Informative References">
      <?rfc include="reference.RFC.4655.xml" ?>
      <?rfc include="reference.RFC.5862.xml" ?>
      <?rfc include="reference.RFC.6006.xml" ?>
      <!--PCE-P2MP-PROCEDURES-->
      <reference anchor="PCE-P2MP-PROCEDURES">
        <front>
          <title>PCE-based Computation Procedure To Compute Shortest Constrained P2MP Inter-domain Traffic Engineering Label Switched Paths (draft-ietf-pce-pcep-inter-domain-p2mp-procedures-02)</title>
          <author initials="Q" surname="Zhao" fullname="Zhao Q">
            <organization />
          </author>
          <author initials="D" surname="Dhody" fullname="Dhody D">
            <organization />
          </author>
          <author initials="Z" surname="Ali" fullname="Ali Z">
            <organization />
          </author>
          <author initials="T" surname="Saad," fullname="Saad T">
            <organization />
          </author>
          <author initials="S" surname="Sivabalan," fullname="Sivabalan S">
            <organization />
          </author>
          <author initials="R" surname="Casellas" fullname="Casellas R">
            <organization />
          </author>
          <date month="May" year="2012" />
        </front>
      </reference>      
      <!--PCE-P2MP-MIB-->
      <reference anchor="PCE-P2MP-MIB">
        <front>
          <title>Management Information Base for the PCE Communications Protocol (PCEP) When Requesting Point-to-Multipoint Services (draft-zhao-pce-pcep-p2mp-mib-05)</title>
          <author initials="Q" surname="Zhao" fullname="Zhao Q">
            <organization />
          </author>
          <author initials="D" surname="Dhody" fullname="Dhody D">
            <organization />
          </author>
          <author initials="U" surname="Palle" fullname="Palle U">
            <organization />
          </author>
          <author initials="D" surname="King" fullname="King D">
            <organization />
          </author>
          <date month="August" year="2012" />
        </front>
      </reference>
      <!--DOMAIN-SEQ-->
      <reference anchor="DOMAIN-SEQ">
        <front>
          <title>Standard Representation Of Domain Sequence (draft-ietf-pce-pcep-domain-sequence-01)</title>
          <author initials="D" surname="Dhody" fullname="Dhruv Dhody">
            <organization />
          </author>
          <author initials="U" surname="Palle" fullname="Udayasree Palle">
            <organization />
          </author>
          <author initials="R" surname="Casellas" fullname="Ramon Casellas">
            <organization />
          </author>
          <date month="July" year="2012" />
        </front>
      </reference>      
    </references>
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 01:25:42