PCE Working Group D. Dhody
Internet-Draft U. Palle
Intended status: Experimental Huawei Technologies India Pvt Ltd
Expires: January 31, 2013 August 2012

Supporting explicit-path per destination in Path Computation Element Communication Protocol (PCEP) P2MP Path Request Message.
draft-dhody-pce-pcep-p2mp-per-destination-02

Abstract

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). [RFC6006] and [PCE-P2MP-PROCEDURES] describes these mechanisms for intra and inter domain environment.

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.

This document describes extensions to the PCE communication Protocol (PCEP) to define explicit-path per destination in P2MP context.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http:/⁠/⁠datatracker.ietf.org/⁠drafts/⁠current/⁠.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on January 31, 2013.

Copyright Notice

Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http:/⁠/⁠trustee.ietf.org/⁠license-⁠info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

The Path Computation Element (PCE) architecture is defined in [RFC4655]. [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.

[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.

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

1.1. Requirements Language

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 [RFC2119].

2. Terminology

The following terminology is used in this document.

Explicit-Path:
Set of network elements configured by the administrator that MUST be traversed or MUST be excluded.
IRO:
Include Route Object.
PCC:
Path Computation Client: any client application requesting a path computation to be performed by a Path Computation Element.
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.
P2MP:
Point-to-Multipoint
P2P:
Point-to-Point
RRO:
Record Route Object
RSVP:
Resource Reservation Protocol
TE LSP:
Traffic Engineering Label Switched Path.
XRO:
Exclude Route Object.

3. Need to Define Explicit Path Per Destination

3.1. Inter Domain P2MP Path Computation

In the Figure 1 below, D1 is the root domain; D5 and D6 are the destination domains.

                  |
                  |  +-------------+                +----------------+
                  |  |D 3          |                |D 6             |
                  |  |         +--+|                |          +--+  |
                  |  |         |  ||                |          |  |  |
                  |  |  +--+   +--+|                |   +--+   +--+  |
                  |  |  |  |       |                |   |  |         |
                  |  |  *--+       |                |   +--+         |
                  |  | /      +--+ |                |          +--+  |
                  |  |/       |  | |                |          |  |  |
                  |  /        +--+ |                |   +--+   +--+  |
                  | /|  +--+       |+--------------+|   |  |         |
                  |/ |  |  |       ++-+          +-++   +--+         |
   +-------------+/  |  +--+       || |          | ||                |
   |             /|  |             ++-+          +-++                |
   |         +--*||  +-------------+|              |+----------------+
   |         |  |||                 |     +--+     |
   |         +--+||                 |     |  |     |
   |    +--+     ||                 |     +--+     |
   |    |  |     ||                 |              |
   |    +--+     ||                 |              |
   |             ||                 |     +--+     |
   |+--+         ||                 |     |  |     |
   ||  |         ||                 |     +--+     |
   |+--+         ||                 |              |
   |             ||                 |     +--+     |
   |    +--+     ||  +------------+ |     |  |     |+----------------+
   |    |  |     ||  |D 2         +-++    +--+   +-++ D 5            |
   |    +--+     ||  |            | ||           | ||                |
   |             ||  |            +-++           +-++                |
   |         +--+||  |       +--+ | |  D 4         ||   +--+         |
   |         |  |||  |       |  | | +--------------+|   |  |         |
   |         +--*||  |       +--+ |                 |   +--+         |
   |             \|  |            |                 |          +--+  |
   |D 1          |\  |   +--+     |                 |   +--+   |  |  |
   +-------------+|\ |   |  |     |                 |   |  |   +--+  |
                  | \|   +--+  +--+                 |   +--+         |
                  |  \         |  |                 |                |
                  |  |\        +--+                 |          +--+  |
                  |  | \ +--+     |                 |          |  |  |
                  |  |  \|  |     |                 |          +--+  |
                  |  |   *--+     |                 |                |
                  |  |            |                 |                |
                  |  +------------+                 +----------------+
                  |
                  |
       As 100     |  AS 200
                  | 

Figure 1: Domain Topology Example

[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 Figure 2 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.

                            D3    D6
                           /  \  /
                          D1   D4
                                 \   
                                  D5         

Figure 2: Domain Sequence Tree

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.

Thus domain-sequence encoded in form IRO (as per [DOMAIN-SEQ]) should be attached to destinations and not attached to full P2MP tree.

3.2. Intra Domain P2MP Path Computation

Administrator at the source can exert stronger control by providing explicit path (include, exclude, loose etc) per destination.

In Figure 3 shows the common path over which a common explicit path in form of IRO and/or XRO can be set.

                                        +---+
                                        | F |
                                       /*---+
                                     //
                                   //
                                 //
                               //
     +---+  +---+  +---+  +---*         +---+
     | A +--+ B +--+ C +--+ D +---------+ E |
     +---+  +---+  +---+  +---*\        +---+
     |                        | \\
     |                        |   \\
     |                        |     \\
     |                        |       \\
     |<-----common path------>|         *---+
     |                        |         | G |
     |                        |         +---+
       Explicit Path Here 

Figure 3: Example

But as shown in Figure 4, 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.

                        +---+           +---+
                        | H |           | F |
                        *---+          /*---+
                      //             //
                    //             //
                   /             //
                 //            //
     +---+  +---*  +---+  +---*         +---+
     | A +--+ B +--+ C +--+ D +---------+ E |
     +---+  +---+  +---*  +---*\        +---+
     |          |       \\      \\
     |          |         \\      \\
     |<-------->|           \\      \\
     | Common   |            \\      \\
     |  path    |               *---+   *---+
     |          |               | I |   | G |
     |          |               +---+   +---+
     |          |
     |          | 

Figure 4: Example

3.3. Backward Compatibility

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.

It makes sense to apply explict path per destination instead of the full P2MP tree.

4. Detailed Description

4.1. Objective

[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’.

Use of <iro-list>, <xro-list> to carry explicit-path per destination in intra-domain scenario.

Use of <iro-list> to carry domain-sequence per destination in inter-domain scenario.

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.

4.2. Request Message Format

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.

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

From [RFC6006] usage of <end-point-rro-pair-list> is changed to <end-point-iro-xro-rro-metric-list> in this document.

Note that the new format is backward compatible to [RFC6006] format.

4.3. Ordering Destinations in END-POINTS Objects

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…

Note that a destination (P2MP tree leaf) MAY have

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.

4.3.1. Example

Destination 1 has include IRO1 and exclude XRO1

Destination 2 has only include IRO2

Destination 3 has only exclude XRO3

Destination 4 has only exclude XRO4

Destination 5 has none

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.

To avoid this we must break the set of destinations into two sets as shown below

	            +-----------------------------+
                    |           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
                    +-----------------------------+    
                    |             ....            |   
                    +-----------------------------+

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.

                    +-----------------------------+
                    |           Leaf Type         |
                    +-----------------------------+
                    |           Source IP         |
                    +-----------------------------+    
           +------> |         Destination 3       |   <ENDPOINT>
           |        +-----------------------------+
           |    +-> |         Destination 4       |
           |    *   +-----------------------------+
           |    *
           |    *   +-----------------------------+
           +----*-> |             XRO3            |
                *   +-----------------------------+
                *   |            HOPX 3-1         |
                *   +-----------------------------+    
                *   |             ....            |   <XRO-List>
                *   +-----------------------------+   with 2 XRO3, XRO4
                +-> |              XRO4           |
                    +-----------------------------+
                    |            HOPX 4-1         |
                    +-----------------------------+    
                    |             ....            |   
                    +-----------------------------+

ENDPOINT2 carries destination 3 and 4 and corresponding <xro-list> only. Here destination 3 maps to XRO3 and Destination 4 to XRO4.

5. IANA Considerations

TBD

6. Security Considerations

PCEP security mechanisms as described in [RFC6006] and [PCE-P2MP-PROCEDURES] are applicable for this document. This document does not add any new security threat.

7. Manageability Considerations

7.1. Control of Function and Policy

Mechanisms defined in this document do not add any new control function/policy requirements in addition to those already listed in [RFC6006].

7.2. Information and Data Models

Mechanisms defined in this document do not imply any new MIB requirements in addition to those already listed in [PCE-P2MP-MIB].

7.3. Liveness Detection and Monitoring

Mechanisms defined in this document do not imply any new liveness detection and monitoring requirements in addition to those already listed in [RFC6006].

7.4. Verify Correct Operations

Mechanisms defined in this document do not imply any new operation verification requirements in addition to those already listed in [RFC6006].

7.5. Requirements On Other Protocols

Mechanisms defined in this document do not imply any requirements on other protocols in addition to those already listed in [RFC6006].

7.6. Impact On Network Operations

Mechanisms defined in this document do not have any impact on network operations in addition to those already listed in [RFC6006].

8. Acknowledgments

We would like to thank Pradeep Shastry, Suresh babu, Quintin Zhao, Daniel King and Chen Huaimo for their useful comments and suggestions.

9. References

9.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

9.2. Informative References

[RFC4655] Farrel, A., Vasseur, J.-P. and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006.
[RFC5862] Yasukawa, S. and A. Farrel, "Path Computation Clients (PCC) - Path Computation Element (PCE) Requirements for Point-to-Multipoint MPLS-TE", RFC 5862, June 2010.
[RFC6006] Zhao, Q., King, D., Verhaeghe, F., Takeda, T., Ali, Z. and J. Meuric, "Extensions to the Path Computation Element Communication Protocol (PCEP) for Point-to-Multipoint Traffic Engineering Label Switched Paths", RFC 6006, September 2010.
[PCE-P2MP-PROCEDURES] Zhao, Q, Dhody, D, Ali, Z, Saad,, T, Sivabalan,, S and R Casellas, "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)", May 2012.
[PCE-P2MP-MIB] Zhao, Q, Dhody, D, Palle, U and D King, "Management Information Base for the PCE Communications Protocol (PCEP) When Requesting Point-to-Multipoint Services (draft-zhao-pce-pcep-p2mp-mib-05)", August 2012.
[DOMAIN-SEQ] Dhody, D, Palle, U and R Casellas, "Standard Representation Of Domain Sequence (draft-ietf-pce-pcep-domain-sequence-01)", July 2012.

Authors' Addresses

Dhruv Dhody Huawei Technologies India Pvt Ltd Leela Palace Bangalore, Karnataka 560008 INDIA EMail: dhruv.dhody@huawei.com
Udayasree Palle Huawei Technologies India Pvt Ltd Leela Palace Bangalore, Karnataka 560008 INDIA EMail: udayasree.palle@huawei.com