TOC 
Network Working GroupX. Fu
Internet-DraftY. Bao
Intended status: InformationalZTE Corporation
Expires: September 2, 2010Y. Zhao
 J. Zhang
 BUPT
 March 01, 2010


A Dual-end Recursive PCE-based Computation (DRPC) Procedure to Compute Shortest Constrained Inter-domain Traffic Engineering Label Switched Paths
draft-fuxh-pce-drpc-00

Abstract

A dual-end recursive PCE-based computation procedure (DRPC) is proposed to compute shortest constrained inter-domain traffic engineering label switched paths based on BRPC in Multi-protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) networks. Path computation is launched at the source PCE and the destination PCE simultaneously. Then two shortest path graphs are generated at the middle PCE, which are stitched into a shortest path directional graph last. Therefore, the end-to-end constrained inter-domain traffic engineering label switched path, even k shortest paths can be gained from the shortest path directional graph directly.

Status of this Memo

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

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts.

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

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire on September 2, 2010.

Copyright Notice

Copyright (c) 2010 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 BSD License.



Table of Contents

1.  Introduction
    1.1.  Conventions Used in This Document
2.  Terminologies
3.  General Assumptions
4.  DRPC Procedure
    4.1.  PCE Sequence Selection Approaches
    4.2.  DRPC Procedure
5.  PCEP Protocol Extension Requirements
6.  VSPG Encoding
7.  DRPC Procedure Failures
8.  Path Computation Failures
9.  Security Considerations
10.  IANA Consideration
    10.1.  New Flags Of The RP Object
    10.2.  New Error-Type And Error-Value
    10.3.  New Flag Of The NO-PATH-VECTOR TLV
11.  Acknowledgments
12.  Normative References
§  Authors' Addresses




 TOC 

1.  Introduction

With regards to the constraint-based shortest path computation in Multi-protocol Label Switching (MPLS) and Generalized MPLS (GMPLS) multi-layer and multi-region networks, IETF groups propose the architecture of Path Computation Element (PCE) [RFC4655]. As an important approach of path computation in PCE architecture, backward recursive PCE-based computation (BRPC) procedure can gain a shortest path tree along the direction from the destination node to the source node, and then get an end-to-end shortest path [RFC5441]. During the procedure of BRPC, a PCE sequence should be pre-determined. Recently, a hierarchical PCE architecture is designed to determine the PCE sequence needed in BRPC procedure [I-D.ietf-pce-hierarchy-fwk]. However, when there is a large number of PCEs in the predetermined PCE sequence, the path computation time may be long for the customer, and the long PCE chain is more vulnerable. A dual-end recursive PCE-based computation procedure (DRPC) is proposed to compute shortest constrained inter-domain traffic engineering label switched paths. Path computation is launched at the source PCE and the destination PCE simultaneously. Then two shortest path graphs are generated at the middle PCE, which are stitched into a shortest path directional graph last. Therefore, the end-to-end constrained inter-domain traffic engineering label switched path, even the k shortest paths can be gained from the shortest path directional graph directly. Only the differences from RFC5441 are listed here, the overlapped comment all inherit the corresponding terms in RFC5441, such as section 7, 8, 10, 11, 13, 14, 16, and so on.



 TOC 

