PCE WG                                                       Fangwei. Hu
Internet-Draft                                                 Ran. Chen
Intended status: Standards Track                         ZTE Corporation
Expires: June 15, 2017                                 December 12, 2016


                       PCE auxiliary connections
               draft-hu-pce-auxiliary-connections-00.txt

Abstract

   This document provides a method to establish auxiliary connections
   between PCE and PCC to improve the reliability of the connection of
   PCE and PCC.  The real-time sample data and some state report flow
   are suggestion to transport by take use of the auxiliary connection.

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 June 15, 2017.

Copyright Notice

   Copyright (c) 2016 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.




Hu & Chen                 Expires June 15, 2017                 [Page 1]


Internet-Draft            Auxiliary Connections            December 2016


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions Used in This Document . . . . . . . . . . . . . .   3
     2.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
     2.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  New Functions to Support auxiliary connections  . . . . . . .   3
   4.  Overview of Protocol Extensions . . . . . . . . . . . . . . .   3
     4.1.  Auxiliary-Connections-Capability-TLV  . . . . . . . . . .   3
     4.2.  Capability Advertisement  . . . . . . . . . . . . . . . .   5
     4.3.  Initialization Phase  . . . . . . . . . . . . . . . . . .   5
     4.4.  Termination of the Auxiliary Connections PCEP Session . .   7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   8.  Informative References  . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   The Path Computation Element Protocol (PCEP) defined in [RFC5440] is
   used between a Path Computation Element (PCE) and a Path Computation
   Client (PCC) (or other PCE) to enable computation of Multi-protocol
   Label Switching (MPLS) for Traffic Engineering Label Switched Path
   (TE LSP).

   PCEP is a recommendation south-bound interface protocol, and PCE acts
   as a controller, and PCCs are the SDN switch being managed by PCE.
   The PCC should report the link state and flow statistics in the SDN
   environment.  The data going through the PCEP channel may be very
   huge.  The PCEP session and the TCP connection may be occupied by the
   flow sample and be congested for the PCEP packet.  So it is important
   to improve the reliability of the PCE and the connection between PCE
   and PCC.

   This document provides to establish auxiliary connections between PCE
   and PCC to improve the reliability of the connection of PCE and PCC.
   The real-time sample data and some state report flow are suggestion
   to transport by take use of the auxiliary connection.  And the
   original connection (we name it main connection) are used to
   transport the PCEP protocol message (such as PCE PCReq message, PCRep
   message, PCRpt message, PCUpd mesage, PCInitiate message
   ,etc.)([RFC5440], [I-D.ietf-pce-stateful-pce],
   [I-D.ietf-pce-pce-initiated-lsp]).







Hu & Chen                 Expires June 15, 2017                 [Page 2]


Internet-Draft            Auxiliary Connections            December 2016


2.  Conventions Used in This Document

