Subject: [core] BERT (Block protocol Extension for Reliable Transport)

From: Carsten Bormann <[email-masked]>
Date: Fri, 27 Nov 2015 04:22:38 +0100

In Prague and Yokohama, we had several discussions about the CoAP over
TCP mapping, its larger message size limit (now 64 KiB, compared to
the 1152 bytes we came up with for UDP or DTLS/UDP), and ideas about
extending the Block protocol to make use of that capability.  Göran
has reminded me of the Block protocol today :-), so I quickly wrote up
what I think is a minimal extension to Block for this:

BERT (Block protocol Extension for Reliable Transport)
https://tools.ietf.org/html/draft-bormann-core-block-bert-00

My questions to the WG:
-- do we (CoRE WG) want to do this?
-- does it work for you and your implementation?
-- is is already simple enough*)?
-- any opportunities this proposal misses?

Grüße, Carsten

*) from an implementation point of view, not with respect to
exposition -- but I'm happy to take comments on the latter as well.

Title: Block-wise transfers in CoAP: Extension for Reliable Transport (BERT)

Abstract:
   CoAP (RFC7252) is a RESTful transfer protocol for constrained nodes
   and networks, originally using UDP or DTLS over UDP as its transport.
   Basic CoAP messages work well for the small payloads we expect from
   temperature sensors, light switches, and similar building-automation
   devices.  CoAP's Block protocol (draft-ietf-core-block) allows
   transferring larger payloads over limited-size datagrams -- for
   instance, for firmware updates.

   CoAP over TCP and TLS (draft-ietf-core-tcp-tls) enables the use of
   extended, but not unlimited, size messages.  The present
   specification, Block-wise transfers in CoAP: Extension for Reliable
   Transport (BERT), extends the block protocol in a simple way to be
   able to make use of these larger messages over a reliable transport.