1.1.  Conventions Used in This Document

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] (Bradner, S., “Key words for use in RFC's to Indicate Requirement Levels,” March 1997.).



 TOC 

2.  Terminologies

ABR: Area Border Routers. Routers used to connect two IGP areas (areas in OSPF or levels in IS-IS).

ASBR: Autonomous System Border Routers. Routers used to connect together ASes of the same or different Service Providers via one or more Inter-AS links.

Boundary Node (BN): a boundary node is either an ABR in the context of inter-area Traffic Engineering or an ASBR in the context of inter-AS Traffic Engineering.

Entry BN of domain (n): a BN connecting domain (n-1) to domain (n) along a determined sequence of domains.

Exit BN of domain (n): a BN connecting domain (n) to domain (n+1) along a determined sequence of domains.

Inter-AS TE LSP: A TE LSP that crosses an AS boundary. Inter-area TE LSP: A TE LSP that crosses an IGP area boundary.

LSR: Label Switching Router.

LSP: Label Switched Path.

PCC: Path Computation Client. Any client application requesting a path computation to be performed by the 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.

PCE(i): a PCE with the scope of domain (i).

TED: Traffic Engineering Database.

VSPT: Virtual Shortest Path Tree.

VSPG: Virtual Shortest Path Graph.



 TOC 

3.  General Assumptions

In the rest of this document, we make the following set of assumptions common to inter-area and inter-AS MPLS TE, which are same to the assumptions of [RFC 5441].



 TOC 

4.  DRPC Procedure



 TOC 

4.1.  PCE Sequence Selection Approaches

A PCE sequence has to be predetermined before DRPC procedure is launched, which corresponds to domain path selection. With regards to the problem, a hierarchical PCE architecture is proposed [I-D.ietf-pce-hierarchy-fwk]. In the hierarchical PCE architecture, a Parent (hierarchical) PCE maintains a domain topology map. The domain topology map contains the domains and their interconnections, but has no information about the contents of the domains.

Each domain has a PCE responsible for computing paths across it. These PCEs are known as Child PCEs and have a relationship with the Parent PCE. Each Child PCE also knows the identity of the domains that borders on its own domain.

The Parent PCE learns from configuration or from each Child PCE how the domains are interconnected including the traffic engineering (TE) capabilities of domain interconnections, but does not know the contents of the domains.

When the ingress PCE receives a path compuation request from the source node, and the destination is outside of the ingress domain, the ingress PCE will send a PCEP request to the parent PCE. The parent PCE computes a domain path based on the current domain topology. The Parent PCE selects candidate domain paths; it then sends computation requests and the PCE sequence information to the source PCE and the destination PCE on the PCE sequence.



 TOC 

4.2.  DRPC Procedure

Different from BRPC, when there is a path computation request arriving and the PCE sequence which will take part in the path computation has been fixed, DRPC will launch the path computation from dual-end PCE to the middle PCE. According to the path computation request, the source PCE sparks the path computaion to the Entry BN of the middle domain. while, the destination PCE sparks the path computation to the the Entry BN of the domain next to the middle domain. When the middle PCE receives the two messages which contain the two virtual shortest path graphs (VSPG) at the root of the source node and the destination node respectively, the middle PCE will stitch the two VSPGs into one complete shortest path directional graph. At last, the shortest path or k shortest paths will be selected from the shortest path directional graph by the middle PCE according to some strategies and transferred to the source node through the source PCE. Similar with BRPC, a pre-determined PCE sequence should also be designated before DRPC.

The VSPG referred above is defined as follows.

VSPG consists of multi shortest paths from the same node to other multi nodes. In each domain i:

VSPG (0, i) is the shortest path directional graph returned by PCE (i) to PCE (i+1) along the direction from the source PCE to the destination PCE, which consists of multi shortest paths from the source node to multi BNs, as shown in Fig.1. PCE (i) stitches the shortest path directional graph returned from the upstream PCE and the part shortest path directional graph computed by the local PCE into a new shortest path directional graph from the source node to the entry BNs of the next domain. PCE(i) transfers the new shortest path directional graph to the downstream PCE with the path computation request. The non-shortest paths are deleted during the path computation process.




       Root(TE LSP source)
          /     |     \
         /	|      \
        /	|       \
       /	|        \
      /         |         \
BN-en(1,i+1)BN-en(2,i+1)...BN-en(j,i+1)
 Figure 1: Forward shortest path graph 

VSPG (1, i) is the shortest path directional graph returned by PCE (i) to PCE (i-1) along the direction from the destination PCE to the source PCE, which consists of multi shortest paths from the destination node to multi BNs, as shown in Fig.2. PCE (i) stitches the shortest path directional graph returned from the downstream PCE and the part shortest path directional graph computed by the local PCE into a new shortest path directional graph from the destination node to the exit BNs of the former domain. PCE(i) transfers the new shortest path directional graph to the upstream PCE with the path computation request. The non-shortest paths are deleted during the path computation process.




       Root(TE LSP destination)
          /     |     \
         /	|      \
        /	|       \
       /	|        \
      /         |         \
BN-en(1,i)  BN-en(2,i)...BN-en(j,i)
 Figure 2: Backward shortest path graph 

Where [X-en(i)] is the number of entry BNs in domain i and j no large than [X-en(i)].

VSPG=VSPG(0,i)+VSPG(1,i) is the shortest path directional graph from the source node to the destination node stitched by the two shortest path directional graph gained above. The former represents the shortest path directional graph computed from source node to the Entry BN of the middle domain, and the later represents the shortest path directional graph computed from destination PCE to the Entry BN of the middle domain. Or the former represents the shortest path directional graph computed from source node to the Entry BN of the domain next to the middle domain, and the later represents the shortest path directional graph computed from destination PCE to the Entry BN of the domain next to the middle domain. In the first case, the middle PCE completes the VSPG(0,i) including the path computation in the local domain, and then stitched the two shortest path directional graphs together. In the second case, the middle PCE completes the VSPG(1,i) including the path computation in the local domain, and then stitched the two shortest path directional graphs together. At last, the shortest path directional graph from the source node to the destination node is generated as shown in Fig.3.

Each link of VSPG (0, i) represents the shortest constrained path TE LSP between BN-en(j, i+1) and the source node, which satisfies a set of constraints considering TE LSP, such as bandwidth and attributes. These are path segments to reach the source node from BN-en (j, i+1).

Similarly, each link of VSPG (1, i) represents the shortest constrained path TE LSP between BN-en(j, i) and the destination node, which satisfies a set of constraints considering TE LSP, such as bandwidth and attributes. These are path segments to reach the destination node from BN-en (j, i).




	  Root(TE LSP source)
            /        \
	   /          \
	  /            \
      BN-en(1,i-1)...BN-en(j',i-1)
      /    \      \  /  /   \
     /      \      /\  /     \
    /        \   /    X       \
   /          X      /  \      \
  /        /   \    /     \     \
BN-en(1,i) BN-en(2,i)...BN-en(j,i)
  \      \    /  \      /  \
   \       \ /    \   /     \
    \       /\     \/        \
     \     /   \  / \         \
      \   /     /\   \         \
       \ /    /    \  \         \
     BN-en(1,i+1)...BN-en(j'',i+1)
            \           /
             \         /
              \       /
	Root(TE LSP destination)
 Figure 3: Shortest path directional graph from source node to destination node 



 TOC 

5.  PCEP Protocol Extension Requirements

The two different DRPC procedures require the specification of new flags of the RP object carried within the PCReq message to specify that the shortest paths satisfying the constraints from the destination to the set of entry boundary nodes or from the source to the set of entry boundary nodes are requested.

The following new flags of the RP object is defined:

  VSPG        Flags

  Bit Number  Name Flag

  23          VSPG

  24          0: from source PCE to middle PCE

              1: from destination PCE to middle PCE

              Bit 24 is valid under the assumption that bit 23 is valid

When set, the VSPG Flags indicates that the PCC requests the computation of an inter-domain TE LSP using the DRPC procedure defined in this document.

Because path segments computed by the two end PCEs in the context of the DRPC procedure must be provided along with their respective path costs, the C flag of the METRIC object carried within the PCReq message must be set. It is the choice of the requester to appropriately set the O bit of the RP object.



 TOC 

6.  VSPG Encoding

VSPG encoding objects must be contained in the PCRep request messages, which consist of a non-ordered list of EROs where each ERO represents a path segment from a BN to the destination node or the source node specified in the END-POINT object of the corresponding PCReq message. Different from VSPT encoding in RFC5441, there are two kinds of objects in VSPG encoding, which are the path segment object from the BNs to the source, and the path segment object from the BNs to the destination. Besides, some nodes can appear twice in the two objects.

As shown in Fig.4, along the direction from the source node to the destination node, when PCE1 completes the path computation in the local domain, three forward non-ordered EROs are transferred to PCE2. The three EROs are as follows:




	PCE1		  PCE2		    PCE3
-------area1-------|------area2-------|-----area3------
	---A---B---ABRen2-1	ABRen3-1---E---
	|		|	   |	      |
	S----C-----ABRen2-2	ABRen3-2------D
	|		|	   |	      |
	-----------ABRen2-3	ABRen3-3--F-G--
 Figure 4: An Example of VSPG Encoding Using a Set of EROs 

Along the direction from the destination node to the source node, when PCE3 completes the path computation in the local domain, three backward non-ordered EROs are transferred to PCE2. The three EROs are as follows:



 TOC 

7.  DRPC Procedure Failures

If the DRPC procedure cannot be completed because a PCE along the domain does not recognize the procedure (VSPG flag of the RP object), the PCE sends a PCErr message to the parent PCE with an Error-Type=4 (not supported object), Error-value-4 (Unsupported parameter). Then the parent PCE sends the failure message to the other PCEs along the PCE chain. The corresponding path computation request is then cancelled by the PCE without further notification. The PCErr message must be relayed to the requesting PCC by the source PCE.

PCEP-ERROR objects are used to report a PCEP protocol error and are characterized by an Error-Type which specifies the type of error and an Error-value that provides additional information about the error type. Both the Error-Type and the Error-Value are managed by IANA. A new Error-Type and the corresponding error value are defined here.

  Error-type    Meaning

  14            DRPC procedure completion failure

                Error-value

                1: DRPC procedure not supported by one or more PCEs along the domain path



 TOC 

8.  Path Computation Failures

If a PCE requires to relay a path computation request according to the DRPC procedure defined in this document to a downstream PCE and no such PCE is available, the PCE MUST cancel all the procedures of path computation on all the other PCEs along the PCE chain through the parent PCE, and send a path computation reply to the PCC using a PCReq message that contains a NO-PATH object. In such case, the NO-PATH object MUST carry a NO-PATH-VECTOR TLV with the newly defined bit named "DRPC Path Computation chain unavailable" set.

Different from BRPC, bit 5 is defined here.

  Bit number    Name Flag

  5             DRPC Path computation chain unavailable



 TOC 

9.  Security Considerations

TBD.



 TOC 

10.  IANA Consideration



 TOC 

10.1.  New Flags Of The RP Object

A new flag of the RP object is defined in this document, which contains 2 bits.

  VSPG        Flags

  Bit Number  Name Flag                               Reference

  23          VSPG

  24          0: from source PCE to middle PCE        this document

              1: from destination PCE to middle PCE

              Bit 24 is valid under the assumption that bit 23 is valid



 TOC 

10.2.  New Error-Type And Error-Value

A new Error-Type is defined in this document (Error-Type and Error-value to be assigned by IANA).

  Error-type    Meaning                               Reference

  14            DRPC procedure completion failure     this document

                Error-value

                1: DRPC procedure not supported by one or more PCEs along the domain path



 TOC 

10.3.  New Flag Of The NO-PATH-VECTOR TLV

A new flag of the NO-PATH-VECTOR TLV defined in is specified in this document.

  Bit number    Name Flag                               Reference

  5             DRPC Path computation chain unavailable this document



 TOC 

11.  Acknowledgments

The RFC text was produced using Marshall Rose's xml2rfc tool.



 TOC 

12. Normative References

[I-D.ietf-pce-hierarchy-fwk] King, D. and A. Farrel, “The Application of the Path Computation Element Architecture to the Determination of a Sequence of Domains in MPLS & GMPLS,” December 2009.
[RFC2119] Bradner, S., “Key words for use in RFC's to Indicate Requirement Levels,” RFC 2119, March 1997.
[RFC4665] Farrel, A., Vasseur, J., and J. Ash, “A Path Computation Element (PCE)-Based Architecture,” RFC 4655, August 2006.
[RFC5441] Vasseur, J., Zhang, R., Bitar, N., and JL. Le Roux, “A Path Computation Element (PCE)-Based Architecture,” RFC 5441, April 2009.


 TOC 

Authors' Addresses

  Xihua Fu
  ZTE Corporation
  West District,ZTE Plaza,No.10,Tangyan South Road,Gaoxin District
  Xi An 710065
  P.R.China
Phone:  +8613798412242
Email:  fu.xihua@zte.com.cn
URI:  http://wwwen.zte.com.cn/
  
  Yuanlin Bao
  ZTE Corporation
  5F,R&D Building 3, ZTE Industrial Park, XiLi LiuXian Road
  Nanshan District,Shenzhen 518055
  P.R.China
Phone:  +86 755 26773731
Email:  bao.yuanlin@zte.com.cn
URI:  http://wwwen.zte.com.cn/
  
  Yongli Zhao
  BUPT
  No.10,Xitucheng Road,Haidian District
  Beijing 100876
  P.R.China
Phone:  +8613811761857
Email:  yufengx386@gmail.com
URI:  http://www.bupt.edu.cn/
  
  Jie Zhang
  BUPT
  No.10,Xitucheng Road,Haidian District
  Beijing 100876
  P.R.China
Phone:  +8613911060930
Email:  lgr24@bupt.edu.cn
URI:  http://www.bupt.edu.cn/