Re: [tcpm] Comments on draft-ietf-tcpm-accurate-ecn

"Scharf, Michael (Nokia - DE/Stuttgart)" <michael.scharf@nokia.com> Sun, 15 July 2018 20:19 UTC

Return-Path: <michael.scharf@nokia.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C0FB9130E48; Sun, 15 Jul 2018 13:19:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
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 Vm9Kok0Tm5bi; Sun, 15 Jul 2018 13:19:28 -0700 (PDT)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-ve1eur02on071a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe06::71a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ED9A1130DF4; Sun, 15 Jul 2018 13:19:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/w/MqzrcpuTmIZ5rG6Dowci7u5hJKtNc1J4sSLlOZkE=; b=byC97/r2jFFyVfMl/CgxpGFGmiHCo15O2gY/hAgdDaN38xptSXcX/1hvAht09vLzCfuDw3qONiIBRC26mpb/LDOI+bbPM/tzmEjxDboLPrTIxAXAWSFwdfpJd/5QtYDsnsvqWOhEwpNUibMW9RVbPXBUa9W3lv5mBEEpCmxyp84=
Received: from AM2PR07MB0867.eurprd07.prod.outlook.com (10.161.71.153) by AM2PR07MB0788.eurprd07.prod.outlook.com (10.161.71.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.973.13; Sun, 15 Jul 2018 20:19:23 +0000
Received: from AM2PR07MB0867.eurprd07.prod.outlook.com ([fe80::2408:bde2:6996:189d]) by AM2PR07MB0867.eurprd07.prod.outlook.com ([fe80::2408:bde2:6996:189d%10]) with mapi id 15.20.0973.013; Sun, 15 Jul 2018 20:19:22 +0000
From: "Scharf, Michael (Nokia - DE/Stuttgart)" <michael.scharf@nokia.com>
To: Bob Briscoe <ietf@bobbriscoe.net>
CC: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>, "draft-ietf-tcpm-accurate-ecn@ietf.org" <draft-ietf-tcpm-accurate-ecn@ietf.org>, "tcpm@ietf.org" <tcpm@ietf.org>
Thread-Topic: [tcpm] Comments on draft-ietf-tcpm-accurate-ecn
Thread-Index: AdNsZwbKZl7dQfJhQeSI1pXOpUN55hIGf9OAAUAqXJAWJtFgAAHJBo4AAM3W/WA=
Date: Sun, 15 Jul 2018 20:19:22 +0000
Message-ID: <AM2PR07MB08671B7318801B8190C6F274935E0@AM2PR07MB0867.eurprd07.prod.outlook.com>
References: <AM5PR0701MB25477BD5BEB403A98AA2B983933F0@AM5PR0701MB2547.eurprd07.prod.outlook.com> <44FDECF5-A031-4343-BA1A-AE0D9C2C078C@tik.ee.ethz.ch> <VI1PR0701MB2558F5DE5FCE5CDC6A43F94793D30@VI1PR0701MB2558.eurprd07.prod.outlook.com> <E729457B-96C5-493D-9B14-70663C24DFB4@tik.ee.ethz.ch> <db66271d-3654-6066-fecc-a405bb88b7f5@bobbriscoe.net>
In-Reply-To: <db66271d-3654-6066-fecc-a405bb88b7f5@bobbriscoe.net>
Accept-Language: en-US, de-DE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [92.203.139.253]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM2PR07MB0788; 6:lQOghFwSOjDPCo71GWCmx8Kjd4zar4J+obrloIx4my+kF6k23oM1w/ygoY+DMXa1w9ZzNp/fYiiDG8lK8mut6GxqJgZC6+0nIvSaNcygAXccypVSZcQpmrTGiCtmgUpXJGtjkztuIhUKKw03006Zh8gAR5eA9UpgS4YdY//Wqk9FewGPiBiiTy2aMp6Scsoa9XhiMegXUekiOzjaa84up6TkvDjtZACmcRUTEsTkuR2CZ+xnxs2AztoshpAQd1qLl5ErjssTsbhTouI0j1v7BfMCmLeuW4vaikx7Xvp90Pkf32qp0Z5JJHwMZBl3+KdEJBbtladgHwa8+BU06c/SqLOOQRJjydSzNGMu+5xdHuo9InfoE9e1XqYYgWTU97j4l5yjmPiSQT3/WqI/6PwFqIT3Eea46tNGMIENsewl13je2Lvol/cpoDcQQOXwhiQGp365RwAAOOFQFKWU+6pxOg==; 5:zCOUrAdNLX5MJnpyFwJGTb/76fgNAjyuarQAAmeEdN3MDmtOej5oxOOBucOoHGl94mj2qUdMZH8nzhUnPXPXj+zKtNoL49FmsF/8Pza7gIj12DZuXSR1SRh3jg5xTUXUjisIkhODSh9XpmB7/kZ9qjgKKhHr/5weVlV3OlO3qB4=; 7:GxbcqmXs6YR3VrUSvTIGIqfGnGprozowrMw0sKFsLr/fRf1z6KTI002YO1rqYJtCijrITOfJdPDtCbQn0P9AZb4BSITsBqhXLrzuFIvhXfeY3ZrBf/7oNHT/DojSh6LyNIQ2OmyOU8GLXxKXv+iWcBOVo+oSrqaE8X76WhYq1VFVcsNHEp5cXohj+kSW5KuuY6N2ClY7xbE5vIRwjxrGxVhWcVNx2RwD4hvlQ+Xmn0r6sSPk3f/WmdFIP9eo3LgS
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: cad116e4-9012-4532-a59a-08d5ea9040de
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:(223705240517415)(109105607167333); BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(48565401081)(2017052603328)(7193020); SRVR:AM2PR07MB0788;
x-ms-traffictypediagnostic: AM2PR07MB0788:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=michael.scharf@nokia.com;
x-microsoft-antispam-prvs: <AM2PR07MB07888CF7E4F9522A2294984B935E0@AM2PR07MB0788.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(192374486261705)(223705240517415)(82608151540597)(109105607167333)(788757137089)(100405760836317)(1591387915157);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231311)(11241501184)(806099)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:AM2PR07MB0788; BCL:0; PCL:0; RULEID:; SRVR:AM2PR07MB0788;
x-forefront-prvs: 07349BFAD2
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(396003)(136003)(346002)(376002)(366004)(199004)(189003)(13464003)(78094002)(53754006)(51444003)(52314003)(68736007)(53946003)(53546011)(6436002)(8936002)(81166006)(99286004)(105586002)(7696005)(106356001)(81156014)(76176011)(6506007)(66066001)(74316002)(476003)(5250100002)(2906002)(16200700003)(305945005)(25786009)(11346002)(8676002)(446003)(7736002)(93886005)(4326008)(26005)(229853002)(86362001)(54906003)(14454004)(2900100001)(53376002)(6916009)(256004)(14444005)(6246003)(966005)(33656002)(561944003)(6306002)(102836004)(9686003)(97736004)(478600001)(6116002)(55016002)(3846002)(316002)(186003)(5660300001)(53936002)(486006)(559001)(569006); DIR:OUT; SFP:1102; SCL:1; SRVR:AM2PR07MB0788; H:AM2PR07MB0867.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: G6VT89LQCE6cBNj3UEdyb7b9R1kwwladQ3Hw77czgxzOUXnJqpvj5Np6HWcADcZJR8pF5iJGAs/JItEf0XkY3SeRQFeLLSjIs3yECp3rF8rgmAKGnyLa4W0i3aJnwS8hAFJE/h44PH92bQPLzeZDVswgWPjU/L/ajLxyIu7vUi/iH57SLR0s+ri1zZ6UA6Mg2T5cAs3V2MdsF4Z/aHzeu5rNdyBD16K4VaPITsPX/cVlDpkvv4YGiSEovlwxB0yLqhY07zvMjKkHHVPPYmzaEWNXLJfhgdrAOJCBK9+IM7z4cbqp/F7OiUOKJQspIbMP0Cq6je433ywFAQm93vYxkBTbXWRojuCJKZ8CYw1QjPpWHd3sB0XBFEJX9WWUDDymnWzabu8E3JqFX1XGrluF+Q==
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cad116e4-9012-4532-a59a-08d5ea9040de
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2018 20:19:22.5355 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR07MB0788
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/gtFrBye30enypSXvP9ZB2hGhsdQ>
Subject: Re: [tcpm] Comments on draft-ietf-tcpm-accurate-ecn
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Jul 2018 20:19:35 -0000

