Re: [dtn] [EXTERNAL] Erik Kline's No Objection on draft-ietf-dtn-bpbis-29: (with COMMENT)

"Burleigh, Scott C (US 312B)" <scott.c.burleigh@jpl.nasa.gov> Fri, 04 December 2020 21:48 UTC

Return-Path: <scott.c.burleigh@jpl.nasa.gov>
X-Original-To: dtn@ietfa.amsl.com
Delivered-To: dtn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EDE883A0C94; Fri, 4 Dec 2020 13:48:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.021
X-Spam-Level:
X-Spam-Status: No, score=-2.021 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FROM_GOV_DKIM_AU=-0.001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=jpl.nasa.gov
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B86LHEsfGJKt; Fri, 4 Dec 2020 13:48:17 -0800 (PST)
Received: from ppa02.jpl.nasa.gov (ppa02.jpl.nasa.gov [128.149.137.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B8CC93A0C92; Fri, 4 Dec 2020 13:48:17 -0800 (PST)
Received: from pps.filterd (ppa02.jpl.nasa.gov [127.0.0.1]) by ppa02.jpl.nasa.gov (8.16.0.27/8.16.0.27) with SMTP id 0B4Lic7F115187; Fri, 4 Dec 2020 13:48:13 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jpl.nasa.gov; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=InSight1906; bh=ZLMMxX1Dk7s6u8VyR+1q3rtgAfkJ4zjg6jni7vL2LBE=; b=3s7faiDf3kYA6XuajIVdT7KTQu/t5CIs1TTC+1LPTjWhVhq97E1micv9DXDUbs6s3rWT IBcL1LPmTAmx89EeXx4XvskLMZ2awJzwZxJ4u5aO5b5xouDzWDnyaYEOE4x9Zl7NijKq cYUHxIoFp7RkXvH+X+IrGJ2L3+tL66kJl3L37ylbLaflFfRx12JjiWC/u8U4WGb8aD0p s9jECoYz+pCnTo+twsqbWVUMs3v9zmqE6UDXvLtUWVKjI0VPTMWhS7wVf4k9nPtJXACA ZoSllO/W0De0HRKKi+5V0SSg55NiySeasnVfjHd4ngJDszgcxYn4logU3vue2J3HoSge dQ==
Received: from mail.jpl.nasa.gov (av-senagnt-sp01.jpl.nasa.gov [128.149.137.102]) by ppa02.jpl.nasa.gov with ESMTP id 356x68haad-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 04 Dec 2020 13:48:13 -0800
Received: from ap-embx16-sp10.RES.AD.JPL (ap-embx16-sp10.jpl.nasa.gov [128.149.137.83]) by smtp.jpl.nasa.gov (Sentrion-MTA-4.5.3/Sentrion-MTA-4.5.3) with ESMTPS id 0B4LlQ1w094211 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128 bits) verified FAIL); Fri, 4 Dec 2020 21:47:26 GMT
Received: from ap-embx16-sp10.RES.AD.JPL (2002:8095:8953::8095:8953) by ap-embx16-sp10.RES.AD.JPL (2002:8095:8953::8095:8953) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Fri, 4 Dec 2020 13:48:12 -0800
Received: from ap-embx16-sp10.RES.AD.JPL ([fe80::4:f430:47b5:767b]) by ap-embx16-sp10.RES.AD.JPL ([fe80::4:f430:47b5:767b%17]) with mapi id 15.01.1979.006; Fri, 4 Dec 2020 13:48:12 -0800
From: "Burleigh, Scott C (US 312B)" <scott.c.burleigh@jpl.nasa.gov>
To: Erik Kline <ek.ietf@gmail.com>, The IESG <iesg@ietf.org>
CC: "draft-ietf-dtn-bpbis@ietf.org" <draft-ietf-dtn-bpbis@ietf.org>, "dtn-chairs@ietf.org" <dtn-chairs@ietf.org>, "dtn@ietf.org" <dtn@ietf.org>, Fred Templin <fred.l.templin@boeing.com>
Thread-Topic: [EXTERNAL] Erik Kline's No Objection on draft-ietf-dtn-bpbis-29: (with COMMENT)
Thread-Index: AQHWyRSpF4Gy47qmJESeIt+6ByxO2KnnJqZg
Date: Fri, 04 Dec 2020 21:48:12 +0000
Message-ID: <7de7d2c03d684a25b1ab0f7c00510cb1@jpl.nasa.gov>
References: <160695935797.23387.18267563908645411959@ietfa.amsl.com>
In-Reply-To: <160695935797.23387.18267563908645411959@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [207.151.104.72]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Source-IP: ap-embx16-sp10.jpl.nasa.gov [128.149.137.83]
X-Source-Sender: scott.c.burleigh@jpl.nasa.gov
X-AUTH: Authorized
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312, 18.0.737 definitions=2020-12-04_12:2020-12-04, 2020-12-04 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2009150000 definitions=main-2012040122
Archived-At: <https://mailarchive.ietf.org/arch/msg/dtn/WSMtMWS6rVDDdAXMKKywph0cPew>
Subject: Re: [dtn] [EXTERNAL] Erik Kline's No Objection on draft-ietf-dtn-bpbis-29: (with COMMENT)
X-BeenThere: dtn@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
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, 04 Dec 2020 21:48:20 -0000

Hi, Erik.  Some thoughts on your comments, in-line below.

Scott

-----Original Message-----
From: Erik Kline via Datatracker <noreply@ietf.org> 
Sent: Wednesday, December 2, 2020 5:36 PM
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-dtn-bpbis@ietf.org; dtn-chairs@ietf.org; dtn@ietf.org; Fred Templin <fred.l.templin@boeing.com>; fred.l.templin@boeing.com
Subject: [EXTERNAL] Erik Kline's No Objection on draft-ietf-dtn-bpbis-29: (with COMMENT)

