[core] CoAP over TCP

Guido Moritz <guido.moritz@uni-rostock.de> Thu, 15 March 2012 09:40 UTC

Return-Path: <prvs=2421D579C1=guido.moritz@uni-rostock.de>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id E575D21F8685 for <core@ietfa.amsl.com>; Thu, 15 Mar 2012 02:40:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.641
X-Spam-Status: No, score=-2.641 tagged_above=-999 required=5 tests=[AWL=0.608, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id aGoyjrcYcDBg for <core@ietfa.amsl.com>; Thu, 15 Mar 2012 02:40:10 -0700 (PDT)
Received: from mailrelay1.uni-rostock.de (mailrelay1.uni-rostock.de []) by ietfa.amsl.com (Postfix) with ESMTP id 0BB7121F866E for <core@ietf.org>; Thu, 15 Mar 2012 02:40:10 -0700 (PDT)
From: Guido Moritz <guido.moritz@uni-rostock.de>
To: 'core' <core@ietf.org>
Date: Thu, 15 Mar 2012 10:40:09 +0100
Message-ID: <001801cd028f$9cce0a20$d66a1e60$@uni-rostock.de>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: Ac0CjtieSSb6HX2/TFaeC6NFnGOoYQ==
Content-Language: de
X-Originating-IP: []
Subject: [core] CoAP over TCP
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/core>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 15 Mar 2012 09:40:11 -0000

Dear WG,

as stated in the current CoAP draft TCP as transport is out of scope.
Nevertheless, has anybody ever tried to use CoAP over TCP? We would be very
interested in the experiences and problems!

We have to use CoAP over TCP, because TCP and TLS are required by a specific
security profile we are implementing. The security profile is independent
from CoAP itself, but TCP and TLS are mandatory. So what we are trying to
realize is a persistent TCP connection to have the handshakes etc. only one
time at the startup of the connection. 

At a first glance, the major issue we identified is the missing length
information for the packet size when using TCP instead of UDP. The solutions
we came up with are either (1) a new length option for CoAP similar to HTTP
or (2) use blocking to indicate if for this request more payload will be
send or if this is the last packet. At (2) we are not sure if a sender can
indicate for small payload which fits into one packet that the first block
is also the last.

Has anybody on the list comments or further experiences. It might already
have been discussed somewhere, but then I have missed this discussion.