Constrained Application Protocol (CoAP) Block-Wise Transfer Options for Faster Transmission
draft-ietf-core-new-block-06
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