Cloud Tunneling Protocol (CTP)

Document Type Active Internet-Draft (individual)
Last updated 2017-11-13
Stream (None)
Intended RFC status (None)
Formats plain text pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Internet Engineering Task Force                             P. Romanczyk
Internet-Draft                                               C. Colicino
Intended Status: Standard                                       M. Landi
Expires: May 13, 2018                                         T. Brodsky
                                                       November 13, 2017

                    Cloud Tunneling Protocol (CTP)


    This specification defines operating semantics of the Cloud
    Tunneling Protocol (CTP).  CTP enables a standardized mechanism for
    connecting Internet-of-Things (IoT) devices to hosted cloud
    services.  CTP provides a network efficient means to facilitate
    multiple concurrent data conversations over the same channel by
    providing multiplexed virtual sockets.  The protocol allows for
    services on either endpoint to be advertised and accessible to each
    endpoint of the CTP 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), its areas, and its working groups.  Note that
    other groups may also distribute working documents as Internet-

    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

    The list of Internet-Draft Shadow Directories can be accessed at

    This Internet-Draft will expire on May 13, 2018.

Copyright Notice

   Copyright (c) 2015 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
   ( 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
    1.1   Protocol Overview
    1.2   Definitions of Commonly Used Terms
    2.   Requirements Language
    3.   Encapsulation
    3.1   Frame Header
    3.2   Control Frames
    3.3   Commands and Tags
    3.4   Control Frame Acknowledgements
    4.   Initial Connection
    4.1   Establishment
    4.2   Authentication/Authorization
    4.3   Transport Security
    4.4   Keepalives
    5.   Endpoint Services
    6.   Virtual Sockets
    6.1   Reserved Virtual Sockets
    6.2   Virtual Socket Life-Cycle
    6.3   Virtual Socket Allocation
    7.   IANA Considerations
    7.1   Registration of CTP Identification Strings
    8.   Security Considerations
    8.1   Denial of Service
    8.1.1  Connection Starving
    8.1.2  Zombie TCP/IP Connections
    8.1.3  Zombie CTP Connections
    8.1.4  Data Flooding
    8.2   Command Length Security
    8.3   Label Logic Considerations
    9.   References
    9.1.   Normative References
    9.2.   Informative References
    10.  Appendices
    10.1  Appendix A. Connection Dataflow
    10.2  Appendix B. Virtual Socket Dataflow
    Authors' Addresses
    IPR Disclosure

1.  Introduction

    This document is a specification of the Cloud Tunneling Protocol
    (CTP).  CTP communication normally occurs over a TCP/IP socket
    connection. CTP is an application layer protocol that can multiplex
    multiple TCP/IP [RFC793] sockets over a single connection.  In the
    context of the Internet Suite (TCP/IP), the CTP protocol is located
    above the transport layer and below other application-layer
    protocols.  This protocol describes a method of exposing and
    tunneling multiple services on both the client and server endpoints
    through a single TCP/IP connection. CTP is a departure from standard
    virtual private network (VPN) protocols as it does not define a
    method for accessing network based resources directly.  Instead,
    resources are defined at the CTP application layer and resolved by
    either endpoint as configured.

    The CTP protocol was developed by the CTP working group.  It is
    created to operate specifically for the TCP/IP Internet environment,
    wrapping multiple bi-directional TCP/IP conversations within a
Show full document text