Erik Kline has entered the following ballot position for
draft-ietf-dtn-bpbis-29: No Objection

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

I was going to ballot as Discuss, but I lack some context on the history
of this document and its evolution.  Nevertheless, hopefully the "discuss"
points below leave a record of things about which I had some concern.


[[ discuss ]]

[ section 4.1.5.1.2 ]

* The encoding considerations mentions "dtn" scheme but this is the "ipn"
  scheme section so...should this be "ipn"?

>	Excellent catch.  Thank you.

[ section 5.2 ]

* Should step 2 be step 1 of 5.3 (not 5.4)?

>	No, in the case of a locally sourced node we definitely DO NOT want to exclude the possibility of the node forwarding the bundle to itself (BP loopback).  The procedure described in 5.3 applies only to a bundle that has been forwarded by some node and has been received at the local node; the only entry into the procedure in 5.3 is from Step 5 of 5.6 (Bundle Reception).
>	It could well be argued that the content of 5.3 should simply be inserted at the end of 5.6.  The current organization was retained from RFC5050, for continuity, but I would be fine with making that change. 

[ section 5.4.2 ]

* It seems to me that the behaviour in step 1, which I think does make some
  sense, pretty easily sets up the potential for ping-ponging (AIUI).

  If true, should there be some text (perhaps in 5.4) acknowledging that
  forwarding a given bundle to a node for the 2nd time might warrant, at least,
  some reassessment of the routing/reachability state in the node?

  I fully understand that extensive routing discussion is out of scope
  for this document.

>	The question, I think, is how worried we are about ping-ponging.  If the node that is performing 5.4.2 decides to send the bundle back to the Previous Node, and that node then decides to reforward it again in the same way (based on its current information about the network topology), it's possible that the second forwarding attempt at this node will succeed because of changes in configuration or connectivity.
>	Obviously we can't tolerate infinite ping-ponging, but bundle lifetime and/or Hop Count limit will defend against that, even if routing implementations are simple-minded.  We've thought about this quite a bit, and I'd like to leave this text as is.

[ section 5.6 ]

* Does "cannot process" include "does not understand"?

  If so it might be good to use a different reason value from
  "Block unintelligible" so that some other node can understand that, for
  example, the CRC (if sent) was valid.

  Basically, consider differentiating between "understood but malformed" and
  "not understood".

>	I agree.  I would propose to add a new "Block unsupported" reason code to Figure 4 and substitute "Block unsupported" for "Block unintelligible" in 5.6.

[ section 5.9 ]

* The mention of non-overlapping fragments brings a few issues to mind that
  have been encountered in IPv6 when considering fragment handling:

    [1] How are overlapping fragments to be handled?  Are they ignored
    and/or cause any specific error to be generated? (vis. IPv6: RFC 5722)

>	A darn good point.  On reviewing this section I think it needs to be rewritten as follows:

Note that the bundle fragmentation procedure described in 5.8 above may result in the replacement of a single original bundle with an arbitrarily large number of fragmentary bundles.  In order to be delivered at a destination node, the original bundle's payload must be reassembled from the payloads of those fragments.

The "salient extents" of a received fragment's payload are all continuous sequences of bytes in that payload that do not overlap with the salient extents of the payloads of any previously received fragments with the same source node ID and creation timestamp.  If the concatenation – as informed by fragment offsets and payload lengths – of the salient extents of the payloads of this fragment and  all previously received fragments with the same source node ID and creation timestamp as this fragment forms a continuous byte array whose length is equal to the total application data unit length noted in the fragment’s primary block, then:
•	This byte array -- the reassembled application data unit -- MUST replace the payload of that fragment whose salient extents include the extent at offset zero.  Note that this will enable delivery of the reconstituted original bundle as described in Step 1 of 5.7.
•	The "Reassembly pending" retention constraint MUST be removed from every other fragment with the same source node ID and creation timestamp as this fragment.

Note: reassembly of application data units from fragments occurs at the nodes that are members of destination endpoints as necessary; an application data unit MAY also be reassembled at some other node on the path to the destination.

    [2] What about "atomic fragments", i.e. a fragment that starts at
    offset zero and has a total payload length equal to the actual length
    of the payload (i.e. a fragmented payload consisting of a single fragment)?
    (vis. IPv6: RFC 6949)

    I'm guessing these should be silently accepted, but there might be some
    text saying they MUST/SHOULD NOT be generated.

>	A conformant implementation will never create such a fragment, because of the definition of "fragmenting" in the second paragraph of 5.8: the length of one of the fragments would be 0 and the length of the other would be M, both invalid.  But we can fortify this constraint by changing "are" to "MUST be".  I think the fragment acceptance procedure in 5.9 would handle such a fragment correctly if a non-conformant implementation created one.

[[ comments ]]

[ section 4.2.2 ]

* The Creation Timestamp element description seems to copy a bunch of text
  from 4.1.7.  Might be able to shorten the document a bit by referring to
  4.1.7 for extended discussion of creation timestamp operations.

>	Sure.

[[ questions ]]

[ section 4.3.3 ]

* What's the value of using a {limit, incrementing_value} pair like this over
  just a single decrements_to_zero integer?  I'm not suggesting this be
  changed (it's probably too late anyway), but I was just curious as to the
  motivation.

>	There was a very brief discussion of this in January of 2017.  Having the two fields does provide some additional information - if you only decrement hop limit to zero you have no idea what value it started out with, which might be important for some routers.  It wasn't a major point of contention and could have gone either way.