[dtn] Alexey Melnikov's Discuss on draft-ietf-dtn-bpbis-22: (with DISCUSS and COMMENT)
Alexey Melnikov via Datatracker <noreply@ietf.org> Fri, 07 February 2020 14:08 UTC
Return-Path: <noreply@ietf.org>
X-Original-To: dtn@ietf.org
Delivered-To: dtn@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id CC9E1120086; Fri, 7 Feb 2020 06:08:45 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Alexey Melnikov via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-dtn-bpbis@ietf.org, Fred Templin <fred.l.templin@boeing.com>, dtn-chairs@ietf.org, fred.l.templin@boeing.com, dtn@ietf.org, bemasc@google.com
X-Test-IDTracker: no
X-IETF-IDTracker: 6.117.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Alexey Melnikov <aamelnikov@fastmail.fm>
Message-ID: <158108452583.11606.5428367878223035583.idtracker@ietfa.amsl.com>
Date: Fri, 07 Feb 2020 06:08:45 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/fLcsk0nHEEzks-5hhcCWf3cvIBc>
Subject: [dtn] Alexey Melnikov's Discuss on draft-ietf-dtn-bpbis-22: (with DISCUSS and COMMENT)
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.29
List-Id: "Delay Tolerant Networking \(DTN\) discussion list at the IETF." <dtn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dtn>, <mailto:dtn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dtn/>
List-Post: <mailto:dtn@ietf.org>
List-Help: <mailto:dtn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dtn>, <mailto:dtn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Feb 2020 14:08:46 -0000
Alexey Melnikov has entered the following ballot position for draft-ietf-dtn-bpbis-22: Discuss When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html for more information about IESG DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-dtn-bpbis/ ---------------------------------------------------------------------- DISCUSS: ---------------------------------------------------------------------- I am looking forward for this document to be finished and approved as an RFC. Before I can recommend this, I have several DISCUSS points and comments that I would like to address: 1) Routing decisions, discovery of endpoints to contact for forwarding and retry strategies are listed as out-of-scope for this document. This is not sufficient for writing an interoperable implementation, unless there is a separate document that provides such details. Below I describe 3 relevant places in the text and suggest some possible ways of addressing my DISCUSS: 5.4. Bundle Forwarding Step 2: The bundle protocol agent MUST determine whether or not forwarding is contraindicated (that is, rendered inadvisable) for any of the reasons listed in Figure 4. In particular: . The bundle protocol agent MAY choose either to forward the bundle directly to its destination node(s) (if possible) or to forward the bundle to some other node(s) for further forwarding. The manner in which this decision is made may depend on the scheme name in the destination endpoint ID and/or Lack of this information (how node to forward to are discovered) would prevent interoperability. (By comparison, SMTP specification which has somewhat similar design contains information about how next nodes to forward to are selected.) I think you need to create a new section in this document specifying requirements on URI scheme documents and include this as a MUST level requirement there. (If you already have a document that does this, you can just normatively point to it.) on other state but in any case is beyond the scope of this document. If the BPA elects to forward the bundle to some other node(s) for further forwarding but finds it impossible to select any node(s) to forward the bundle to, then forwarding is contraindicated. . Provided the bundle protocol agent succeeded in selecting the node(s) to forward the bundle to, the bundle protocol agent MUST subsequently select the convergence layer adapter(s) whose services will enable the node to send the bundle to those nodes. The manner in which specific appropriate convergence layer adapters are selected is beyond the scope of this document. Similar to the above: lack of description of how convergence layers are discovered (for example this might include discovery using DNS or something else) or, alternatively, a mandatory to implement convergence layer would affect interoperability. I think you need to add this as a requirement to section 7 ("Services Required of the Convergence Layer"). Also having some (even non normative) information about which convergence layer to select if multiple are available would be useful. If the agent finds it impossible to select any appropriate convergence layer adapter(s) to use in forwarding this bundle, then forwarding is contraindicated. Step 5: When all selected convergence layer adapters have informed the bundle protocol agent that they have concluded their data sending procedures with regard to this bundle, processing may depend on the results of those procedures. If completion of the data sending procedures by all selected convergence layer adapters has not resulted in successful forwarding of the bundle (an implementation-specific determination that is beyond the scope of this specification), then the bundle protocol agent MAY choose (in an implementation-specific manner, again beyond the scope of this specification) to initiate another attempt to forward the bundle. Similar to the above: retries affect interoperability and should be documented as description of a convergence layer document. I think you need to add this as a requirement to section 7 ("Services Required of the Convergence Layer"). In that event, processing proceeds from Step 4 of Section 5.4. 2) As pointed out by Benjamin Schwartz: In Section 5.4.2 Consistency: This section relies on the presence of a Previous Node block, but nothing in the forwarding procedure instructs any agent to add a Previous Node block. Correctness: If two nodes both opt to return failed bundles, how are they to avoid a ping-pong loop? 3) As pointed out by Benjamin Schwartz: In Section 5.6 Error handling: What about CBOR parsing failures? ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- ********************************************************************** * Note, that I am conducting an experiment when people aspiring to be* * Area Directors get exposed to AD work ("AD shadowing experiment"). * * As a part of this experiment they get to review documents on IESG * * telechats according to IESG Discuss criteria document and their * * comments get relayed pretty much verbatim to relevant editors/WGs. * * As an AD I retain responsibility in defending their position when * * I agree with it. * * Recipients of these reviews are encouraged to reply to me directly * * about perceived successes or failures of this experiment. * ********************************************************************** I also have some comments on Benjamin's comments below marked with "[[Alexey]]:" The following comments were provided by Benjamin Schwartz <bemasc@google.com>: Benjamin would have balloted *DISCUSS* on this document. He wrote: This draft’s content seems sound but the text is difficult to understand and needs some editorial improvements. ## Abstract Nit: Abstract should be before status. Nit: “specification for Bundle Protocol” -> “for the Bundle Protocol”. ## Section 1 Title: If this document doesn’t describe the operation, routing, or management of bundles, maybe it doesn’t describe a complete protocol. Consider retitling to “Bundle Protocol Version 7: Format and Architecture” [[Alexey]]: This relates to my DISCUSS points, but my DISCUSS position is stronger than this statement. ## Section 4.1.3 Nit: It would be clearer to move the reserved and unassigned flags to an IANA considerations section, here and throughout. ## Section 4 Phrasing: “The last item of the array ... SHALL be a CBOR "break" stop code.” This seems like a misuse of the word “item”. I would suggest “The array SHALL be terminated by a CBOR “break” stop code.” Similarly in Section 4.2.1. ## Section 4.1.4 Clarity: The “(Boolean)” specifiers seem redundant. What is a non-boolean flag? Clarity: The two lists here seem redundant. Can they be collapsed? Clarity: The phrasing “...the value of the "Transmit status report if block can't be processed" flag in every canonical block…” suggests that these flags should be named or numbered before attempting to describe them. ## Section 4.1.5.1 These two sentences seem contradictory: * “Any scheme conforming to [URIREG] may be used in a bundle protocol endpoint ID.” * “The first item of the array SHALL be the code number identifying the endpoint's URI scheme [URI], as defined in the registry of URI scheme code numbers” Please rephrase. [[Alexey]]: This is similar to Roman's DISCUSS. ## Section 5.4.2 Consistency: This section relies on the presence of a Previous Node block, but nothing in the forwarding procedure instructs any agent to add a Previous Node block. Correctness: If two nodes both opt to return failed bundles, how are they to avoid a ping-pong loop? [[Alexey]]: I included these in the DISCUSS portion of my ballot. ##Section 5.6 Error handling: What about CBOR parsing failures? [[Alexey]]: I included these in the DISCUSS portion of my ballot. ## Section 5.8 Clarity: The insistence, here and earlier, that a bundle is only fragmented into two packets, and that this can then be performed recursively, seems unhelpful. Bundles can be fragmented into arbitrarily many pieces, and this binary subdivision concept is not actually present in the protocol. I suggest removing it from the text as well. ## Section 6.1 Formatting: This table is excessive for a single value. Clarity: The text specifies the contents twice, which is unhelpful for comprehension. ## Section 10 Formatting: The extra line breaks in the vertical dividers are distracting. Please fill them in or remove the breaks if possible.
- [dtn] Alexey Melnikov's Discuss on draft-ietf-dtn… Alexey Melnikov via Datatracker
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Burleigh, Scott C (US 312B)
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Alexey Melnikov
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Ben Schwartz
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Burleigh, Scott C (US 312B)
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Alexey Melnikov
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Burleigh, Scott C (US 312B)
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Alexey Melnikov
- Re: [dtn] [EXTERNAL] Alexey Melnikov's Discuss on… Burleigh, Scott C (US 312B)