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