2.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.2.  Terminology

   This document uses the following terms defined in ([RFC5440]:PCC,
   PCE, PCEP Peer.

   The following terms are defined in this document:

   Main connection: The PCEP session between PCE and PCC peer.  It is
   defined in [RFC5440].  It is renamed as main connection in this
   document.

   Auxiliary connection: the addition connection session beyond the main
   connection.  It is used to improve the reliability of main
   connection.

3.  New Functions to Support auxiliary connections

   A new function is required in PCEP to support auxiliary connections.
   A function can be initiated either from a PCC towards a PCE (C-E) or
   from a PCE towards a PCC (E-C).  The new function is:

   Capability advertisement (E-C, C-E): both the PCC and the PCE must
   announce during PCEP session establishment that they support
   auxiliary connection defined in this document.

4.  Overview of Protocol Extensions

4.1.  Auxiliary-Connections-Capability-TLV















Hu & Chen                 Expires June 15, 2017                 [Page 3]


Internet-Draft            Auxiliary Connections            December 2016


     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[TBD]           |         Length               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Auxiliary Connections number  |            Res               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ \
     |  Auxiliary Connection1 ID      |         Length               |  |
     +--------------------------------+------------------------------+   > Auxiliary
     |   transport protocol           |         port number          |  | Connetction 1
     +--------------------------------+------------------------------+  |
     |                          option                               |  /
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  \
     |  Auxiliary Connection2 ID      |         Length               |   |
     +--------------------------------+------------------------------+   |
     |   transport protocol           |         port number          |    >  Auxiliary
     +--------------------------------+------------------------------+   | Connetction 2
     |                          option                               |   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  /
                   Figure 1 Auxiliary-Connections-Capability-TLV

   o  Type:

   o  Length: the whole length of TLV

   o  Auxiliary Connections number: the record number of auxiliary
      connections.

   o  Res: reserve for future use.

   o  Auxiliary Connection ID: the identifier of the auxiliary
      connection.

   o  Length:the length for the auxiliary connection.

   o  transport protocol: the transport protocol for the auxiliary
      connection.  The value is as following:

   o  TCP 1;

   o  UDP 2;

   o  TLS 3;

   o  DTLS 4;

   o  port number: port number used for the transport protocol in the
      auxiliary connection.



Hu & Chen                 Expires June 15, 2017                 [Page 4]


Internet-Draft            Auxiliary Connections            December 2016


   o  Option: Optional data.  The extra optional data is filled in the
      filled.  For example, if the transport protocol is TLS, the secret
      key is filled in the field.

4.2.  Capability Advertisement

   During PCEP Initialization Phase, PCEP Speakers (PCE or PCC)
   advertise their support auxiliary connections.  A PCEP Speaker
   includes the " Auxiliary-Connections-Capability" TLV, described in
   Section 5.1, in the OPEN Object to advertise its support for
   auxiliary connections.  The Auxiliary Connections Capability TLV
   includes the auxiliary connection parameters.

   The presence of the auxiliary connection Capability TLV in PCC's OPEN
   Object indicates that the PCC is willing to establish auxiliary
   connection with PCE.

   The presence of the auxiliary connection Capability TLV in PCE's OPEN
   message indicates that the PCE is willing to establish auxiliary
   connection with PCC.

4.3.  Initialization Phase

   The PCE peer must not initiate auxiliary connection before having
   completed the connection setup overthe main connection; it must setup
   and maintain auxiliary connections with the PCE peer only while the
   corresponding main connection is alive.  The connection setup for
   auxiliary connections is the same as for the main connection.  The
   procedure of auxiliary connection is as following:

   PCC sends OPEN message to initiate the main connection.  The
   auxiliary connections capability is filled in the OPEN object and
   carried in the OPEN message.

   PCE sends OPEN message to PCC carring the auxiliary connections
   capability in the OPEN message too.

   After receiving the OPEN message from PCE, PCC establishes PCEP
   session, and sends the keepalive message to enable the keepalive
   mechanism.  The keepalive message is transported relying on the main
   connection.  If one end of the main connection session receives no
   message before the DeadTimer expires, it declares the session dead.

   Once the main connection session and the transport connection for the
   auxiliary connection are established, the PCC and PCE initiatet the
   auxiliary connections PCEP session establishment.





Hu & Chen                 Expires June 15, 2017                 [Page 5]


Internet-Draft            Auxiliary Connections            December 2016


   After receiving the OPEN message from the PCEP peer, the other PCEP
   peer establishes PCEP session, and sends the keepalive message to
   enable the keepalive mechanism.  The keepalive message is transported
   relying on the auxiliary connection.  If one end of the auxiliary
   connection session receives no message before the DeadTimer expires,
   it declares the session dead and close the auxiliary connection.  If
   the PCEP peer notices that the main connection session is dead, the
   auxiliary connection will be closed.

                         +-+-+                     +-+-+
                         |PCC|                     |PCE|
                         +-+-+                     +-+-+
                           |                         |
                           |     Open msg(C->E,      |
                           |      Main Connection)   |
                           |------------------------>|
                           |                         |
                           |                         |
                           |     Open msg(E->C,      |
                           |      Main Connection)   |
                           |<------------------------|
                           |                         |
                           |       Keepalive         |
                           |     (Main Connection)   |
                           |------------------------>|
                           |                         |
                           |       Keepalive         |
                           |     (Main Connection)   |
                           |<------------------------|
                           |                         |
                           |     Open msg(C->E,      |
                           |  auxiliary Connection)  |
                           |------------------------>|
                           |                         |
                           |     Open msg(E->C,      |
                           |      Main Connection)   |
                           |<------------------------|
                           |       Keepalive         |
                           | (auxiliary Connection)  |
                           |------------------------>|
                           |                         |
                           |       Keepalive         |
                           | (auxiliary Connection)  |
                           |<------------------------|

                            Figure 2 Initialization Phase





Hu & Chen                 Expires June 15, 2017                 [Page 6]


Internet-Draft            Auxiliary Connections            December 2016


4.4.  Termination of the Auxiliary Connections PCEP Session

   The termination of the auxiliary connections PCEP session could be
   triggered by the close of main connection or the auxiliary
   connection's PCEP peer itself.

   If PCC desires to close the main connection, PCC sends the close
   message to PCE.  When PCE receives the close message, it closes all
   the auxiliary connections with the PCC firstly, then clears all the
   states related to pending requests previously sent to the PCC and
   closes the main connection.  The procedure is described in figure 2.

   Similarly, if the PCE desires to close the main connection, The PCC
   close all the auxiliary connections with the PCE firstly, then clears
   all the states related to pending requests previously sent to the PCE
   and closes the main connection.


            +-+-+                     +-+-+
            |PCC|                     |PCE|
            +-+-+                     +-+-+
              |                         |
              |     Close msg(C->E,     |
              |      Main Connection)   |
              |------------------------>|
              |                         |
              |                         | 1)Close message received
              |                         |
              |                         | 2)Close auxliary connection
              |                         |
              |                         | 3)Close main connection

                Figure 3 Close Main Connection


   When one of the PCEP peers desires to terminate an auxiliary
   connection PCEP session, it first sends a PCEP Close message based on
   the auxiliary connection and then closes the TCP connection.

   If the PCEP session is terminated by the PCE, the PCC clears all the
   states related to auxiliary connection pending requests previously
   sent to the PCE.

   Similarly, if the PCC terminates a PCEP session, the PCE clears all
   auxiliary connection pending path computation requests sent by the
   PCC in question as well as the related states.  Figure 3 shows the
   procedure.




