Re: [tcpm] Reminder: WGLC for draft-ietf-tcpm-accurate-ecn-26

Bob Briscoe <ietf@bobbriscoe.net> Fri, 17 November 2023 22:25 UTC

Return-Path: <ietf@bobbriscoe.net>
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 34C85C151983 for <tcpm@ietfa.amsl.com>; Fri, 17 Nov 2023 14:25:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.net
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qj-U6xSpDuzP for <tcpm@ietfa.amsl.com>; Fri, 17 Nov 2023 14:25:50 -0800 (PST)
Received: from mail-ssdrsserver2.hostinginterface.eu (mail-ssdrsserver2.hostinginterface.eu [185.185.85.90]) (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 56D5EC15199D for <tcpm@ietf.org>; Fri, 17 Nov 2023 14:25:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Content-Type:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=3x8p9p4JoSNcPEOAc04uA2Ltefmv8TQ7LEqT5r52TSE=; b=efHnNbPeCDolvwRpa0BXtotJFp 8KFH2kImCdlcT8lG6Tg+6fwZve9YLsLbAZPpE4w2EzpYGzk/Z+iQ+4lq3oJN1FP4dyRZXJ2SzbN1E lOLyn9BhYLSlXE2fbN2I4jIIasNCxIjlNq7oU3FIn4VIpLF7654Mz7HRijqdcRoukbSAPvVEUGBzY izMcmArVk4qXLGE+Oy2kp6rms2qq5cavZ0zs59OcqYM28G9v1qJSvRxQr/qrrc9zu6XZrNLKcWw/f R1Ckwu8DU66Kc6Ihi+pBZZqa/5ONk7v7U7NZbeKtx6gHLJ1ZsT7IBcONXoIaqdcESlMxZ9OJp/TEL Yp2cGBNA==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:48056 helo=[192.168.1.29]) by ssdrsserver2.hostinginterface.eu with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96.2) (envelope-from <ietf@bobbriscoe.net>) id 1r47Hg-000448-1B; Fri, 17 Nov 2023 22:25:47 +0000
Content-Type: multipart/alternative; boundary="------------MekikfOttMescOOUKVf8rXM2"
Message-ID: <db2b052e-a1d9-465c-a947-9d35e0931049@bobbriscoe.net>
Date: Fri, 17 Nov 2023 22:25:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: Markku Kojo <kojo=40cs.helsinki.fi@dmarc.ietf.org>
Cc: tuexen@fh-muenster.de, tcpm IETF list <tcpm@ietf.org>, Richard Scheffenegger <rscheff@gmx.at>, Mirja Kuehlewind <ietf@kuehlewind.net>
References: <1204E97B-9524-4C9F-8D06-7F81E1F28A6F@fh-muenster.de> <347C33E0-FDFD-4ED9-93FD-397AE361D6DE@cs.helsinki.fi> <fffb488d-913c-4a01-b88b-f9dbb02f4a62@gmx.at> <8F99166D-0DF3-49E0-81A2-72FDD510DAFF@fh-muenster.de> <bd7b276-d1e-b6b0-261f-d8d8e8451f59@cs.helsinki.fi> <032c3a88-22d7-4c87-b924-f5728084a39b@bobbriscoe.net> <be433655-1f8a-ccb5-a3a5-4cd0e8e3c2ee@cs.helsinki.fi>
From: Bob Briscoe <ietf@bobbriscoe.net>
In-Reply-To: <be433655-1f8a-ccb5-a3a5-4cd0e8e3c2ee@cs.helsinki.fi>
X-MagicSpam-TUUID: d6dac307-d0e3-4917-b263-69f6b3f0836c
X-MagicSpam-SUUID: 806a97c3-99bc-4dfa-baf1-fb7fe73c6a8b
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ssdrsserver2.hostinginterface.eu
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bobbriscoe.net
X-Get-Message-Sender-Via: ssdrsserver2.hostinginterface.eu: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: ssdrsserver2.hostinginterface.eu: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/Os6QB7Zlfoxf7BYd9jHKKqnzTk0>
Subject: Re: [tcpm] Reminder: WGLC for draft-ietf-tcpm-accurate-ecn-26
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 17 Nov 2023 22:25:55 -0000

