Document Shepherd: Marco Tiloca <email@example.com>
Area Director: Francesca Palombini <firstname.lastname@example.org>
The document defines two new options for the Constrained Application Protocol (CoAP), namely Q-Block1 and Q-Block2. The two options enable effective block-wise transfers of large data payload, also under network conditions where asymmetrical transient packet loss may be experienced.
The main use case addressed by this document is a network under Distributed Denial of Service (DDoS) attack, where DDoS mitigation agents are still required to exchange large amount of data using CoAP. This use case is especially targeted in the DOTS Working Group, where the use of the two new options is suggested in its DOTS Telemetry, see https://datatracker.ietf.org/doc/draft-ietf-dots-telemetry/
Compared to the similar options Block1 and Block2 defined in RFC 7959 --- which are based on synchronous, lock-step exchanges of blocks, and thus can be ineffective or even prohibitive to use under a DDoS situation --- the new options enable faster transmission rates with less packet interchanges, as well as faster recovery of lost blocks.
The document also defines congestion control procedures to be used when the Q-Block1 and Q-Block2 Options are used over an unreliable transport.
The document is intended for Standards Track.
Version -11 addressed a Last Call review from GenART.
Version -12 addressed a Last Call review from TSVART, a Telechat review from IOTDIR, as well as a number of reviews from the IESG.
Supplementary material about testing/evaluation methodology and reports from DOTS interops has also been provided at https://github.com/core-wg/new-block/blob/master/testing%20methodology.md
### Review and Consensus
The document has been discussed on multiple IETF meetings and CoRE interim meetings, and has gone through multiple expert reviews.
During and after Working Group Last Call, effort was also put in better reflecting how design choices align with the intended scope of the document, i.e. to serve especially use cases with asymmetrical transient packet loss and particularly the DOTS Telemetry, see https://datatracker.ietf.org/doc/html/rfc8782 and https://datatracker.ietf.org/doc/draft-ietf-dots-telemetry/
Consensus has been reached on the scope, content and level of detail of the document.
### Intellectual Property
Each author has stated that they do not have direct, personal knowledge of any IPR related to this document. I am not aware of any IPR discussion about this document on the CoRE WG.
### Other Points
The document registers:
* Two new option numbers in the "CoAP Option Numbers" sub-registry, within the "Constrained RESTful Environments (CoRE) Parameters" registry.
* One new Media-Type in the "Media Types" registry.
* One new related CoAP Content-Format in the "CoAP Content-Formats" sub-registry, within the "Constrained RESTful Environments (CoRE) Parameters" registry.
A Pull-Request of an author's implementation to "libcoap" is available at https://github.com/obgm/libcoap/pull/611
Feedback from the implementation activity has contributed to the design and refinement of specific aspects, notably:
- Limiting new mechanics for congestion control only to CoAP Non-Confirmable messages.
- Not mixing CoAP Confirmable and Non-Confirmable messages for a same request/response body.
- The 'Continue' indication of successfully received blocks.
- The discovery of server support for the Q-Block1 and Q-Block2 Options.
- Further lessons learned highlighted as "Implementation note" in the document.
- [X] Does the shepherd stand behind the document and think the document is ready for publication?
- [X] Is the correct RFC type indicated in the title page header?
- [X] Is the abstract both brief and sufficient, and does it stand alone as a brief summary?
- [X] Is the intent of the document accurately and adequately explained in the introduction?
- [X] Have all required formal reviews (MIB Doctor, Media Type, URI, etc.) been requested and/or completed?
- [X] Has the shepherd performed automated checks -- idnits (see http://www.ietf.org/tools/idnits/ and the Internet-Drafts Checklist), checks of BNF rules, XML code and schemas, MIB definitions, and so on -- and determined that the document passes the tests?
- [X] Has each author stated that their direct, personal knowledge of any IPR related to this document has already been disclosed, in conformance with BCPs 78 and 79?
- [X] Have all references within this document been identified as either normative or informative, and does the shepherd agree with how they have been classified?
- [X] Are all normative references made to documents that are ready for advancement and are otherwise in a clear state?
- [X] If publication of this document changes the status of any existing RFCs, are those RFCs listed on the title page header, and are the changes listed in the abstract and discussed (explained, not just mentioned) in the introduction?
'Does not apply'
- [X] If this is a "bis" document, have all of the errata been considered?
'Does not apply'
- [X] Are the IANA Considerations clear and complete? Remember that IANA have to understand unambiguously what's being requested, so they can perform the required actions.
- [X] Are all protocol extensions that the document makes associated with the appropriate reservations in IANA registries?
- [X] Are all IANA registries referred to by their exact names (check them in http://www.iana.org/protocols/ to be sure)?
- [X] Have you checked that any registrations made by this document correctly follow the policies and procedures for the appropriate registries?
- [X] For registrations that require expert review (policies of Expert Review or Specification Required), have you or the working group had any early review done, to make sure the requests are ready for last call?
- [X] For any new registries that this document creates, has the working group actively chosen the allocation procedures and policies and discussed the alternatives?
'Does not apply'
- [X] Have reasonable registry names been chosen (that will not be confused with those of other registries), and have the initial contents and valid value ranges been clearly specified?
'Does not apply'