Constrained Application Protocol (CoAP) Block-Wise Transfer Options for Faster Transmission
draft-ietf-core-new-block-06

Document Type Active Internet-Draft (core WG)
Authors Mohamed Boucadair  , Jon Shallow 
Last updated 2021-01-19
Replaces draft-bosh-core-new-block
Stream IETF
Intended RFC status (None)
Formats plain text xml pdf htmlized (tools) htmlized bibtex
Additional Resources
- Working Group Repo
- Mailing list discussion
Stream WG state Waiting for WG Chair Go-Ahead
Revised I-D Needed - Issue raised by WGLC
Document shepherd No shepherd assigned
IESG IESG state I-D Exists
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
CORE                                                        M. Boucadair
Internet-Draft                                                    Orange
Intended status: Standards Track                              J. Shallow
Expires: July 23, 2021                                  January 19, 2021

Constrained Application Protocol (CoAP) Block-Wise Transfer Options for
                          Faster Transmission
                      draft-ietf-core-new-block-06

Abstract

   This document specifies alternative Constrained Application Protocol
   (CoAP) Block-Wise transfer options: Q-Block1 and Q-Block2 Options.

   These options are similar to the CoAP Block1 and Block2 Options, not
   a replacement for them, but do enable faster transmission rates for
   large amounts of data with less packet interchanges as well as
   supporting faster recovery should any of the blocks get lost in
   transmission.

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 https://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 July 23, 2021.

Copyright Notice

   Copyright (c) 2021 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
   (https://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

Boucadair & Shallow       Expires July 23, 2021                 [Page 1]
Internet-Draft      Quick Block-Wise Transfer Options       January 2021

   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  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Alternative CoAP Block-Wise Transfer Options  . . . . . .   3
     1.2.  CoAP Response Code (4.08) Usage . . . . . . . . . . . . .   5
     1.3.  Applicability Scope . . . . . . . . . . . . . . . . . . .   5
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   6
   3.  The Q-Block1 and Q-Block2 Options . . . . . . . . . . . . . .   6
     3.1.  Properties of Q-Block1 and Q-Block2 Options . . . . . . .   6
     3.2.  Structure of Q-Block1 and Q-Block2 Options  . . . . . . .   9
     3.3.  Using the Q-Block1 Option . . . . . . . . . . . . . . . .   9
     3.4.  Using the Q-Block2 Option . . . . . . . . . . . . . . . .  13
     3.5.  Using Observe Option  . . . . . . . . . . . . . . . . . .  15
     3.6.  Using Size1 and Size2 Options . . . . . . . . . . . . . .  15
     3.7.  Using Q-Block1 and Q-Block2 Options Together  . . . . . .  15
     3.8.  Using Q-Block2 Option With Multicast  . . . . . . . . . .  16
   4.  The Use of 4.08 (Request Entity Incomplete) Response Code . .  16
   5.  The Use of Tokens . . . . . . . . . . . . . . . . . . . . . .  17
   6.  Congestion Control for Unreliable Transports  . . . . . . . .  18
     6.1.  Confirmable (CON) . . . . . . . . . . . . . . . . . . . .  18
     6.2.  Non-confirmable (NON) . . . . . . . . . . . . . . . . . .  18
   7.  Caching Considerations  . . . . . . . . . . . . . . . . . . .  22
   8.  HTTP-Mapping Considerations . . . . . . . . . . . . . . . . .  23
   9.  Examples with Non-confirmable Messages  . . . . . . . . . . .  23
     9.1.  Q-Block1 Option . . . . . . . . . . . . . . . . . . . . .  23
       9.1.1.  A Simple Example  . . . . . . . . . . . . . . . . . .  23
       9.1.2.  Handling MAX_PAYLOADS Limits  . . . . . . . . . . . .  24
       9.1.3.  Handling MAX_PAYLOADS with Recovery . . . . . . . . .  24
       9.1.4.  Handling Recovery with Failure  . . . . . . . . . . .  26
     9.2.  Q-Block2 Option . . . . . . . . . . . . . . . . . . . . .  26
       9.2.1.  A Simple Example  . . . . . . . . . . . . . . . . . .  27
       9.2.2.  Handling MAX_PAYLOADS Limits  . . . . . . . . . . . .  27
       9.2.3.  Handling MAX_PAYLOADS with Recovery . . . . . . . . .  28
       9.2.4.  Handling Recovery using M-bit Set . . . . . . . . . .  29
     9.3.  Q-Block1 and Q-Block2 Options . . . . . . . . . . . . . .  30
       9.3.1.  A Simple Example  . . . . . . . . . . . . . . . . . .  30
       9.3.2.  Handling MAX_PAYLOADS Limits  . . . . . . . . . . . .  31
Show full document text