Mirja, Bob,

Thanks a lot for the replies. I have read the latest version -07. I agree that -07 is in a better shape. To me, Appendix B contains useful information.

I'll open a new thread for some further remarks on -07.

Best regards

Michael (chair hat off)


> -----Original Message-----
> From: Bob Briscoe [mailto:ietf@bobbriscoe.net]
> Sent: Wednesday, July 11, 2018 8:01 PM
> To: Scharf, Michael (Nokia - DE/Stuttgart) <michael.scharf@nokia.com>
> Cc: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>; draft-ietf-tcpm-
> accurate-ecn@ietf.org; tcpm@ietf.org
> Subject: Re: [tcpm] Comments on draft-ietf-tcpm-accurate-ecn
> 
> Michael, tcpm list,
> 
> As well as addressing your points, as Mirja has already mentioned below,
> we added a whole new appendix giving the rationale for the bits and
> codepoints that AccECN has proposed to use on 1) the SYN and 2) SYN/ACK.
> A 3rd subsection also identifies space for future evolution. It also
> points to where rationale was already given in the body of the draft.
> 
> The appendix is in the draft submitted last week, available here:
> https://tools.ietf.org/html/draft-ietf-tcpm-accurate-ecn-07#appendix-B
> 
> We'd be interested to hear whether this allays your concerns.
> 
> We have asked to present this in Montreal as well.
> 
> Cheers
> 
> 
> Bob
> 
> On 02/07/18 16:54, Mirja Kühlewind wrote:
> > Hi Micheal,
> >
> > I addressed a couple of your comments below.
> >
> > For the other, bigger comments regarding extensibility, that I did not yet
> address below, we plan to add a new section to the appendix to explain
> extensibility options as previously discussed by mail. We will probably send a
> separate email on that part.
> >
> > Mirja
> >
> >
> >> Am 12.03.2018 um 01:59 schrieb Scharf, Michael (Nokia - DE/Stuttgart)
> <michael.scharf@nokia.com>:
> >>
> >> Hi Mirja,
> >>
> >> Thanks a lot for the explanation. I won't follow-up on some of the
> editorial suggestions.
> >>
> >> Yet, I continue to believe that some formal wording in the document
> needs to change, as explained below.
> >>
> >> Thanks
> >>
> >> Michael (with no hat on)
> >>
> >>
> >>> -----Original Message-----
> >>> From: Mirja Kühlewind [mailto:mirja.kuehlewind@tik.ee.ethz.ch]
> >>> Sent: Monday, March 05, 2018 1:54 PM
> >>> To: Scharf, Michael (Nokia - DE/Stuttgart) <michael.scharf@nokia.com>
> >>> Cc: draft-ietf-tcpm-accurate-ecn@ietf.org; tcpm@ietf.org
> >>> Subject: Re: Comments on draft-ietf-tcpm-accurate-ecn
> >>>
> >>> Hi Micheal,
> >>>
> >>> thanks for your feedback and sorry for my late reply.
> >>>
> >>> Please see inline.
> >>>
> >>>> Am 03.12.2017 um 20:17 schrieb Scharf, Michael (Nokia - DE/Stuttgart)
> >>> <michael.scharf@nokia.com>:
> >>>> Hi all,
> >>>>
> >>>> I have read draft-ietf-tcpm-accurate-ecn-05 (without the appendix). I
> >>> believe this document needs further work before moving forward.
> >>>> Please find below my comments marked as [ms]. I have read the
> >>> document independent of the review from Gorry. I apologize if there is
> >>> duplication.
> >>>> Thanks
> >>>>
> >>>> Michael (with no hat on)
> >>>>
> >>>>
> >>>> ******************************
> >>>>
> >>>> * Abstract:
> >>>>
> >>>>    Recently, new TCP mechanisms like Congestion Exposure (ConEx) or
> Data
> >>> Center TCP
> >>>>    (DCTCP) need more accurate ECN feedback information whenever
> more
> >>>>    than one marking is received in one RTT.
> >>>>
> >>>> [ms] I don't think this statement is fully backed by RFC 8257. I suggest
> to
> >>> remove this, or replace it by a more generic statement that more
> accurate
> >>> information can be useful for several TCP extensions.
> >>>
> >>> I disagree. Both ConEx and DCTCP need more accurate information. They
> do
> >>> not need the mechanism that is specified in this draft, however, this is
> not
> >>> what the sentences is saying.
> >> In my understanding (as a non-native speaker), the use of the word
> "need" is not correct here. DCTCP as specified in RFC 8257 can be
> implemented without any such mechanism.
> >>
> >> What would work for me is something of the form "... Data Center TCP
> cannot get precise ECN feedback whenever more than one marking is
> received in one RTT“.
> > This is not correct. DCTP need more than one feedback signal per RTT and
> therefore cannot use RFC3168; instead it implement it’s own feedback
> mechanism. However, to avoid confusion such that people could assume
> DCTP would not work without the accECN scheme as specified in this doc, I
> rephrased to:
> >
> > "Recently, proposed
> >        mechanisms like Congestion Exposure (ConEx <xref
> target="RFC7713"/>),
> >        DCTCP <xref target="RFC8257"/> or L4S <xref
> >        target="I-D.ietf-tsvwg-l4s-arch"/> need to know when more than one
> >        marking is received in one RTT which is
> >        information that cannot be provided by the feedback scheme as
> specified in
> >        <xref target="RFC3168"/>."
> >
> >
> >>>>    This document specifies an
> >>>>    experimental scheme to provide more than one feedback signal per
> RTT
> >>>>    in the TCP header.  Given TCP header space is scarce, it overloads
> >>>>    the three existing ECN-related flags in the TCP header and provides
> >>>>    additional information in a new TCP option.
> >>>>
> >>>> [ms] This statement needs to be rewritten to correctly reflect what is
> >>> requested from IANA. My understanding is that this experimental
> document
> >>> asks for allocation of a reserved TCP header flag. This needs to be called
> out
> >>> prominently, IMHO. In addition, since this is not a standard, the
> suggested
> >>> experimentation with the main TCP header must IMHO be explicitly
> >>> mentioned. I also suggest to have later in a document a section that
> explicitly
> >>> explains why it is appropriate to modify the main TCP header in an
> >>> experiment.
> >>>
> >>> I don’t know if any requirement that IANA assignment need to be called
> out
> >>> in the abstract but we can do that. However, I believe the question if this
> >>> document should or should not assign the bit is still not completely
> solved, or
> >>> is it?
> >> I believe this question will have to be reviewed during WGLC and, more
> importantly, IETF last call. For the moment, my concern is that the document
> correctly describes the IANA allocation.
> >>
> >> I would like to see here a statement such as : "Given TCP header space is
> scarce, this specification allocates a reserved header bit and overloads the
> two ECN flags in the TCP header ...“.
> > A bit lengthy but now:
> >
> > "Given TCP header space is
> >        scarce, it allocates a reserved header bit, that was previously used for
> >        ECN-Nonce which was recently declared historic, and overloads the
> >        two existing ECN flags in the TCP header. Further, additional
> >        information can be provided in a new TCP option that however is not
> used
> >        on the TCP SYN."
> >
> >>>> * 1.  Introduction
> >>>>
> >>>>    Recently, proposed mechanisms like Congestion Exposure (ConEx
> >>>>    [RFC7713]), DCTCP [RFC8257] or L4S [I-D.ietf-tsvwg-l4s-arch] need
> >>>>    more accurate ECN feedback information whenever more than one
> >>> marking
> >>>>    is received in one RTT.
> >>>>
> >>>> [ms] At least for RFC 8257 seems to be implementable withoit this.
> Instead
> >>> of stating a "need", it would IMHO make more sense to discuss the
> benefits
> >>> of the suggested mechanism in this document of its own, independent
> of
> >>> other proposals. To me, this document should be independent of other
> >>> documents and specifically other experiments. We have to think about
> cases
> >>> where not all experiments are successful. Then independent documents
> will
> >>> be more future-proof in future.
> >>>
> >>> This is a naming collision… The sentence was meant to say that these
> >>> mechanisms new more accurate ECN feedback than provided today by
> >>> RFC3168 but it was not meant to say that these mechanism have to use
> the
> >>> scheme as specified in this document.
> >>>
> >>> I added the following part sentence:
> >>>
> >>> „Recently, proposed mechanisms like Congestion Exposure (ConEx
> >>> [RFC7713]), DCTCP [RFC8257] or L4S [I-D.ietf-tsvwg-l4s-arch] need more
> >>> accurate ECN feedback information than provided by the feedback
> scheme
> >>> as specified in [RFC3168] whenever more than one marking is received in
> one
> >>> RTT. This document specifies an alternative feedback scheme that
> provides
> >>> more accurate information and could be used by these new TCP
> extensions.“
> >>>
> >>> Does this help?
> >> See my proposal for the abstract. I continue to disagree with the term
> "need" but I think this can be sorted out by another term.
> >>
> >>>>    If AccECN progresses from experimental to the standards
> >>>>    track, it is intended to be a complete replacement for classic TCP/
> >>>>    ECN feedback, not a fork in the design of TCP.
> >>>>
> >>>> [ms] This sentence should be removed, as this is speculation.
> >>> Why? It states an intent… and that’s the intent that we have.
> >>>
> >>>>    Until the AccECN experiment succeeds, [RFC3168] will remain as the
> >>>>    standards track specification for adding ECN to TCP.
> >>>>
> >>>> [ms] This sentence should be removed (or reworded)
> >>> Why? Does it help to add an only here:
> >>>
> >>> "Until the AccECN experiment succeeds, [RFC3168] will remain as the
> only
> >>> standards track specification for adding ECN to TCP.“
> >> This wording is better.
> >>
> >>>>    AccECN feedback overloads flags and fields in the main TCP header
> >>>>    with new definitions, so both ends have to support the new wire
> >>>>    protocol before it can be used.
> >>>>
> >>>> [ms] In my reading this experimental document asks for *new*
> allocation
> >>> of a reserved TCP header flag.
> >>>
> >>> Is this better?
> >>>
> >>> "AccECN feedback overloads the two existing ECN flags as well as the
> >>>       currently reserved and previously called NS flag in the main TCP
> header
> >>>       with new definitions, so both ends have to support the new wire
> protocol
> >>>       before it can be used.“
> >>>
> >>> I understand that you are not happy with the word „overload“ here but
> the
> >>> point of this sentence really is that the flags can/could be used
> differently
> >>> and therefore we need a new negotiation before we can use them.
> >> For me the following would work: "AccECN feedback overloads the two
> existing ECN flags and
> >> allocates the currently reserved and previously called NS flag in the main
> TCP header.
> >> Given the new definitions, both ends have to support the new wire
> protocol
> >> before it can be used."
> >>
> >> I believe the wording has to be crystal clear on the reservation of bit 7
> when it is discussed the first time in the text. In follow-up sections, maybe
> shorter terms could be used.
> > Okay, now:
> >
> > "AccECN feedback overloads the two existing ECN flags and
> >      allocates the currently reserved and previously called NS flag in the
> >      TCP header, to be used as one field indicating the number of congestion
> >      experienced marked packets. Given the new definitions of these three
> bits,
> >      both ends     have to support the new wire protocol before it can be
> used.
> >      Therefore during the TCP handshake the two ends use these three bit in
> >      the TCP header to negotiate the most advanced feedback protocol
> >      that they can both support in a backward compatible way to
> >      <xref target="RFC3168"/>."
> >>> If you prefer, we can also remove the NS flag in this list, as ECN Nonce
> was
> >>> anyway never deployed.
> >>>
> >>>>    For that we refer to [RFC3168] or any RFC that
> >>>>    specifies a different response to TCP ECN feedback, for example:
> >>>>    [RFC8257]; or the ECN experiments referred to in
> >>>>    [I-D.ietf-tsvwg-ecn-experimentation], namely: a TCP-based Low
> Latency
> >>>>    Low Loss Scalable (L4S) congestion control [I-D.ietf-tsvwg-l4s-arch];
> >>>>    ECN-capable TCP control packets [I-D.ietf-tcpm-generalized-ecn], or
> >>>>    Alternative Backoff with ECN (ABE)
> >>>>    [I-D.ietf-tcpm-alternativebackoff-ecn].
> >>>>
> >>>> [ms] At least ABE seems orthogonal. Anyway, I think this paragraph can
> just
> >>> be deleted. If other experiments need more accurate feedback, it is up
> to
> >>> them to explain how they would use this mechanism. This document
> should
> >>> focus on how to signal the feedback, not how to use that.
> >>>
> >>> Yes, that is what the paragraph says. Isn’t it better to be explicit about
> this?
> >>>
> >>>>    It is likely (but not required) that the AccECN protocol will be
> >>>>    implemented along with the following experimental additions to the
> >>>>    TCP-ECN protocol: ECN-capable TCP control packets and
> retransmissions
> >>>>    [I-D.ietf-tcpm-generalized-ecn], which includes the ECN-capable SYN/
> >>>>    ACK experiment [RFC5562]; and testing receiver non-compliance
> >>>>    [I-D.moncaster-tcpm-rcv-cheat].
> >>>>
> >>>> [ms] I am a big fan of simple, standalone documents. In my view, the
> TCPM
> >>> working group should publish draft-ietf-tcpm-accurate-ecn and draft-
> ietf-
> >>> tcpm-generalized-ecn independent documents, which probably implies
> that
> >>> draft-ietf-tcpm-generalized-ecn does not use AccECN. If
> experimentation
> >>> with ECT in SYN requires a combination, this could be done in a new,
> third
> >>> document. Apart from having simpler focused documents, this could
> >>> significantly help later with moving forward documents to standards
> track.
> >>>
> >>> I disagree, however, this is a discussion to have on draft-ietf-tcpm-
> >>> generalized-ecn. I don’t see a problem in  providing a reference here
> that
> >>> says „it is likely…“ and nothing more.
> >>>>
> >>>>
> >>>> * 1.1.  Document Roadmap
> >>>>
> >>>> [ms] A macroscopic comment is that this document has a lot of
> introduction
> >>> and tutorial text with lot's of redundancy towards other documents. I
> think
> >>> the document can be made much easier to read by shorten it. In many
> cases
> >>> this is just an editorial change as there is redundancy. As one such
> example,
> >>> just remove this section.
> >>>
> >>> I guess this a matter of taste. As an AD, I’m a big fan of short and concise
> >>> documents, however, some redundancy can also help understanding,
> >>> especially if you explain things multiple times but with a different level of
> >>> detail. I personally would not need the roadmap but I know many
> people
> >>> who find these things helpful and to be honest I don’t see how
> removing this
> >>> part makes the doc any better. If you don’t want it, don’t read it.
> >>>
> >>>>
> >>>> * 1.2.  Goals
> >>>>
> >>>> [ms] I think this section can also just be removed.
> >>> I have to say I also don’t see the point of removing this part. Given
> we’ve
> >>> done the work on requirements, I think we should also link to this doc
> >>> somewhere.
> >>>>
> >>>> * 1.3.  Experiment Goals
> >>>>
> >>>>    TCP is critical to the robust functioning of the Internet, therefore
> >>>>    any proposed modifications to TCP need to be thoroughly tested. The
> >>>>    present specification describes an experimental protocol that adds
> >>>>    more accurate ECN feedback to the TCP protocol.  The intention is to
> >>>>    specify the protocol sufficiently so that more than one
> >>>>    implementation can be built in order to test its function, robustness
> >>>>    and interoperability (with itself and with previous version of ECN
> >>>>    and TCP).
> >>>>
> >>>> [ms] I think all what is written in this paragraph is obvious, no? Can't we
> just
> >>> delete this?
> >>>
> >>> Sure, however, I don’t think it hurts to spell it out. For me both is fine,
> keep it
> >>> or remove it.
> >>>
> >>>>    The experimental protocol will be considered successful if it is
> >>>>    deployed and if it satisfies the requirements of [RFC7560] in the
> >>>>    consensus opinion of the IETF tcpm working group.  In short, this
> >>>>    requires that it improves the accuracy and timeliness of TCP's ECN
> >>>>    feedback, as claimed in Section 5, while striking a balance between
> >>>>    the conflicting requirements of resilience, integrity and
> >>>>    minimisation of overhead.  It also requires that it is not unduly
> >>>>    complex, and that it is compatible with prevalent equipment
> >>>>    behaviours in the current Internet (e.g. hardware offloading and
> >>>>    middleboxes), whether or not they comply with standards.
> >>>>
> >>>>    Testing will mostly focus on fall-back strategies in case of
> >>>>    middlebox interference.  Current recommended strategies are
> specified
> >>>>    in Sections 3.1.2, 3.2.3, 3.2.4 and 3.2.7.  The effectiveness of
> >>>>    these strategies depends on the actual deployment situation of
> >>>>    middleboxes.  Therefore experimental verification to confirm large-
> >>>>    scale path traversal in the Internet is needed before finalizing this
> >>>>    specification on the Standards Track.
> >>>>
> >>>> [ms] These two paragraphs must be entirely rewritten. As I have
> >>> mentioned before, I don't think an RFC should speculate about TCPM
> and its
> >>> consensus opinion. I would suggest a wording along the lines of:
> >>>> <ms>
> >>>>    The experimental protocol will be considered successful if
> >>>>    testing confirms that the proposed mechanism can be deployed at
> large
> >>> scale.
> >>>>    Testing will mostly focus on fall-back strategies in case of
> >>>>    middlebox interference.  Current recommended strategies are
> specified
> >>>>    in Sections 3.1.2, 3.2.3, 3.2.4 and 3.2.7.  The effectiveness of
> >>>>    these strategies depends on the actual deployment situation of
> >>>>    middleboxes.  Therefore experimental verification to confirm large-
> >>>>    scale path traversal in the Internet is needed, e.g., by support in
> >>>>    major TCP stacks.
> >>>> </ms>
> >>>>
> >>> I don’t understand your point here. I don’t think that the paraphrase
> >>> speculates about the consensus of tcpm, in contrast it say tcpm has to
> >>> decided if the requirements previously specified by tcpm are sufficiently
> >>> fulfilled. I don’t see a reason to not mention the requirement draft as
> this
> >>> draft as tcpm consensus and was written for this purpose.
> >> My suggested wording uses the expression "can be deployed at large
> scale" and I believe this is relevant.
> >>
> >> The document already describes in Section 5 how the protocol satisfies
> the agreed requirements for a more accurate ECN feedback protocol
> [RFC7560]. So, if the TCPM working group publishes this document with the
> content of Section 5, I believe the TCPM working group already has reached
> consensus that the protocol meets requirements. In addition, it is possible
> that new requirements would be identified in future, e.g., as an outcome of
> the experiment, and that would obviously have to be considered by TCPM.
> In that case, for the success of the experiment not only RFC 7560 would
> matter, but also further requirements. My proposed wording does not have
> all these problems.
> >>
> >> In a nutshell, I continue to believe that this section has to change.
> >
> > Okay, used your proposed wording. You have a point about the
> requirement and I mis-read you proposal earlier as „has to be deployed
> large-scale“.
> >
> >>>> * 1.5.  Recap of Existing ECN feedback in IP/TCP
> >>>>
> >>>> [ms] This section could probably be shortened as well.
> >>>>
> >>>>    The last bit in byte 13 of the TCP header was defined as the Nonce
> >>>>    Sum (NS) for the ECN Nonce [RFC3540].  RFC 3540 was never
> deployed so
> >>>>    it is being reclassified as historic, making this TCP flag available
> >>>>    for use by the AccECN experiment instead.
> >>>>
> >>>> [ms] This wording, as well as Figure 1, needs to take into account the
> IANA
> >>> status when draft-ietf-tsvwg-ecn-experimentation is published.
> >>>
> >>> Is does. However, I can explicitly say that is has be re-clssified as
> reserved.
> >>>
> >>> "RFC 3540 was never deployed so it is being reclassified as historic [I-
> D.ietf-
> >>> tsvwg-ecn-experimentation] and the respective flag has been marked as
> >>> „reserved“ in the IANA TCP Header Flags registry, making this TCP flag
> >>> available for use by the AccECN experiment instead.“
> >>>
> >>> Better?
> >>>
> >>>> In my understanding, this experimental document asks for new
> assignment
> >>> of a reserved TCP header flag.
> >>>
> >>> As I said I’m not sure if we have fully concluded this discussion yet.
> However,
> >>> what we really would want to is mention somewhere that this
> experiment
> >>> with this flags is running. I guess there are three options:
> >>> 1) keep it in the registry as reserved and conserve the knowledge in
> tcpm
> >>> that this experiment is running and no other experimental RFC such use
> this
> >>> flags as long as this experiment is running.
> >>> 2) Keep is marked as reserved but add a note about this experiment in
> the
> >>> IANA registry
> >>> 3) Or assign it right away with IESG approval. I guess in this case tcpm
> could
> >>> also consider to change the registration policy to „IETF Review“.
> >> The current registration policy for the TCP header flags is "standards
> action". I understand that the IESG could approve exceptions. But given the
> policy, I believe the document has to be very precise on the request
> regarding bit 7.
> > Okay, it now says:
> >
> > "[TO BE REMOVED: IANA is requested to update the existing entry in the
> Transmission Control Protocol (TCP) Header Flags registration
> (https://www.iana.org/assignments/tcp-header-flags/tcp-header-
> flags.xhtml#tcp-header-flags-1) for Bit 7 to "AE (Accurate ECN), previously
> used by Historic as NS (Nonce Sum) [RFC3540, RFC8311]" and change the
> reference to this RFC-to-be instead of RFC8311.]“
> >
> > I guess we could also ask IANA to add an additional comment column
> instead (but not sure if we then have to update RFC3168, which I think we
> really don’t want. Should be fine now.
> >
> >>>> * 2.  AccECN Protocol Overview and Rationale
> >>>>
> >>>>    o  an essential part that re-uses ECN TCP header bits to feed back
> >>>>       the number of arriving CE marked packets.  This provides more
> >>>>       accuracy than classic ECN feedback, but limited resilience against
> >>>>       ACK loss;
> >>>>
> >>>> [ms] The word "re-use" is IMHO not correct.
> >>> I think this is nit picking. Using a different phrasing here makes the
> sentence
> >>> unnecessary complicated. We don’t try to some how get a round the
> fact
> >>> that we need to handle the flag registration correctly. However, here
> the
> >>> point really is to explain how the protocol word. The main point of using
> the
> >>> work „re-use“ here is really that we say that these flags are or have been
> >>> used different by other TCP extension (and we therefore need a proper
> >>> negotiation scheme).
> >> If the allocation of a reserved flag is correctly explained in the abstract and
> introduction, I think these sentences can use a bit relaxed terminology.
> >>
> >>>>    The two part design was necessary, given limitations on the space
> >>>>    available for TCP options and given the possibility that certain
> >>>>    incorrectly designed middleboxes prevent TCP using any new options.
> >>>>
> >>>> [ms] IMHO it would make sense to more explicitly mention the
> downsides
> >>> of only specifying an option and not allocating a TCP header flag, in this
> >>> experimental document.
> >>>
> >>> We need to use the flags (all three of them) for the negotiation.
> >> I think that an explanation why negotiation by a TCP option would not
> solve all use cases (or requirements) would help here.
> >>
> >>>> The obvious  alternative would be to postpone the header flag
> allocation to
> >>> a follow-up standards track document and just keep it reserved.
> >>>
> >>> We can still do that. We should discuss and make a final decision.
> >>>
> >>>>    The essential part overloads the previous definition of the three
> >>>>    flags in the TCP header that had been assigned for use by ECN.  This
> >>>>    design choice deliberately replaces the classic ECN feedback
> >>>>    protocol, rather than leaving classic ECN feedback intact and adding
> >>>>    more accurate feedback separately because:
> >>>>
> >>>> [ms] Similar like previous comments, in my reading there are only
> _two_
> >>> ECN header flags.
> >>>
> >>> I think there are three flags that "had been assigned for use by ECN“ as
> ECN
> >>> Nonce is also an ECN mechanism. The fact that one of the flags is now
> >>> marked as reserved instead, it not that important for me here.
> >>>
> >>>> And, in addition, I think care is needed with wording such "replaces the
> >>> classic ECN feedback". I don't think this experiment replaces the ECN
> >>> standards. That would be up to a follow-up PS.
> >>>
> >>> This sentence is not meant to say that RFC3168 is replaced. Actually we
> don’t.
> >>> You can still use RFC3168 even if AccECN is implemented and deploy
> >>> (however, we do intent that AccECN will be used as the default scheme
> in
> >>> future and RFC3168 is hopefully simply not needed anymore at some
> point,
> >>> even though you probably still need to have it implemented as the
> >>> negotiation specified in this draft covers that as well, anyway...). The
> >>> sentence says that if AccECN is negotiation, the header flags as used by
> >>> RFC3168 and previously ECN Nonce are used differently (aka re-used).
> That’s
> >>> all.
> >>>>
> >>>> 2.1.  Capability Negotiation
> >>>>
> >>>>    AccECN is a change to the wire protocol of the main TCP header,
> >>>>    therefore it can only be used if both endpoints have been upgraded
> to
> >>>>    understand it.  The TCP client signals support for AccECN on the
> >>>>    initial SYN of a connection and the TCP server signals whether it
> >>>>    supports AccECN on the SYN/ACK.  The TCP flags on the SYN that the
> >>>>    client uses to signal AccECN support have been carefully chosen so
> >>>>    that a TCP server will interpret them as a request to support the
> >>>>    most recent variant of ECN feedback that it supports.  Then the
> >>>>    client falls back to the same variant of ECN feedback.
> >>>>
> >>>> [ms] As this is an experimental specification, I would really like to see a
> >>> discussion how a future standards track version of more accurate ECN
> could
> >>> be negotiated.
> >>>
> >>> As described in this draft. There will be no different. AccECN IS and will
> >>> always be backward compatible with RFC3168.
> >> That is not the problem I think about. I wonder about a PS version of
> accurate ECN feedback that would possibly include changes as compared to
> this experiment, e.g., because the experiment may have some lessons
> learnt. What options would we have to negotiate the PS version, and how
> could a stack implementing the PS version figure out whether the remote
> end uses the experimental or the PS version of the protocol?
> >>
> >> The reason why I ask is because I don't see any easy solution to this but I
> may miss something. Maybe this would not be a concern if there were some
> codepoints left.
> >>
> >>>> How could both endpoints detect whether the other one implements
> the
> >>> future standards track version?
> >>>
> >>> If the initiator implements AccECN it will request it’s use. If the receiver
> also
> >>> implement it, it will/can negotiate it, if not it will look like an RFC3168
> request
> >>> for the receiver (as the NS flags will be ignored in the SYN) and it will
> >>> negotiate RFC3168 ECN feedback if implemented. There is no additional
> >>> detection needed.
> >> My concern is the migration strategy for a future version, given that we
> only experiment right now. For instance, if the initiator implements the
> experimental version but the recipient implements the PS version of AccECN,
> how would that work? Under the assumption that there are changes, would
> there be a way to know? Maybe the answer to this question is no, given the
> small number of bits we have. But not having any room for extensions is not
> necessarily good protocol design.
> >>
> >>>> For instance, would the only safe variant be that we allocate yet
> another
> >>> reserved TCP header flag in a proposed standard to negotiate the
> standards
> >>> track version, thus investing another reserved bit in the TCP header?
> >>>
> >>> No, that’s exactly what we use the NS flags for in the handshake.
> >> If the PS version of AccECN was different to the experimental version of
> AccECN, and if there was a deployed base of both, I still believe we could end
> up in a situation in which we had to allocate yet another TCP header flag to
> distinguish the different versions of AccECN. The NS flag would not work for
> that if it is used by the experimental version. The risk of having to spend
> further TCP header flags somehow concerns me. Of course, that problem
> would only matter if the AccECN experiment succeeds somehow, but lessons
> learnt would require protocol changes, which is speculation.
> >>
> >>>> I may be wrong, but to me it is too early to speculate how the PS
> version
> >>> would look like, and whether it would have to be different to the
> >>> experimental version, due to lessons learnt.
> >>>
> >>> Of course you can always be wrong. However, the handshake
> negotiation is
> >>> not the part we need experimentation for. That part is straight forward
> and
> >>> works. If we really happen to detect a problem in that part, we would
> need
> >>> to end the experiment declare failure and start over new.
> >> My concern is ending the experiment when the experiment got (partly)
> deployed in the Internet. In that case neither a new RFC nor a change of the
> IANA registry will solve the migration issue.
> >>
> >>>> I believe in the IETF we typically design protocols that allow future
> >>> extension, and it is not exactly clear to be how AccECN could be
> extended
> >>> later.
> >>>
> >>> This is an TCP extension. If we want future extension we use the usually
> TCP
> >>> mechanism (by defining a new TCP option I guess).
> >> The root cause of my concern is that this proposal does *not* use the
> usual way to experiment with TCP by options. It experiments with a header
> flag, including in the SYN, and it seems to consume all codepoints. So, I see
> the risk of a protocol design "not ready for future improvements".
> >>
> >> I cannot easily propose text. Maybe "lack of extensibility" is just one of
> the short-comings of the protocol design that cannot be avoided but that
> short-coming would have to be noted.
> >>
> >>>>    An AccECN TCP client does not send the new AccECN Option on the
> SYN
> >>>>    as SYN option space is limited and successful negotiation using the
> >>>>    flags in the main header is taken as sufficient evidence that both
> >>>>    ends also support the AccECN Option.  The TCP server sends the
> AccECN
> >>>>    Option on the SYN/ACK and the client sends it on the first ACK to
> >>>>    test whether the network path forwards the option correctly.
> >>>>
> >>>> [ms] For what it is worth, I would personally be quite fine with allowing
> (or
> >>> even mandating) an option in the SYN in the experimental version of this
> >>> protocol. For instance, saving the SYN option space would then an
> excellent
> >>> reason for moving towards the PS specification. I am also fine with being
> in
> >>> the rough part of the consensus here.
> >>>
> >>> The point is that we really don’t need the option in the SYN as we don’t
> use it
> >>> for negotiation purposes as we use the header bits instead. So why
> should
> >>> we waste the space?
> >> For instance, mandating the option in the SYN would be away for the
> receiver to distinguish the experiment from a follow-up PS version of the
> spec, as the PS version may not mandate the option, to save header space.
> >>
> >> Maybe that proposal does not make any sense, and it may only have
> downsides. But the document already speculates about a PS-follow-up. So it
> seems a valid question to ask if the EXP and the PS version of the spec have
> to be identical. This all comes down to the SYN negotiation.
> >>
> >>>> * 2.3.  Delayed ACKs and Resilience Against ACK Loss
> >>>>
> >>>>    If the AccECN Option is not available, e.g. it is being stripped by a
> >>>>    middlebox, the AccECN protocol will only feed back information on CE
> >>>>    markings (using the ACE field).  Although not ideal, this will be
> >>>>    sufficient, because it is envisaged that neither ECT(0) nor ECT(1)
> >>>>    will ever indicate more severe congestion than CE, even though
> future
> >>>>    uses for ECT(0) or ECT(1) are still unclear
> >>>>    [I-D.ietf-tsvwg-ecn-experimentation].
> >>>>
> >>>> [ms] This needs to be reworded
> >>> Why?
> >>>
> >>>>
> >>>>
> >>>> * 2.4.  Feedback Metrics
> >>>>
> >>>>    The CE packet counter in the ACE field and the CE byte counter in the
> >>>>    AccECN Option both provide feedback on received CE-marks.  The CE
> >>>>    packet counter includes control packets that do not have payload
> >>>>    data, while the CE byte counter solely includes marked payload bytes.
> >>>>    If both are present, the byte counter in the option will provide the
> >>>>    more accurate information needed for modern congestion control
> and
> >>>>    policing schemes, such as DCTCP or ConEx.
> >>>>
> >>>> [ms] I suggest to write in the last sentence only "... the option will
> provide
> >>> the more accurate information needed for congestion control". In
> general, I
> >>> would prefer to have references to other mechanisms at only few
> (ideally a
> >>> *single*) places in the document, instead of mixing them together.
> >>>
> >>> Sorry, I don’t see your point here. ConEx has been mentioned
> previously, so
> >>> why not also mention it here.
> >> As written earlier, in my understanding DCTCP does not "need" this. I
> would suggest to have one place where to define exactly how this
> mechanism can be used by other TCP extensions. Having said this, in this
> specific paragraph I am less concerned about that than elsewhere.
> >>
> >>>>    Feedback in bytes is recommended in order to protect against the
> >>>>    receiver using attacks similar to 'ACK-Division' to artificially
> >>>>    inflate the congestion window, which is why [RFC5681] now
> recommends
> >>>>    that TCP counts acknowledged bytes not packets.
> >>>>
> >>>> [ms] At least the last part and the reference to RFC 5681 is IMHO not
> >>> needed here.
> >>>
> >>> Why? RFC5681 explains/refers the ACK division attack, so I think it is a
> very
> >>> good reference to have here.
> >>>>
> >>>>
> >>>> * 2.5.  Generic (Dumb) Reflector
> >>>>
> >>>>    The ACE field provides information about CE markings on both data
> and
> >>>>    control packets.  According to [RFC3168] the Data Sender is meant to
> >>>>    set control packets to Not-ECT.  However, mechanisms in certain
> >>>>    private networks (e.g. data centres) set control packets to be ECN
> >>>>    capable because they are precisely the packets that performance
> >>>>    depends on most.
> >>>>
> >>>>    For this reason, AccECN is designed to be a generic reflector of
> >>>>    whatever ECN markings it sees, whether or not they are compliant
> with
> >>>>    a current standard.  Then as standards evolve, Data Senders can
> >>>>    upgrade unilaterally without any need for receivers to upgrade too.
> >>>>    It is also useful to be able to rely on generic reflection behaviour
> >>>>    when senders need to test for unexpected interference with
> markings
> >>>>    (for instance [I-D.kuehlewind-tcpm-ecn-fallback] and
> >>>>    [I-D.moncaster-tcpm-rcv-cheat]).
> >>>>
> >>>>    The initial SYN is the most critical control packet, so AccECN
> >>>>    provides feedback on whether it is CE marked.  Although RFC 3168
> >>>>    prohibits an ECN-capable SYN, providing feedback of CE marking on
> the
> >>>>    SYN supports future scenarios in which SYNs might be ECN-enabled
> >>>>    (without prejudging whether they ought to be).  For instance,
> >>>>    [I-D.ietf-tsvwg-ecn-experimentation] updates this aspect of RFC 3168
> >>>>    to allow experimentation with ECN-capable TCP control packets.
> >>>>
> >>>> [ms] To me, the only thing that matters in this document that AccECN
> can
> >>> provide feedback on whether the SYN is CE marked. The discussion on
> how
> >>> to experiment with ECT e.g. in SYNs IMHO does not belong into this
> >>> document. So it seems sufficient here to note that one of the benefits
> of
> >>> AccECN is that CE marks in SYNs can be fed back.
> >>>
> >>> I disagree. Explicitly saying that AccECN is only an feedback scheme and
> DOES
> >>> NOT define how the information is used is VERY important because
> people
> >>> come back to me over and over again and mix these things up.
> >>>>
> >>>> * 3.1.1.  Negotiation during the TCP handshake
> >>>>
> >>>>    Given the ECN Nonce [RFC3540] is being reclassified as historic, the
> >>>>    present specification renames the TCP flag at bit 7 of the TCP header
> >>>>    flags from NS (Nonce Sum) to AE (Accurate ECN) (see IANA
> >>>>    Considerations in Section 6).
> >>>>
> >>>> [ms] As mentioned before, this needs to be rewritten to ask for new
> IANA
> >>> allocation of bit 7 in the TCP header flags.
> >>>
> >>> I really don’t understand this comment. That is what the IANA section
> does
> >>> as referred here correctly.
> >> In my reading of https://www.iana.org/assignments/tcp-header-
> flags/tcp-header-flags.xhtml, this flag currently has no name, i.e., it does not
> have the name NS. So this statement on "renaming" is formally incorrect
> IMHO.
> >>
> >> I'd suggest something like: "This specification assigns the name AE
> (Accurate ECN) to the TCP flag at bit 7; this flag has previously been known as
> NS (Nonce Sum) …".
> > Now:
> >
> > "Given the ECN Nonce <xref target="RFC3540"/> has been
> >            reclassified as historic <xref target="RFC8311"/>, the present
> 	  specification re-allocates the TCP
> >            flag at bit 7of the TCP header flags, which was previously called NS
> >            (Nonce Sum), as the AE
> >            (Accurate ECN) flag (see IANA Considerations in <xref
> >            target="accecn_IANA_Considerations"/>)."
> >>> Again, yes, we can discuss if this document should do this, but if
> published as
> >>> it is, section 6 says everything that is needs to say. (I does not put any
> >>> request on IANA, instead it is written as it would show up post-
> publication,
> >>> implicitly providing a request to IANA at approval time. That is fine.)
> >>>
> >>>>    Table 2: ECN capability negotiation between Client (A) and Server
> >>>> (B)
> >>>>
> >>>> [ms] As far as I can see, in -05 this table allocates all existing codepoints,
> >>> while -03 had two currently unused codepoints. Not having any
> codepoints
> >>> left seems to me not really future proof, e.g., regarding future proposed
> >>> standards in this space (and I personally believe that TCP header flags
> must
> >>> be allocated in a PS). And I don't fully see a need of feeding back ECT0
> and
> >>> specifically ECT1 in the TCP header flags as part of the experiment. Do
> we
> >>> know for sure that this is the only possible use case of these two
> unallocated
> >>> header bits? And why can't e.g. this be done in a TCP option instead? Or
> do I
> >>> miss something?
> >>>
> >>> The point is really, if we don’t assign them now and start deployment we
> >>> effetely we not be able to every assign them again because don’t have a
> >>> different negotiation mechanisms. Realizing this, it is just the right think
> to
> >>> define the space completely that is negotiated as use for AccECN in the
> >>> handshake.
> >> I disagree that consuming all codepoints and not having room for future
> extensions is the "right thing" to do. It is in fact the wrong thing. But possibly
> there is no alternative with the few bits, so maybe we end up doing it.
> >>
> >> Yet, at minimum, using all codepoints needs to be reasoned in the
> document. Specifically since in -03 a different protocol design seemed
> possible, which looked to me more future-proof.
> >>
> >>>> * 3.1.2.  Retransmission of the SYN
> >>>>
> >>>>    However,
> >>>>    current measurements imply that a drop is less likely to be due to
> >>>>    middlebox interference than other intermittent causes of loss, e.g.
> >>>>    congestion, wireless interference, etc.
> >>>>
> >>>> [ms] Such wording IMHO doesn't belong into normative text. This may
> >>> actually also apply to other heuristics discussed in this section, which are
> not
> >>> really important for interoperability.
> >>>
> >>> I don’t really understand your point. This sentence is solely meant to
> reason
> >>> the design decision to not say that a sender SHOULD attempt to re-
> >>> negotiation after a loss.
> >> One could split the reasoning from the normative design. The normative
> specification may still be relevant in 20 years from now. Middleboxes will
> almost likely be different in 20 years. Having said this, this is more of an
> editorial remark.
> >>
> >>>> 3.2.7.  Path Traversal of the AccECN Option
> >>>>
> >>>> 3.2.7.1.  Testing the AccECN Option during the Handshake
> >>>>
> >>>>    The TCP client MUST NOT include the AccECN TCP Option on the SYN.
> >>>>
> >>>> [ms] I am not sure if I really understand the motivation for not allowing
> a
> >>> option in the SYN. If the sender has space in the SYN left, what is the
> harm in
> >>> an experimental version of the protocol? And I may miss something, but
> >>> what would prevent the use of 2-byte option to negotiate the use of
> >>> AccECN, e.g., to avoid experimental allocation of bit 7 in the initial SYN?
> >>>
> >>> I did have a draft on that as a proposal for an alternative design.
> However,
> >>> the gourd was more supportive of this design as it is proof of middlebox
> SYN
> >>> option mangling which is a know problem.
> >>>
> >>> Therefore we simply don’t need option in the SYN and there is no
> reason to
> >>> waste the space.
> >>>
> >>>> While I think many tutorial text in this document could be shortened, I
> >>> believe the use of a reserved TCP header flag should be reasoned.
> >>>
> >>> I’m actually uncertain what you expect here.
> >> For instance, this reply with the explanation of SYN option mangling
> seems useful explanation.
> >>
> >>>> * 3.2.8.  Usage of the AccECN TCP Option
> >>>>
> >>>>    The following rules determine when a Data Receiver in AccECN mode
> >>>>    sends the AccECN TCP Option, and which fields to include:
> >>>>
> >>>>    Change-Triggered ACKs:  If an arriving packet increments a different
> >>>>       byte counter to that incremented by the previous packet, the Data
> >>>>       Receiver MUST immediately send an ACK with an AccECN Option,
> >>>>       without waiting for the next delayed ACK (this is in addition to
> >>>>       the safety recommendation in Section 3.2.5 against ambiguity of
> >>>>       the ACE field).
> >>>>
> >>>>       This is stated as a "MUST" so that the data sender can rely on
> >>>>       change-triggered ACKs to detect transitions right from the very
> >>>>       start of a flow, without first having to detect whether the
> >>>>       receiver complies.  A concern has been raised that certain offload
> >>>>       hardware needed for high performance might not be able to
> support
> >>>>       change-triggered ACKs, although high performance protocols such
> as
> >>>>       DCTCP successfully use change-triggered ACKs.
> >>>>
> >>>> [ms] To me this sounds like a perfect example for a SHOULD with
> additional
> >>> guidance why implementing this SHOULD is really important.
> >>>
> >>> This is one of the most discussed point from the author and we really
> tried to
> >>> get additional guidance here of what to do also from outside the IETF but
> did
> >>> no clear feedback.
> >>>
> >>> As explained this MUST enables additional functionality. However, this is
> an
> >>> experiment document. If we detect that this MUST does actually hinder
> >>> implementation or has just never been implemented, we should
> reconsider
> >>> this in the final PS RFC.
> >>>
> >>> I was on the SHOULD side of the discussion, but can say that the
> >>> implementation in Linux was way more simple then expected.
> Offloading
> >>> might be a different topic but that is where I could not get a clear
> feedback
> >>> and offloading could probably be anyway optimized for use with AccECN
> (if it
> >>> gets deploy widely).
> >> If a MUST requires changes in hardware, I think there must be a clear
> reason.
> >>
> >> As individual contributor, with the current explanation in the text, I
> believe this has to be a SHOULD.
> >>
> >>> I though we added this as something to mention in the exp goals
> section, but
> >>> obviously we didn’t. I added the following text now:
> >>>
> >>> "Another experimentation focus is the implementation feasibiliy of
> change-
> >>> triggered ACKs as described in section 3.2.8. While on average this
> should not
> >>> lead to a higher ACK rate, it changes the ACK patter which especially can
> have
> >>> an impact on hardware offload. Further experimentation is needed to
> advise
> >>> if this should a hard requirement or just prefer behavior.“
> >> If it is unclear if a MUST can actually be implemented, having a MUST is in
> my opinion the wrong approach.
> >>
> >> One could equally state here that further experimentation is needed to
> determine whether the SHOULD can be upgraded to a MUST.
> > I’m still open for everything here, but I believe this was discussed and
> agreed in the working group…?
> >
> >
> >>>>    For the avoidance of doubt, the change-triggered ACK mechanism is
> >>>>    deliberately worded to ignore the arrival of a control packet with no
> >>>>    payload, which therefore does not alter any byte counters, because it
> >>>>    is important that TCP does not acknowledge pure ACKs.  The change-
> >>>>    triggered ACK approach will lead to some additional ACKs but it feeds
> >>>>    back the timing and the order in which ECN marks are received with
> >>>>    minimal additional complexity.
> >>>>
> >>>> [ms] The additional acks create network load. I think some wording is
> >>> needed on the tradeoff between information accuracy and network
> load.
> >>> There are network environments in which any additional packet is very
> >>> expensive (e.g., energy) and it is not clear to me how the protocol
> design
> >>> takes into account the potential overhead of additional ACKs. Maybe this
> >>> could be another reason for a SHOULD.
> >>>
> >>> The above. However, this is not really an additional ACK because you do
> >>> delay the next one. Further experimentation needed.
> >> The document states "lead to some additional ACKs". If that does not
> increase network load, I think it has to be explicitly explained why the ACK
> load is at most equal to a current TCP stack, in all potential cases. If it can
> increases network load, it has to be reasoned why increasing load (and risk of
> reverse congestion and the like) is worth the effort.
> >>
> >> I agree that this may be an area of experimentation, but I believe then it
> has to be explained to implementers what the tradeoffs are.
> > Added:
> > "Especially, if only few
> >            CE marks occurred or multiple marks in a row, the additional load will
> >            be low. Other, unexpected marking pattern could increase the load
> >            significantly, however, investigating the additional load it part
> >            of the proposed experimentation."
> >>>> * 4.2.  Compatibility with Other TCP Options and Experiments
> >>>>
> >>>>    AccECN is compatible (at least on paper) with the most commonly
> used
> >>>>    TCP options: MSS, time-stamp, window scaling, SACK and TCP-AO.  It
> is
> >>>>    also compatible with the recent promising experimental TCP options
> >>>>    TCP Fast Open (TFO [RFC7413]) and Multipath TCP (MPTCP
> [RFC6824]).
> >>>>
> >>>> [ms] I would suggest the wording "... compatible with the experimental
> >>> TCP options ..." or even "... compatible with the TCP options …".
> >>>
> >>> These option are to experimental..?
> >> "It is also compatible with the experimental TCP options TCP Fast Open
> (TFO [RFC7413]) and Multipath TCP (MPTCP [RFC6824])." would have same
> technical meaning. Having said this, this is editorial only.
> >>
> >>> The point of using „commonly used“ was to say that we checked on
> those as
> >>> they seem important. Just because your favorite experiment option is
> not
> >>> listed here it doesn’t means it incompatible, we just didn’t check. I’m
> okay to
> >>> removed „commonly used“ but I don’t think it makes anything better.
> >>>
> >>>> * 4.3.  Compatibility with Feedback Integrity Mechanisms
> >>>>
> >>>> [ms] Quite a bit in this section is experimental work, which IMHO
> >>>> should be clearly emphasized. The one exception is…
> >>> I would really like to keep this section because integrity is usually the fist
> >>> question that come up when I present AccECN. Effectively these are two
> >>> independent topics, however, I really think it help people to understand
> the
> >>> whole picture if this is also discussed in this document.
> >>>
> >>>>       However, TCP-AO is often too brittle to use on many end-to-end
> >>>>       paths, where middleboxes can make verification fail in their
> >>>>       attempts to improve performance or security, e.g. by
> >>>>       resegmentation or shifting the sequence space.
> >>>>
> >>>> [ms] I am not sure if deployment challenges of other options need to
> be
> >>> discussed in this document.
> >>>
> >>> If we keep the discussion, I guess we should mention this as well. As the
> doc
> >>> clearly stated section 4 is not meant to be normative.
> >> As far as I can see, there are use cases for TCP-AO where middleboxes are
> simply not a problem, but it is exactly this sort of discussion that may not be
> needed in this document. But I won't rat-hole on this comment here.
> >>
> >>>>    Originally the ECN Nonce [RFC3540] was proposed to ensure integrity
> >>>>    of congestion feedback.  With minor changes AccECN could be
> optimised
> >>>>    for the possibility that the ECT(1) codepoint might be used as an ECN
> >>>>    Nonce . However, given RFC 3540 is being reclassified as historic,
> >>>>    the AccECN design has been generalised so that it ought to be able to
> >>>>    support other possible uses of the ECT(1) codepoint, such as a lower
> >>>>    severity or a more instant congestion signal than CE.
> >>>>
> >>>> [ms] The discussion of RFC 3540 can probably be removed to a large
> extent.
> >>> Unfortunately, please still think that ECN Nonce, even though is was
> never
> >>> deployed and doesn’t really work, is the only was to provide integrity
> >>> protection and we need it as a prerequisite to deploy ECN at all… i would
> >>> really prefer to keep this in this non-normative part of the doc.
> >>>
> >>>>
> >>>> * 6.  IANA Considerations
> >>>>
> >>>> [ms] I think this section needs to be rewritten to request a new
> allocation
> >>> of bit 7 of the TCP header flags. At least for the process I think it would
> make
> >>> sense to have somewhere in the document a comprehensive
> explanation of
> >>> why an experimental document requests a change of the main TCP
> header,
> >>> and why this cannot be avoided (most notably in the initial SYN) by an
> >>> alternative protocol design.
> >>>
> >>> As I said previously this section is written as it would look like after the
> >>> allocation has happened with publication approval of the IESG. This is
> fine.
> >>>
> >>> Having a discussion about an experiment doc assigning a flag (or not) is a
> >>> question for tcpm as a whole and not specifically this document. How do
> we
> >>> envision to every use any further flags? We go to PS right away? Or
> should
> >>> we change the registration policy? For me the latter makes actually more
> >>> sense. However, if we don’t want/can to decide this now, we also could
> go
> >>> forward as it is with IESG approval. However, is this case it is also not
> needed
> >>> to explain this in the document. The responsible AD has to explain this to
> the
> >>> other IESG probably in the ballot or even better the shepherd could
> provide
> >>> these information in the write-up.
> >>>
> >>>>
> >>>> * 9.  Comments Solicited
> >>>>
> >>>>    Comments and questions are encouraged and very welcome.  They
> can
> >>> be
> >>>>    addressed to the IETF TCP maintenance and minor modifications
> working
> >>>>    group mailing list <tcpm@ietf.org>, and/or to the authors.
> >>>>
> >>>> [ms] This section is not needed IMHO
> >>> Yes, it will be removed before publication.
> >>>>
> >>>> 10.  References
> >>>>
> >>>>    [I-D.ietf-tsvwg-ecn-experimentation]
> >>>>               Black, D., "Relaxing Restrictions on Explicit Congestion
> >>>>               Notification (ECN) Experimentation", draft-ietf-tsvwg-ecn-
> >>>>               experimentation-07 (work in progress), October 2017.
> >>>>
> >>>> [ms] Normative reference?
> >>> Don’t see why. No need to read ietf-tsvwg-ecn-experimentation to
> >>> understand the spec in this doc.
> >>>
> >>> Thanks!
> >>> Mirja
> >>>
> > _______________________________________________
> > tcpm mailing list
> > tcpm@ietf.org
> > https://www.ietf.org/mailman/listinfo/tcpm
> 
> --
> __________________________________________________________
> ______
> Bob Briscoe                               http://bobbriscoe.net/