Markku, See [BB2] x2

On 17/11/2023 17:34, Markku Kojo wrote:
> Bob,
>
> Thanks for addressing these as well. A quick answer with clarifying 
> question to one of the points below (see [MK] towards the end). It is 
> an important clarification in order to come up with scenarious showing 
> correct AccECN behaviour. I'll come back to the others points later, 
> so please do not consider them addressed and agreed yet.

[BB2] I will leave the chairs to determine how long you have got. I 
would be surprised if they give you any more leeway. I am now posting a 
revision of the AccECN draft anyway, including the edits you suggest below.

>
> On Thu, 16 Nov 2023, Bob Briscoe wrote:
>
>> Markku,
>>
>> Michael has broken out your 6 main points. But, in your original long 
>> email, there were some more points at the
>> end about wording in the draft, which I believe were correct. So pls 
>> see [BB] inline...
>>
>> On 07/11/2023 01:39, Markku Kojo wrote:
>>       Hi Michael, Richard, all,
>>
>>       [snip 6 items that Michael has broken out into separated 
>> threads on the list]
>>
>>       Note that the items 1-3 specify operation for an experimental 
>> feature (Acks of Acks) in a stds
>>       track document (if specified in AccECN RFC). In addition, 
>> appropriately specifying all the above
>>       items would require an update in a number of stds track specs 
>> and would need to be carefully
>>       validated and experimented. Therefore, it is hard to see that 
>> such a specification could be mature
>>       enough to become a stds track specification soon, particularly 
>> when all this is only needed to make
>>       AccECN to operate correctly with an experimental feature 
>> (enabling ECN on pure Acks and reacting to
>>       CE on pure Acks). In addition, currently there are no stds 
>> track CC algos that could use such a
>>       feature, not even experimental.
>>
>>       Moreover, IMHO it is not quite correctly stated in the current 
>> draft that sending timely Acks of
>>       Acks is mandatory:
>>
>>        "... the increment-triggered ACK rule makes it mandatory for A to
>>         emit ACKs of ACKs."
>>
>>       because no current stds CC algo (nor experimental) requires or 
>> benefits for doing so. TCP Prague is
>>       to my undersanding the only CC algo that possibly could take 
>> advantage of the Ack-of-Acks over the
>>       global Internet. But it has not been conclusively demonstrated. 
>> Therefore, it would be more than
>>       appropriate to first specify all that is needed for Ack of Acks 
>> in experimental spec(s).
>>
>>
>> [BB] Already asked and answered.
>>
>> The AccECN spec states how to respond to incoming packets whether or 
>> not sending them has been or will ever be
>> standardized. This is best practice in writing protocol specs. 
>> Similarly, RFC793 and RFC 9293 give long lists
>> of what to do in response to all possible incoming packets.
>>
>>
>>       In addition, crucial pieces missing/requiring clarification in 
>> the spec that specifies injecting
>>       Acks of Acks (currently AccECN draft) are:
>>
>>       1) injecting Acks of Acks is in conflict with RFC 5681. 
>> Therefore, a draft which specifies an algo
>>       that sends such Acks must include justification in doing so. 
>> Currently ECN++ has some such text but
>>       it is in the wrong draft; an implementor of the rule in AccECN 
>> draft that injects Acks of Acks is
>>       not expected to read ECN++ draft but the draft she/he is 
>> implementing (if she/he would be expected
>>       to read and ECN++, then citing ECN++ is a downref. In addtion, 
>> if the issue is not addressed and
>>       justified in the AccECN draft, it will result in conflicting 
>> stds track specifications (again).
>>
>>
>> [BB] This was intentional. It is quite in order to have normative 
>> specification of an implementation in one
>> RFC, and a reference to informative justification of it in another 
>> (where it is deemed more relevant).
>>
>>
>>       2) Currently AccECN draft specifies the rule to send Acks of 
>> Acks as an action of a Data Receiver
>>       in Sec 3.2.2.5.1:
>>
>>        "An AccECN Data Receiver MUST emit an ACK if 'n' CE marks have
>>         arrived since the previous ACK."
>>
>>       This is very ambiguous because this is not an operation of a 
>> Data Receiver in the first place but
>>       that of a Data Sender. The Data Receiver injects Acks of Acks 
>> only if the ping-pong effect of
>>       Ack-of-Acks gets triggered. Therefore, the piece of rule for 
>> injecting Acks of Acks should be under
>>       of its own heading (for both Data Sender and Data Receiver) for 
>> clarity.
>>
>>
>> [BB] Good point. I don't think it would be useful to split the rule 
>> into two nearly identical repetitions for
>> the two cases. The problem is the section heading - it needs to say 
>> packet receiver, not data receiver.
>>
>> Also, in the example scenario further down the section it's also not 
>> appropriate to call hosts A & B the Data
>> Receiver and the Data Sender, when the direction of data alternates. 
>> I'll fix that.
>>
>>
>>       Finally, the draft uses expression "newly delivered data" for 
>> "data segment". Why? No other TCP
>>       spec uses "newly delivered data" and we have an established 
>> expression for it in the RFC series
>>       (i.e., data segment). Using the established expression would be 
>> unambiguous.
>>
>>
>> [BB] Fine. Will change, as below...
>>
>> CURRENT:
>>  3.2.2.5.1. Data Receiver Safety Procedures
>>
>> The following rules define when a Data Receiver in AccECN mode emits 
>> an ACK:
>>
>> Change-Triggered ACKs: An AccECN Data Receiver SHOULD emit an ACK 
>> whenever a data packet marked CE arrives
>> after the previous packet was not CE.
>> ...
>>
>>   Increment-Triggered ACKs:    An AccECN Data Receiver MUST emit an 
>> ACK if 'n' CE marks have arrived since the
>>   previous ACK. If there is newly delivered data to acknowledge, 'n' 
>> SHOULD be 2. If there is no newly
>>   delivered data to acknowledge, 'n' SHOULD be 3 and MUST be no less 
>> than 3. In either case, 'n' MUST be no
>>   greater than 7.
>>
>> ...
>> In a scenario where both endpoints support AccECN, if the Data 
>> Receiver (B) has chosen to use ECN-capable pure
>> ACKs (as allowed in [RFC8311] experiments) and enough of these ACKs 
>> become CE-marked, then the
>> 'Increment-Triggered ACKs' rule ensures that the Data Sender (A) 
>> gives B sufficient feedback about this
>> congestion on the ACKs from B to A.
>> ...
>> Although TCP normally only ACKs newly delivered data,...
>>
>> PROPOSED:
>>  3.2.2.5.1. Packet Receiver Safety Procedures
>>
>> The following rules define when the receiver of a packet in AccECN 
>> mode emits an ACK:
>>
>> Change-Triggered ACKs: An AccECN Data Receiver SHOULD emit an ACK 
>> whenever a data packet marked CE arrives
>> after the previous packet was not CE.
>> ...
>> Increment-Triggered ACKs:   An AccECN receiver of a packet MUST emit 
>> an ACK if 'n' CE marks have arrived since
>> the previous ACK. If there is data to acknowledge, 'n' SHOULD be 2. 
>> If there is no data to acknowledge, 'n'
>> SHOULD be 3 and MUST be no less  than 3. In either case, 'n' MUST be 
>> no greater than 7.</t>
>> ...
>
> [MK] I am afraid this still reads ambiguous to me. What does "if there 
> is data" exactly mean? Where does 'there' refer to: 1) data pkt or 2) 
> AccECN pkt receiver? To me there are two equally likely interpretations:
>
> 1) Arriving packet is data packet (carries data to acknowledge). In 
> this case it should read something like "When a data packet arrives, 
> 'n' SHOULD be 2." to make it unambiguous.
>
> 2) There is unacknowledged data at the receiver when a new packet 
> arrives (either a data packet or non-data packet). For example, the 
> following scenario fulfills the criteria for this interpretation:
>
>  0. Data packet marked CE arrives and gets Acked
>  1. Data packet marked CE arrives but is not Acked (due to
>     delayed Ack mechanism and because no AckECN rule requires it)
>  2. Pure ACK marked CE arrives and gets Acked because there is data
>     to acknowledge and n=2.
>
> I believe item 1) is the intended interpretation but the previous text 
> as well as the new proposed text allows for me the interpretation in 
> the item 2) as well.

