Re: [conex] Gen-art LC review: draft-ietf-conex-destopt-09

Robert Sparks <rjsparks@nostrum.com> Mon, 28 September 2015 19:37 UTC

Return-Path: <rjsparks@nostrum.com>
X-Original-To: conex@ietfa.amsl.com
Delivered-To: conex@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5A7B01B2C19; Mon, 28 Sep 2015 12:37:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.61
X-Spam-Level:
X-Spam-Status: No, score=-1.61 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 ZlaQh01ZEoDH; Mon, 28 Sep 2015 12:37:43 -0700 (PDT)
Received: from nostrum.com (raven-v6.nostrum.com [IPv6:2001:470:d:1130::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C11CB1B2C15; Mon, 28 Sep 2015 12:37:43 -0700 (PDT)
Received: from unnumerable.local (pool-71-170-237-80.dllstx.fios.verizon.net [71.170.237.80]) (authenticated bits=0) by nostrum.com (8.15.2/8.14.9) with ESMTPSA id t8SJbfqp013723 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK); Mon, 28 Sep 2015 14:37:42 -0500 (CDT) (envelope-from rjsparks@nostrum.com)
X-Authentication-Warning: raven.nostrum.com: Host pool-71-170-237-80.dllstx.fios.verizon.net [71.170.237.80] claimed to be unnumerable.local
To: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>, General Area Review Team <gen-art@ietf.org>, draft-ietf-conex-destopt@ietf.org, conex@ietf.org
References: <55DE1F65.5070106@nostrum.com> <56014D94.9070002@tik.ee.ethz.ch>
From: Robert Sparks <rjsparks@nostrum.com>
Message-ID: <56099700.6050004@nostrum.com>
Date: Mon, 28 Sep 2015 14:37:36 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.2.0
MIME-Version: 1.0
In-Reply-To: <56014D94.9070002@tik.ee.ethz.ch>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/conex/rddZNbY2KRJDggmhaCt7b09zqeA>
Subject: Re: [conex] Gen-art LC review: draft-ietf-conex-destopt-09
X-BeenThere: conex@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Congestion Exposure working group discussion list <conex.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/conex>, <mailto:conex-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/conex/>
List-Post: <mailto:conex@ietf.org>
List-Help: <mailto:conex-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/conex>, <mailto:conex-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Sep 2015 19:37:45 -0000


On 9/22/15 7:46 AM, Mirja Kühlewind wrote:
> Hi,
>
> regarding M1:
>
> I don't think we can say much more in this doc than what is already 
> said in the abstract mechanism doc as we simply don't know which 
> protocol will be used on top of it. 
So should this document restrict the use of the extension to those 
protocols that are used on top of it where the discussion can be 
concrete? (That's what I was suggesting when I asked " Should there be a 
statement that this option must not be used unless by a transport 
extension that's discussed how to use it?")

> What we can do is to add one sentence saying that there must be a way 
> in the higher layer protocol to provide feedback about congestion 
> (loss and/or ECN) and that the specification for the higher layer 
> protocol must discuss how an audit function in the network can access 
> information on congestion on the forward path (e.g. monitoring seq#).
That makes sense to me.
>
> Further regarding the abstract mechanism doc, it says the following:
>
> "The general goal of an auditor is to make sure that any ConEx-enabled
>    traffic is sent with sufficient ConEx-Re-Echo and ConEx-Credit
>    signals.  A concrete definition of the ConEx protocol MUST define
>    what sufficient means."
>
> I'm not sure if this is a correct usage of normative language, but I 
> will double-check with the author of this document. However, I don't 
> think we can say more about what sufficient means that it is already 
> described in the abstract mechanism doc (further down in section 5.5).
>
> It might also be the case that the authors actually meant to say here 
> something like
>
> "A transport that uses the ConEx protocol MUST define
>    what sufficient means."
>
> which would probably me more sensical. I'll check with them.
>
> However, while writing these documents, we figured that we actually 
> would need another document on auditing because there are some 
> assumption that must be taken in the protocol design. The main purpose 
> of that doc is/was to give guidance how to design an audit without 
> caring of all the details in the tcp-mods doc. There is an (expired) 
> draft (draft-wagner-conex-audit-01) which we did not follow because 
> there was no energy in the wg and it was not in the original milestone 
> list. We should definitely consider to revisit this draft if we plan 
> further experimentation on ConEx.
>
> Does this makes sense to you?
Yes.
>
> Mirja
>
>
>
> On 26.08.2015 22:19, Robert Sparks wrote:
>> I am the assigned Gen-ART reviewer for this draft. The General Area
>> Review Team (Gen-ART) reviews all IETF documents being processed
>> by the IESG for the IETF Chair.  Please treat these comments just
>> like any other last call comments.
>>
>> For more information, please see the FAQ at
>>
>> <http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.
>>
>> Document: draft-ietf-conex-destopt-09
>> Reviewer: Robert Sparks
>> Review Date: 26 Aug 2015
>> IETF LC End Date: 31 Aug 2015
>> IESG Telechat date: 1 Oct 2015
>>
>> Summary: On the right track with open issues
>>
>> Major issues:
>>
>> M1) This document claims to specify "the ConEx wire protocol in IPv6".
>> But it reads more like "this document just defines an option, other
>> documents will talk about how and when the option is used".  The
>> abstract-mech document requires that concrete ConEx specifications
>> discuss the audit function explicitly, with several requirements for
>> detail scattered through that document. In particular, it asks for a
>> discussion of how the concrete protocol defends against a set of
>> likely attacks against the audit function.  This document is silent,
>> and I think a side-effect of being processed in parallel with
>> tcp-modifications, and suspect most of the thinking on meeting the
>> requirements for discussing the audit function has concentrated there.
>> However, nothing in _this_ document restricts its use to other
>> transport extensions that have talked about these things. Should
>> there be a statement that this option must not be used unless by a
>> transport extension that's discussed how to use it?  If not, then
>> shouldn't this document talk about what happens if there's no
>> transport header below to inform audit function behavior?
>>
>>
>> Minor issues:
>>
>> m1) Figure 1 isn't right. I think what you want is:
>>
>> 0                   1                   2
>> 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
>> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>> |  Option Type  | Option Length |X|L|E|C|  res  |
>> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>
>> m2) There is confusion in two places in the document where you discuss
>> where to put the CDO (at the end of page 5 and the end of page 7). The
>> current text says the option MUST be the first option in whatever
>> destination options block it appears in. That seems problematic. What
>> if some other option also declares it MUST be the first option? I
>> wonder if instead of trying to say "must be the first option in the
>> block" you are trying only to say "If you use a CDO, use it in the
>> destination options block that comes before an AH block, not the one
>> that might come after".
>>
>> m3) Third paragraph of section 6: Should the last sentence end with
>> "in a given stream." ?
>>
>> Nits/editorial comments:
>>
>> Introduction: Should "Due to space limitation" be "Due to space
>> limitations in the IPV4 header"?
>>
>> Section 4: Right after the definition of Reserved, there is a line
>> that says "foo". What should it say instead?
>>
>> The last sentence on page 6: I don't think it's the network node that
>> you are saying must be aware. Perhaps you mean designers of network
>> nodes?
>>
>> At the top of page 7, you have "They MAY log". You shouldn't use a
>> 2119 MAY here - it's not part of the protocol. Similarly, in section
>> 6, "MAY compare the two, and MAY log" should not use 2119.
>>
>> First paragraph of section 6: "natively" is not clear. Perhaps
>> replacing "will not natively copy" with "will not normally copy"?
>>
>> Second paragraph of section 6: I suggest replacing "ignore any
>> CDO" with "ignore any CDO in the outer header".
>>
>> Consider moving the description of the bits in the option type field,
>> particularly the chg bit, earlier in the document. Right now, the
>> first mention is in the security consideration section, and most
>> of the definition doesn't happen until the IANA considerations.
>> It would help if it were clear what that bit was going to be before
>> you ever mention AH.
>>
>