Skip to main content

Shepherd writeup
draft-ietf-core-block

1. Summary

This specification extends the CoAP protocol (RFC 7252) with a pair of
"Block" options to enable the transport of large payloads through
multiple request-response pairs. In constrained environments, these
blockwise transfers have an advantage over fragmentation at lower layers
(e.g., IP), since the server can be truly stateless with no need for a
connection setup or other server-side memory of previous block
transfers. The specification is intended for standards-track, as it is a
widely implemented extension of a standards-track protocol.

Matthias Kovatsch is the document shepherd.
Barry Leiba is the responsible Area Director.

2. Review and Consensus

The specification was developed along with the base CoAP specification
and received significant review by active WG members and implementers.
There were two major discussions while finding concensus: One concerned
an interoperability issue that occured in early test events was tracked
down to the interaction between the Block options and the Token. The
issue was fixed in version -08 and editorial clarification added in -16.
The other discussion circled around the possible combinations of the
Block1 and Block2 options as well as the combination of Block2 and
Observe. The proposal for server-side "Initiative," where the server is
responsible for managing the transfer of Block2 messages after a
block-wise request (Block1) or a notification (Observe), was dropped in
favor of normal client-driven transfers with a clear definition of the
message sequence. Version -13 added the corresponding text and
sufficient examples for implementers.

Several implementations of this final version have completed an
interoperability test event with a very good score. Further implementer
feedback also was positive.

3. Intellectual Property

There is no IPR disclosure referencing this document.  The authors have
indicated recently that they are not aware of patent claims relating to
this document.

4. Other Points

This document references draft-ietf-core-observe, which is currently in
the RFC Editor queue. The intention is to define the combination of the
Block and Observe options solely in this document,
draft-ietf-core-block.

There is currently a discussion in the WG to use one of the reserved
values in the Block option to provide an optimized mechanism for
reliable, stream-based transports such as TCP. This change will have no
impact on datagram-based transports, which is the target of this
document.
Back