[BB2] Your phrase "unacknowledged data" is what we meant by "newly 
delivered data". I don't know why we didn't think to use that 
phraseology. The unacknowledged data does not have to be in the last 
packet to have arrived, for n=2. But for n=3, clearly none of the 
packets to arrive since the last ACK, including the last, can have 
carried any data. So here is the new proposed text.

    Increment-Triggered ACKs:  An AccECN receiver of a packet MUST emit
    an ACK if 'n' CE marks have arrived since the previous ACK. If there
    is unacknowledged data at the receiver, 'n' SHOULD be 2. If there is
    no unacknowledged data at the receiver, 'n' SHOULD be 3 and MUST be
    no less  than 3. In either case, 'n' MUST be no greater than 7.




Bob


>
> Thanks,
>
> /Markku
>
>> In a scenario where both endpoints support AccECN, if host B has 
>> chosen to use ECN-capable pure ACKs (as
>> allowed in [RFC8311] experiments) and enough of these ACKs become 
>> CE-marked, then the 'Increment-Triggered
>> ACKs' rule ensures that its peer (host A) gives B sufficient feedback 
>> about this congestion on the ACKs from B
>> to A.
>> ...
>> Although TCP normally only ACKs data segments,...
>>
>>
>> Bob
>>
>>
>>
>>       Thanks,
>>
>>       /Markku
>>
>>             Best regards
>>             Michael
>>
>>                   Richard
>>
>>
>>                   Am 06.11.2023 um 11:09 schrieb Markku Kojo:
>>                         Hi Michael,
>>
>>                         catching up…
>>
>>                         I am afraid that the crucial piece not 
>> addressed is that this
>>                         approach assumes that by enabling SACK would 
>> also enable DSACK
>>                         in full which is not the case. Therefore, the 
>> suggested rule in
>>                         ECN++ does not result in correct operation 
>> for RACK-TLP and
>>                         F-RTO. It requires correct impöementation at 
>> both ends.
>>
>>                         I’ve already tried to explain this earlier 
>> but try to come up
>>                         with a detailed list clarifying the actions 
>> needed at each end
>>                         later today.
>>
>>                         Thanks,
>>
>>                         /Markku
>>
>>
>> tuexen@fh-muenster.de kirjoitti 27.10.2023 kello
>>                               19.35:
>>
>>
>>
>>                                     On Sep 21, 2023, at 19:51,
>> tuexen@fh-muenster.de wrote:
>>
>>                                     Dear all,
>>
>>                                     this e-mail is a gentle reminder for
>>                                     the 2nd working group last call for
>> draft-ietf-tcpm-accurate-ecn-26.
>>
>>                                     The WGLC runs until Friday, 
>> September
>>                                     22nd 2023.
>>
>>                                     Please send any comments, including
>>                                     indications to support this 
>> document,
>>                                     to the TCMP mailing list by then.
>>
>>                                     In particular, if you have made
>>                                     comments during the first WGLC,
>>                                     indicate whether
>>                                     the comments have been addressed or
>>                                     not.
>>
>>                                     The ID is available at
>> https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-26.html
>>
>>                               Dear all,
>>
>>                               based on the feedback, the WG chairs 
>> have declared
>>                               consensus on this document.
>>                               We do understand that not all all 
>> feedback provided
>>                               was addressed in a way
>>                               expected by the person giving the 
>> feedback.
>>
>>                               Best regards
>>                               Michael
>>
>>                                     Best regards
>>                                     Michael
>>
>>
>> _______________________________________________
>>                               tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>>
>>
>> _______________________________________________
>>                         tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>>
>>
>> _______________________________________________
>>                   tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>>
>>
>>
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>>
>>
>> -- 
>> ________________________________________________________________
>> Bob Briscoe http://bobbriscoe.net/
>>
>>

-- 
________________________________________________________________
Bob Briscoehttp://bobbriscoe.net/