Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-ecn-16.txt
"Scheffenegger, Richard" <rs.ietf@gmx.at> Sun, 06 February 2022 23:01 UTC
Return-Path: <rs.ietf@gmx.at>
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 B67083A0EDC; Sun, 6 Feb 2022 15:01:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.612
X-Spam-Level:
X-Spam-Status: No, score=-2.612 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.714, 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 (1024-bit key) header.d=gmx.net
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 F7BxRrT3GGh5; Sun, 6 Feb 2022 15:01:47 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (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 DE8C83A0EDB; Sun, 6 Feb 2022 15:01:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1644188456; bh=vXJ7BSXkcjG4+ygreHeBMFuH4mDV1+/YRHwdlsIz1Ns=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=kQ341pB8BzO+xbKF0mF4ydNTOK090/mjgr1SCrBAXqOYWLTa8QQ9VKA+RCM6HurxR jyk8NGHCPEYQNrH65+mGnOIiGbUouk3FFSmaKVX1o5I1ODbzKt48tPZVFgBd9gbUWw s4PiG0AWg+tCYbUqjj83ZBjNsA4GN6WLl2apDjB8=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.233.112] ([185.236.167.136]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MY68T-1npBBd226H-00YToa; Mon, 07 Feb 2022 00:00:56 +0100
Message-ID: <24dd6cbd-6668-23e2-6902-9772d0a1ef9a@gmx.at>
Date: Mon, 07 Feb 2022 00:00:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1
To: Bob Briscoe <ietf@bobbriscoe.net>, Vidhi Goel <vidhi_goel=40apple.com@dmarc.ietf.org>
Cc: Richard Scheffenegger <rscheff@gmx.at>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Mirja Kuehlewind <ietf@kuehlewind.net>
References: <164389942954.13556.7754569279919863072@ietfa.amsl.com> <c2c5bdf9-6b34-fe19-3296-5f1cd831ed8e@bobbriscoe.net> <2FB9199D-4D31-418B-81DE-2E2D4358DEF6@apple.com> <e57355ae-5a9d-0a14-9478-29453d25622c@bobbriscoe.net> <BB23E172-C995-41FE-A47E-E02D5586B67D@apple.com> <1cbe3dbe-241b-3f24-096f-f1a2ffe17d98@gmx.at> <615549a4-6d09-8a7b-f892-42a1ea52c2e2@bobbriscoe.net>
From: "Scheffenegger, Richard" <rs.ietf@gmx.at>
In-Reply-To: <615549a4-6d09-8a7b-f892-42a1ea52c2e2@bobbriscoe.net>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:7Rlj3Xb94u63W8Al9yWh1Vr0XNXzrBo0RuPyW2bpaS936nMig7j Kg6U0frhhArkGxTJ9IzNSTH5swRbC9BmV1qgIoxdMH00QI6PhIitA5wZwG80hONbVC7hJpn iMR5WkVwVs5km1EEn0ms4GP9KuNgJ/qR6Y83hmiOEhNq6r0T+KFgts/HUnGfrlVCpSwxS+w eopz86x0mselO12LpzUxQ==
X-UI-Out-Filterresults: notjunk:1;V03:K0:gKeCFyY7Jtk=:aQ9g+Jxe5yW5xlayQdnsPD 4mhmHwviOrJcNzk0PWQ/EzxQK+qNo0mVAxedfVKj2IejuocrM9QatFtdQAHGcWGomLw3q1HoM Tt1bHY2V8wB7Wls87g7ojzCxVcZJDot4b46NjL9ioIvNSGrerk0Hqj+UVi3PNI5nKfVNcVqyy heK8nSsvzV+saOJL4pN0C2G1lBDesQwyYcFLJN0ZclIIVNPxCUxVsn98h0R3dYVzFb2iq1MVP cs3lZQPm+nJAJmMaYzdFAQGsLXt1AFl71HEvaY7uJGzvLSXBFcVBMlJnraM1vZEyV+6DnQcbg vKcOiy5FaANw9IvpRiEq0YhVZUFl6qE97kxsjxyQlRXQPAmUHTBKpq5YaNoUA+Z28mSy7zw+9 j/VVSJkiV2730jb2HCj17LEzvGKOU1S6onAfVAivy6HhkHQZPogyJ51nlEcUNIvZbg8CG8Gf6 OJv0gi8OxcdsGJpSkdCkhCboPdRWvrk6Uou9NEPIs28FIroqNoA5OSnyMGXs0MxhIIjjadDWE lvlIdzwRy1aR094w3q5DBi9OvqOLRl4IKj252p8oSFtWkKSVPBiwhpxstD7hxHtsOdWKw3KKM Edsvsc8pJ4lK4ZvxovfZOsmFHkTIO9F7WZuAS1kobMvXMoNI1BuGCvbnd6zAMfncB8ffbzxW/ ckBCQaOcG6YPTzebXjhs156bF1qdzmnZoUXASi0DRzZCT+sjuiCwZPi/AfvqQC/+2rN3Ai/ds hCBMGFb/ICLUxHx5fEZdQHL8KvQBbyrQiIuDib4tOrBA2GqMNan56JGxxmc7KQj2H0JZnjbmM BZhwoOKlQFW6ecwj/kfMAsfEaItW3XxcTklCtXKt6Xr45F6oeujCH2G+Fa6Zg+AqHp3dhQlm9 7PURnwuMX1okGxWrb3cKCfhJ6EBn3TFTL2kI+GMKS1R2SVZxgjthPQQsJrRj1UWgiJSo6uoFY rOvXLSZBgCPySYHHOeT3iYCZGJ6iDGIVfzwoyGfnmvPfDlrh9kyXWcxxUrE8aU9PMtMTNVBTd 8H5jZEcg15RRmqIwtxLicPt3yHmrtFyhK79q/Ey7zjuTmUwWOxaGkhy7tG8Je3TyqnFb4fsWE /EFdYbiaXGHyJI=
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/-Jk78ZM9xBUNR3vgqKoM4nq49eE>
Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-ecn-16.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
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, 06 Feb 2022 23:01:53 -0000
Hi Bob, could it be, that the first "data" row and column in this table are parially transposed? In the case of sending a Non-ECT SYN, but getting an indication of a received CE on the SYN-ACK, why would you respond to that indication of an incorrect CE marking? (With the response being, that the cwnd would probably never grow beyond 1 or 2 packets per RTT, or possibly diminish to n RTTs per packet, one a stack supports such low rates). I am thinking of the most common probable cause - a middlebox unconditionally overriding the full TOS byte, and simply setting both rightmost bits continously. Such a path would be rendered utterly unusable for an AccECN session, not? So at least that case would be a ND in your nomenclature. In the column - if the IP ECN is bleached, why disable response to CE (if that is unlike to come back, as long as the session traverses the bleaching path)? A "NR" seems more logical here in case of path changes? But again, all these ins-and-outs should be discussed in a different draft. I fully agree, that only the normative response of the AccECN feedback mechanism has to be fully defined - the two bullet point is exactly what I expect to be stated. Regards, Richard Am 06.02.2022 um 23:27 schrieb Bob Briscoe: > Richard, > > Indeed, I recently discovered I had missed an item that I added to my > ToDo list in Mar 2021, based on a conversation between Gorry and Mirja > where they both made the same point - that fall-back behaviour after > discovering ECN mangling ought to be non-normative in this draft, > because it's beyond the scope of the new feedback mechanism: > https://mailarchive.ietf.org/arch/msg/tcpm/00URm1uwptgrAzKq96T6KSh8dQ4/ > > We do need to say the following normatively in "Testing for Mangling of > the IP/ECN Field" because they are relevant to feedback, the Data Sender: > * remains in AccECN mode > * MUST continue to feed back any ECN markings on arriving packets. > > BTW, Vidhi, the text you quoted was from §2 on "Protocol Overview and > Rationale". That was meant to be an example of why it is useful for the > handshake to give feedback on exactly which IP-ECN codepoint arrived. It > wasn't meant to be a full spec. So I'll make it clearer that it's only > an example, rather than try to make it comprehensive, which isn't > appropriate at that point in the doc. > > Nonetheless, your points are correct, but if they are dealt with anyway, > they should be dealt with in §3.2.2.3. "Testing for Mangling of the > IP/ECN Field" where these scenarios are already covered (except for the > congestion response, which was silently left out of scope): > https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-16.html#section-3.2.2.3 > > > We could just say that the questions of whether to set ECT for > subsequent packets, and whether to respond to feedback of CE markings > are beyond the scope of the draft. I think we should, but I think we > should also give some non-normative advice on what to do. It can only be > interim advice, not normative requirements. Both because it's out of > scope, and because the best behaviour and the alternatives will depend > on deployment experience. So they shouldn't be written normatively in a > Proposed Standard yet. > > We will do what the WG wants, but assuming it agrees to including > non-normative advice, following from your (Richard's) list of cases, > here's a full matrix. I don't propose this matrix should go in the > AccECN draft - it's just for this email, to check every case is covered. > > > Feedback in SYN/ACK of SYN's IP-ECN > IP-ECN on SYN Not-ECT ECT(0) ECT(1) CE > Not ECT √ NR NR NR > ECT(0) ND √ √ √ > ECT(1) ND CU > √ √ > CE n/a n/a n/a n/a > > > Key: > √ Valid response > NR Non-normative advice: Set *N*ot-ECT for subsequent packets, but > continue to *R*espond to CE feedback > ND Non-normative advice: Set *N*ot-ECT for subsequent packets, and > *D*isable response to CE feedback > CU Currently unused transition (not listed as invalid in the draft) > n/a not applicable in the AccECN spec, in which there is never a case > where the sender sets CE when sending a packet. > > In the draft we don't need to mention any cases where CE is sent (but a > draft on fall-back probably would, because the sender might set CE to > test the path). We can cover the other cases with two groups of invalid > transitions: those where the SYN (or SYN-ACK) arriving at the receiver > appears to have been > i) ECN-capable > ii) Not-ECN-capable. > > I propose to also say that details (like what 'subsequent packets' > implies about how long this behaviour continues) are for future study. > > I'll try to write some text and propose it to this list. Perhaps it > should be in a new appendix? > > > Bob > > On 05/02/2022 12:01, Scheffenegger, Richard wrote: >> Vidhi, >> >> Thanks for reading the draft very closely! >> >> Well, in the non-ECT SYN case, where the SYNACK indicates an ECT (ect0, >> ect1, ce) is the obvious - and fully semantically correct - use case of >> that possible use. >> >> For the set of three codepoints (ECT0, ECT1, CE) the only other possible >> valid detection scenario would be if a SYN+CE is sent (deliberately, >> althought one can argue that a sender should not originate CE-marked >> packets), but a SYNACK without CE is returned (full or partial >> bleaching). At least under the current RFC3168 definition of IP ECN >> codepoints. >> >> allowed transitions: >> nonECT -> nonECT >> >> ECT0 -> ECT0 >> ECT0 -> ECT1 >> ECT0 -> CE >> >> ECT1 -> ECT1 >> ECT1 -> ECT0 (possibly) >> ECT1 -> CE >> >> CE -> CE >> >> >> Thinking about this aspect more, I am now unsure, if the higher level >> functions, such as detection of IP ECN codepoint mangling, or validating >> across multiple RTTs, should be in this document - or not rather be in a >> separate draft, in order to facilitate independent implementation and >> improvement of mechanisms in that space. >> >> However, the above table of allowed IP ECN transistions may be updated >> independently of AccECN - and performing extensive checks as part of a >> signal protocol ossifies this IMHO. >> >> As a middle ground, perhaps having these descriptions in a non-normative >> section, clearly stating these to be examples of what an impemented >> could choose to do? >> >> Richard >> >> Am 05.02.2022 um 02:14 schrieb Vidhi Goel: >>> I like your response for all the points. I can review the diff for the >>> proposed changes, if you’d like before committing them to the draft. >>> >>> Sorry, I want to add a new comment for this text, >>> >>> If a TCP client has set the SYN to Not-ECT, but >>> receives feedback that the IP-ECN field on the SYN arrived with a >>> different codepoint, it can detect such middlebox interference and >>> send Not-ECT for the rest of the connection. >>> >>> >>> This statement holds good for Not-ECT but doesn’t if lets say the SYN >>> was ECT0 or ECT1 as those could be marked CE and still be valid. Should >>> we add a statement for ECT marked SYN as well? >>> >>> Thanks, >>> Vidhi >>> >>>> On Feb 4, 2022, at 5:44 AM, Bob Briscoe <ietf@bobbriscoe.net >>>> <mailto:ietf@bobbriscoe.net>> wrote: >>>> >>>> Vidhi, >>>> >>>> I've increased the table of contents to tocdepth = "4" which might >>>> help find the relevant sections better, because a lot of the meat in >>>> this draft is under sections 3.2.2 (ACE) and 3.2.3 (Option). >>>> >>>> I've responded below, but I'd prefer it if you would say these things >>>> on the list, so we have a better justification for changing the draft. >>>> Reviewing a draft that has just be re-posted shouldn't imply anything >>>> about whether Apple is implementing the draft or not. >>>> >>>> (BTW, regarding the proposed change to the initial value of r.e1b, I >>>> was going to send that to the list once co-authors agreed to it. But >>>> it would be nice if some of the edits were not self-generated.) >>>> >>>> See [BB] inline for responses (which I'll repeat if you send to the >>>> list). >>>> >>>> On 04/02/2022 07:37, Vidhi Goel wrote: >>>>> Hello Bob and authors, >>>>> >>>>> I have read the draft a few times and will send my extensive review >>>>> at a later point. But right now, I want to ask some critical things >>>>> that an implementation could benefit from. >>>>> >>>>> The draft says, >>>>> /If a TCP client has set the SYN to Not-ECT, but/ >>>>> / receives feedback that the IP-ECN field on the SYN arrived with a/ >>>>> / different codepoint, it can detect such middlebox interference >>>>> and/ >>>>> / send Not-ECT for the rest of the connection/ >>>>> >>>>> 1. On the forward path from client to server, the client will revert >>>>> to Not-ECT when it sees for example, that it sent a Non-ECT SYN but >>>>> received ACE encoding other than 0 1 0. What does the client do in >>>>> the last ACK of the 3WHS - >>>>> a. does it stay in AccECN mode and still send AccECN encoding based >>>>> on the IP code point of SYN-ACK (Table 4)? This would mean that >>>>> client won’t participate in ECN on the sender half of the connection >>>>> and only provide AccECN feedback to the server as a receiver. >>>>> b. does it disable AccECN mode and set ACE= 0 0 0 so that a server >>>>> in AccECN mode can disable ECN based on Table4? >>>>> >>>>> While writing this, I realized that the intention is probably a. >>>>> Could you confirm? Also, when the sender sets Not-ECT in its data >>>>> packets, it should also disable acting upon any ACE feedback as we >>>>> could still receive false ACE feedback from the server if the >>>>> network, lets say, changed 00 (not ECT) to 01(ECT1). If you agree, we >>>>> should add some text around this. Based on the current text, the >>>>> sender will always respond to the ACE feedback even if it sends >>>>> Not-ECT. >>>>> >>>>> TBH, this is a complicated scenario, where sender said to the network >>>>> - I don’t trust you so I can’t use ECN. Feel free to drop my packets. >>>>> And the network mangles the IP to ECT1 and then set CE (when >>>>> congested) which would be feedback’ed from the receiver. Now, the >>>>> packet wasn’t dropped which it should have been. So, is it better to >>>>> just ignore this feedback because sender doesn’t trust the network or >>>>> just act on it and reduce cwnd in order to reduce congestion in the >>>>> network somewhere. >>>> >>>> [BB] Your points are all good ones. >>>> I'll address this last complex scenario first, because it has >>>> implications for the earlier questions. First I'll define some >>>> terminology: >>>> >>>> Simple mangling scenario: >>>> >>>> * some network function, e.g. broken Diffserv ToS-byte remarking, >>>> illegally remarks a Not-ECT SYN to CE. >>>> >>>> Your complex mangling scenario, repeated here: >>>> >>>> * some network function, e.g. broken Diffserv ToS-byte remarking, >>>> illegally remarks a Not-ECT SYN to ECT0 or ECT1, >>>> * then congestion at a subsequent bottleneck is marking some >>>> packets CE >>>> >>>> Then potentially the client could tailor its behaviour after sending a >>>> Not-ECT SYN, If the SYN/ACK feedback is >>>> >>>> 1. ECT: disable sending ECT, but continue responding to ECN feedback >>>> 2. CE, disable sending ECT, and disable response to ECN feedback >>>> >>>> However, this is uncertain, because CE feedback on the SYN/ACK could >>>> indicate either the simple or the complex mangling scenario. >>>> >>>> A simpler alternative would be to always continue responding to ECN >>>> feedback. Rationale: >>>> >>>> * Whether case #1 or #2, assume that mangling of the SYN might have >>>> been Not-ECT to ECT, even if the feedback off the SYN is CE. >>>> * Then as the connection progresses, if /all/ feedback is CE, >>>> there's already a recommendation to fall-back to disabling >>>> congestion response. >>>> >>>> If we do this, I think we ought to say "SHOULD continue to respond to >>>> ECN feedback", not "MUST". >>>> >>>> And we'll need to put this all to the WG. >>>> >>>> 1.a) Now back to the beginning of your point. The text you quote is >>>> from §2.5 which is in the non-normative "Overview and Rationale" >>>> section (§2). >>>> You really need the normative text from: >>>> >>>> >>>> 3.2.2.3. >>>> <https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-16.html#section-3.2.2.3>Testing >>>> for Mangling of the IP/ECN Field >>>> <https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-16.html#name-testing-for-mangling-of-the> >>>> >>>> >>>> where it says (end of 1st para): >>>> >>>> " ...for the remainder of the connection the client MUST NOT send >>>> ECN-capable packets, but it MUST continue to feed back any ECN >>>> markings on arriving packets." >>>> >>>> So, you're right, the answer is (a). >>>> It can't be (b), because, once in AccECN mode, 000 on the ACE field >>>> just becomes a counter value, and no longer negotiates the feedback >>>> mode. >>>> >>>> 1.b) As per the above, let's conservatively assume complex mangling. >>>> So, at the end of the first para quoted above I suggest we add: >>>> >>>> " ...for the remainder of the connection the client MUST NOT send >>>> ECN-capable packets *but**it**SHOULD continue to respond to ECN >>>> feedback even though **it **is no longer sending ECN-capable >>>> packets (see reasoning below)**. T**he client**MUST remain in the >>>> same feedback mode and***it MUST continue to feed back any ECN >>>> markings on arriving packets." >>>> >>>> I'll do the same for next para about the server. >>>> I'll work out some text for the reasoning, but I won't give it here. >>>> >>>> There are two other cases where it disables sending ECT, which don't >>>> say whether it continues to respond to congestion: >>>> >>>> * "Testing for Mangling" section, penultimate para, where it's >>>> receiving solid CE: >>>> "Once a Data Sender has entered AccECN mode it SHOULD check >>>> whether all feedback received for the first three or four rounds >>>> indicated that every packet it sent was CE-marked. If so, for the >>>> remainder of the connection, the Data Sender SHOULD NOT send >>>> ECN-capable packets*and it SHOULD NOT respond to ECN feedback*, >>>> but *it MUST remain in the same feedback mode and *it MUST >>>> continue to feed back any ECN markings on arriving packets*(in its >>>> role as Data Receiver)*." >>>> * Next section "Zeroing of the ACE Field", 2nd para: >>>> "If the value of this ACE field is zero (0b000), the Data Sender >>>> disables sending ECN-capable packets for the remainder of the >>>> half-connection by setting the IP/ECN field in all subsequent >>>> packets to Not-ECT, *but**it**SHOULD continue to respond to ECN >>>> feedback even though **it **is no longer sending ECN-capable >>>> packets.* *It MUST also remain in the same feedback mode and it >>>> MUST continue to feed back any ECN markings on arriving packets >>>> (in its role as Data Receiver).*" >>>> >>>> I'll also add reasoning (in the zeroing section, it already says that >>>> ACE=0b000 is not an unambiguous indication of mangling). >>>> >>>> And this prompts me to edit the bullet in an earlier section about the >>>> obligation of a sender to respond to congestion feedback: >>>> >>>> >>>> 3.1.5. >>>> <https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-16.html#section-3.1.5>Implications >>>> of AccECN Mode >>>> <https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-16.html#name-implications-of-accecn-mode> >>>> >>>> >>>> "It is still obliged to respond appropriately to AccECN feedback >>>> that indicates there were ECN marks on *ECN-capable *packets it >>>> had previously sent." >>>> >>>> And I'll add a bullet: >>>> >>>> "*If the sender chooses not to send ECN-capable packets (e.g. >>>> because path traversal of the ECN field is suspect), it can ignore >>>> any **ECN **feedback about those packets if it is certain that it >>>> cannot be valid (see Section 3.2.2, which gives normative >>>> requirements for certain specific cases).*" >>>> >>>> I've said 'can' rather than 'MUST' because it's hard to cover all >>>> cases, e.g. single packets without ECT when it's not clear whether the >>>> feedback covered another packet that was ECT. >>>> >>>> How does all this sound? >>>> >>>>> 2. On the reverse path from server to client, if a server sends a >>>>> Not-ECT SYN-ACK and receives ACE handshake encoding on last ACK other >>>>> than 0 1 0, there is no text like above that says server should send >>>>> Not-ECT for the rest of the connection (or at least I didn’t find >>>>> it). I think the server should also do same as client as the two >>>>> paths could be different. One could make it more complicated by >>>>> saying, if both client and server decide to not use ECN on their >>>>> corresponding sender half, then ECN should be disabled but let’s talk >>>>> about that later. >>>> >>>> [BB] It's in the second para of: >>>> >>>> >>>> 3.2.2.3. >>>> <https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-16.html#section-3.2.2.3>Testing >>>> for Mangling of the IP/ECN Field >>>> <https://www.ietf.org/archive/id/draft-ietf-tcpm-accurate-ecn-16.html#name-testing-for-mangling-of-the> >>>> >>>> >>>>> 3. In general, not setting the ECT (ECT0 or ECT1) code point on an >>>>> outgoing packet is different from supporting AccECN right as in the >>>>> host can still provide AccECN feedback on the receive path. >>>> >>>> [BB] Yup. >>>> >>>> Do you think any further explanation is needed in the above sections? >>>> >>>> >>>> Bob >>>> >>>>> …. >>>>> >>>>> To be continued if more questions come to my mind. >>>>> >>>>> >>>>> Thanks, >>>>> Vidhi >>>>> >>>>>> On Feb 3, 2022, at 7:24 AM, Bob Briscoe <ietf@bobbriscoe.net> wrote: >>>>>> >>>>>> tcpm folks, >>>>>> >>>>>> This rev to accurate-ecn is the first of two. The second will >>>>>> hopefully follow on its heels in the next couple of days. >>>>>> >>>>>> Diffs between this first rev (-16) and -15: >>>>>> >>>>>> 1. switches round two fairly large sections, so I've deferred other >>>>>> changes to a second rev so the diffs won't be masked by the switch >>>>>> round of sections. >>>>>> Suggested by Ilpo to match the order in which the tests in these >>>>>> sections will be executed: >>>>>> * Test for mangling the IP-ECN field (now 3.2.2.3), >>>>>> * Then test for zeroing the ACE field (now 3.2.2.4). >>>>>> >>>>>> 2. Ilpo suggested some clarifications in "3.2.3.2.5. Consistency >>>>>> between AccECN Feedback Fields", which is about the receiver of >>>>>> feedback ensuring consistency between the mandatory 3-bit ACE field >>>>>> and the optional 24-bit counters. In brief (paraphrasing) it >>>>>> previously only said "MUST consider both fields", when it is now >>>>>> clearer that it actually meant "MUST reconcile both fields", so that >>>>>> there is always a consistent baseline for subsequent ACKs. >>>>>> >>>>>> 3. A minor point is added in an appendix about the details that the >>>>>> pseudocode doesn't cover. >>>>>> >>>>>> >>>>>> >>>>>> Bob >>>>>> >>>>>> PS. #2 & #3 were added to the XML ages ago (Jul '21), so you will >>>>>> have seen them in the HTML. However, prob due to my clumsiness, the >>>>>> posted TXT didn't include them whereas the posted XML did (ironic >>>>>> for a section about consistency). In turn, inconsistency was only >>>>>> possible because I am having to manually post the TXT for this >>>>>> draft, due to an unresolved issue with v3 RFC XML tables. >>>>>> >>>>>> >>>>>> On 03/02/2022 14:43, internet-drafts@ietf.org wrote: >>>>>>> A New Internet-Draft is available from the on-line Internet-Drafts >>>>>>> directories. >>>>>>> This draft is a work item of the TCP Maintenance and Minor >>>>>>> Extensions WG of the IETF. >>>>>>> >>>>>>> Title : More Accurate ECN Feedback in TCP >>>>>>> Authors : Bob Briscoe >>>>>>> Mirja Kühlewind >>>>>>> Richard Scheffenegger >>>>>>> Filename : draft-ietf-tcpm-accurate-ecn-16.txt >>>>>>> Pages : 60 >>>>>>> Date : 2022-02-03 >>>>>>> >>>>>>> Abstract: >>>>>>> Explicit Congestion Notification (ECN) is a mechanism where >>>>>>> network >>>>>>> nodes can mark IP packets instead of dropping them to indicate >>>>>>> incipient congestion to the end-points. Receivers with an ECN- >>>>>>> capable transport protocol feed back this information to the >>>>>>> sender. >>>>>>> ECN was originally specified for TCP in such a way that only one >>>>>>> feedback signal can be transmitted per Round-Trip Time (RTT). >>>>>>> Recent >>>>>>> new TCP mechanisms like Congestion Exposure (ConEx), Data >>>>>>> Center TCP >>>>>>> (DCTCP) or Low Latency Low Loss Scalable Throughput (L4S) need >>>>>>> more >>>>>>> accurate ECN feedback information whenever more than one >>>>>>> marking is >>>>>>> received in one RTT. This document specifies a scheme to provide >>>>>>> more than one feedback signal per RTT in the TCP header. >>>>>>> Given TCP >>>>>>> header space is scarce, it allocates a reserved header bit >>>>>>> previously >>>>>>> assigned to the ECN-Nonce. It also overloads the two existing >>>>>>> ECN >>>>>>> flags in the TCP header. The resulting extra space is >>>>>>> exploited to >>>>>>> feed back the IP-ECN field received during the 3-way handshake as >>>>>>> well. Supplementary feedback information can optionally be >>>>>>> provided >>>>>>> in a new TCP option, which is never used on the TCP SYN. The >>>>>>> document also specifies the treatment of this updated TCP wire >>>>>>> protocol by middleboxes. >>>>>>> >>>>>>> >>>>>>> The IETF datatracker status page for this draft is: >>>>>>> https://datatracker.ietf.org/doc/draft-ietf-tcpm-accurate-ecn/ >>>>>>> >>>>>>> There is also an htmlized version available at: >>>>>>> https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-16 >>>>>>> >>>>>>> >>>>>>> A diff from the previous version is available at: >>>>>>> https://www.ietf.org/rfcdiff?url2=draft-ietf-tcpm-accurate-ecn-16 >>>>>>> >>>>>>> >>>>>>> Internet-Drafts are also available by rsync at rsync.ietf.org >>>>>>> <http://rsync.ietf.org>::internet-drafts >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> tcpm mailing list >>>>>>> tcpm@ietf.org >>>>>>> https://www.ietf.org/mailman/listinfo/tcpm >>>>>> >>>>>> -- >>>>>> ________________________________________________________________ >>>>>> Bob Briscoe http://bobbriscoe.net/ >>>>>> >>>>>> _______________________________________________ >>>>>> tcpm mailing list >>>>>> tcpm@ietf.org >>>>>> https://www.ietf.org/mailman/listinfo/tcpm >>>>> >>>> >>>> -- >>>> ________________________________________________________________ >>>> Bob Briscoehttp://bobbriscoe.net/ >>> >>> >>> _______________________________________________ >>> tcpm mailing list >>> tcpm@ietf.org >>> https://www.ietf.org/mailman/listinfo/tcpm > > -- > ________________________________________________________________ > Bob Briscoehttp://bobbriscoe.net/ >
- [tcpm] I-D Action: draft-ietf-tcpm-accurate-ecn-1… internet-drafts
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Bob Briscoe
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Vidhi Goel
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Bob Briscoe
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Vidhi Goel
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Scheffenegger, Richard
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Vidhi Goel
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Bob Briscoe
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Scheffenegger, Richard
- Re: [tcpm] I-D Action: draft-ietf-tcpm-accurate-e… Bob Briscoe