Hu & Chen                 Expires June 15, 2017                 [Page 7]


Internet-Draft            Auxiliary Connections            December 2016


            +-+-+                     +-+-+
            |PCC|                     |PCE|
            +-+-+                     +-+-+
              |                         |
              |     Close msg(C->E,     |
              | auxiliary Connection)   |
              |------------------------>|
              |                         |
              |                         |
              |                         | 1)Close message received
              |                         |
              |                         | 2)Close auxliary connection
              |                         |
              |                         |

               Figure 4  Close Auxliary Connection


5.  Security Considerations

   TBD

6.  IANA Considerations

   There is no need additional IANA allocation for this document.

7.  Acknowledgements

   TBD.

8.  Informative References

   [I-D.ietf-pce-pce-initiated-lsp]
              Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP
              Extensions for PCE-initiated LSP Setup in a Stateful PCE
              Model", draft-ietf-pce-pce-initiated-lsp-07 (work in
              progress), July 2016.

   [I-D.ietf-pce-stateful-pce]
              Crabbe, E., Minei, I., Medved, J., and R. Varga, "PCEP
              Extensions for Stateful PCE", draft-ietf-pce-stateful-
              pce-18 (work in progress), December 2016.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.




Hu & Chen                 Expires June 15, 2017                 [Page 8]


Internet-Draft            Auxiliary Connections            December 2016


   [RFC5440]  Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
              Element (PCE) Communication Protocol (PCEP)", RFC 5440,
              DOI 10.17487/RFC5440, March 2009,
              <http://www.rfc-editor.org/info/rfc5440>.

Authors' Addresses

   Fangwei Hu
   ZTE Corporation
   No.889 Bibo Rd
   Shanghai  201203
   China

   Phone: +86 21 68896273
   Email: hu.fangwei@zte.com.cn


   Ran Chen
   ZTE Corporation
   No.50 Software Avenue,Yuhuatai District
   Nanjing, Jiangsu Province  210012
   China

   Phone: +86 025 88014636
   Email: chen.ran@zte.com.cn


























Hu & Chen                 Expires June 15, 2017                 [Page 9]