Re: [tsvwg] L4S and the detection of RFC3168 AQMs

Bob Briscoe <ietf@bobbriscoe.net> Mon, 15 February 2021 17:14 UTC

Return-Path: <ietf@bobbriscoe.net>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4C95F3A0DE6 for <tsvwg@ietfa.amsl.com>; Mon, 15 Feb 2021 09:14:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.773
X-Spam-Level:
X-Spam-Status: No, score=0.773 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.972, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=bobbriscoe.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 iDAuC1Cl2bcj for <tsvwg@ietfa.amsl.com>; Mon, 15 Feb 2021 09:14:44 -0800 (PST)
Received: from mail-ssdrsserver2.hosting.co.uk (mail-ssdrsserver2.hosting.co.uk [185.185.84.51]) (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 D7C593A0DE5 for <tsvwg@ietf.org>; Mon, 15 Feb 2021 09:14:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender :Reply-To: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=918WoLX8RW4lP3qeNEg3TatOsTrVAX7G7gLKRjtw/eY=; b=inB6v4cnfFO/z1TO4GaQcSWYyS lf1iT2rHZ0bMRTazjOHEPDaut49Xm/62I0aMXAiIbIJPhxktSnPU23EqKhSbwaLZwkDJKzz2D/DXh IqhbIdyuHA16m6GHnEZaCro4kSbekhCKZBioznE1ZD/lY+hFclLgeywwl+py3th1yZTe/mHYm+LiY 3MgVnfzV9am2844fQjPnQMWsMkthZtJnqWBROSHynFN/sZKhgWPNA5cwcmZvYH5z6OeeTQgJoB3qN YjzrPeyztMBF8IZSkuqJyQzYiJCzEUxrGuGYAldAJMJDNLe09TzZ0aQVNxVe6FExYlLzI1pewOHUp YqYs+ZCA==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:57238 helo=[192.168.1.11]) by ssdrsserver2.hosting.co.uk with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <ietf@bobbriscoe.net>) id 1lBhSL-0006L5-Tu; Mon, 15 Feb 2021 17:14:41 +0000
To: "alex.burr@ealdwulf.org.uk" <alex.burr@ealdwulf.org.uk>, Martin Duke <martin.h.duke@gmail.com>
Cc: "Scheffenegger, Richard" <rs.ietf@gmx.at>, "Black, David" <david.black@dell.com>, TSVWG <tsvwg@ietf.org>
References: <125328289.3455959.1607381048136.ref@mail.yahoo.com> <125328289.3455959.1607381048136@mail.yahoo.com> <3F562A25-F4F2-4335-9ED7-54299500B8F6@cablelabs.com> <a35cf206-2fc7-c60e-c713-c4f916106bde@bobbriscoe.net> <CAM4esxQQe4MJsU3ZvdVWVeSC6z+YWCytDd3i2im27qhnss1_og@mail.gmail.com> <CACL_3VE_FD7wdwXGgbYsBnj0+ox-m6s6V=uZVaVZdgK-fLT2KQ@mail.gmail.com> <CAM4esxT1SjveX3AKbOcfjD317ojTNsxfgk84OAQ7=6v-YjQDow@mail.gmail.com> <MN2PR19MB4045BA04C4F56F3A19F2587383CA0@MN2PR19MB4045.namprd19.prod.outlook.com> <CAM4esxTSUUuNVsV-Dh4FU31QpJXfYK9rPR819xj00SD5DZzppA@mail.gmail.com> <592c7815-126e-fab7-3122-8df71aed9d30@gmx.at> <c22ffa78-9ff6-f2fd-2ade-345a72ec2db1@bobbriscoe.net> <CAM4esxQKQ17uMLmJr+PVS1Db50nZffi8Gto2TbBOqWYXP32__w@mail.gmail.com> <7bfed921-a5ba-6cbb-cf65-2abf96a86c1d@bobbriscoe.net> <1533769845.1434369.1613388416748@mail.yahoo.com>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <136133a8-3a81-1a78-6fac-54a470c71993@bobbriscoe.net>
Date: Mon, 15 Feb 2021 17:14:40 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <1533769845.1434369.1613388416748@mail.yahoo.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ssdrsserver2.hosting.co.uk
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.hosting.co.uk: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: ssdrsserver2.hosting.co.uk: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/9okQ-PKHPPqp44sAHYbkppXV5jY>
Subject: Re: [tsvwg] L4S and the detection of RFC3168 AQMs
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Feb 2021 17:14:46 -0000

Alex,

I'll go ahead as I proposed (add write-up of this conversation to tech 
report on arXiv), unless some other process is agreed on this thread in 
the near future. Thanks for the ideas, and the responses.

Bob

On 15/02/2021 11:26, alex.burr@ealdwulf.org.uk wrote:
> Martin, Bob, all,
> I am happy for these ideas to be taken forward by Bob or anyone else  - unfortunately I am unlikely to have time to contribute, as I am not working on networking at present.  As such I don't have any opinions on what is the appropriate doc.
>
> best,
> Alex
>
>
> On Thursday, February 11, 2021, 12:29:45 AM GMT, Bob Briscoe <ietf@bobbriscoe.net> wrote:
>
>
>
>
>
> Martin,
>
> Greg and I spoke about this very question earlier in the week.
>
> At minimum, we could write all the details covered in this thread into the tech report about Classic ECN AQM Fallback that Asad & I prepared earlier. "We" might mean Alex or me, or someone else? I would be happy to either ACK Alex or include him as a co-author - if he was willing.
>
> I feel that would be more appropriate than an IETF draft at the mo, at least while it's not implemented or tested. Then the IETF drafts (l4sops, ecn-l4s-id, dualQ, etc.) could give a brief outline of the idea, while referring out for fuller details.
>
> In that tech report, there is already a section on ideas for the design of active tests, which it says have not been implemented or tested. It would be published on arXiv as a new version, which is suitable as an archival ref.
>
> Then, as Alex suggests, we would need to update the dualQ draft.
> As Alex pointed out, not supporting ECT0 can later be reversed (e.g. if the L4S experiment later moves to PS), whereas supporting ECT0 from the start, them removing it later would miss the opportunity to provide certainty. This is the part I like most.
>
> We would also have to not make ECT0 support the default in the reference Linux implementation of the DualQ.
>
>
> Bob
>
>
> On 10/02/2021 18:37, Martin Duke wrote:
>
>
>>    
> Well this all seems very promising!
>
>
>
>
> Does anyone have the bandwidth to write something down? Should there be a separate draft that articulates the design? Would this replace the current Prague approach?
>
>
>
>
> Martin
>
>
>
>
>
> On Tue, Feb 9, 2021 at 3:09 PM Bob Briscoe <in@bobbriscoe.net> wrote:
>
>
>> Richard,
>>
>> First, thank you for reviving this thread, because it brought Alex's
>> last posting (in Dec) to my attention. I'll respond to that separately
>> (probably mañana, as it's getting late).
>>
>> Pls see inline tagged [BB]...
>>
>> On 09/02/2021 11:05, Scheffenegger, Richard wrote:
>>> Martin, group,
>>>
>>>
>>> AccECN is not tied to RFC3168 (and quite the opposite, it tries to be as
>>> impartial to the specifics of when/why packets were marked in whichever
>>> way).
>> [BB] Also, in case people aren't aware: an L4S sender using TCP MUST
>> negotiate the use of Accurate ECN TCP feedback with its peer. So I think
>> there's no case where a transport would not provide feedback for Alex's
>> idea.
>>
>>> Therefore the Packet-CE counter (you refer to it as PCE, while the draft
>>> refers to the (full) counter as cep [from CE_packet] is incremented
>>> regardless of which packet arrives with the CE mark (control, data,
>>> retransmission, ...).
>>>
>>> Similar for the Byte-CE counter (BCE, in the AccECN draft ceb from
>>> CE_bytes). As only TCP payload bytes arriving with the CE mark would be
>>> accounted, the behavior as expected in the discussion below is already
>>> implicitly available when using AccECN.
>> [BB] ...only if the data receiver supports sending the AccECN TCP Option
>> (optional) and the new TCP Option traverses the path successfully and
>> the data sender supports reading the TCP Option (optional).
>>
>> Nonetheless, if any of these three is not the case, it might still be
>> possible to work out whether a CE marking was on a probe packet...
>>
>> The ACK that carries the CE packet counter also carries an ACKno (and
>> possibly SACK options). When a zero-sized probe is sent, it won't elicit
>> an ACK on its own (TCP doesn't ACK pure ACKs). But if the probe is CE
>> marked, when the data receiver ACKs subsequent data packet(s), the CE
>> packet counter will include any CE marking on the probe. It seems that
>> doesn't help, because the data sender cannot tell whether the CE mark
>> was on the data packets or the probe. But if the counter ever increases
>> by more than the number of data packets covered by the ACK, the probe
>> must have been marked as well.
>>
>> That sounds like having to wait quite a time for the possibility of all
>> packets together being marked. But there might be a more deterministic
>> way by use the same trick that keep alive probes use...
>>
>> That is, send a zero-sized probe with SEG.SEQ = SND.NXT-1. Being out of
>> window, each of these probes would immediately elicit a pure ACK from
>> the receiver. This might cause problems alongside the other regular
>> ACKs, because I think these might look like Dup ACKs (when the trick was
>> invented for keepalives, this wasn't a problem 'cos there were no other
>> data packets being ACK'd). However, it's possible the sender can work
>> out that they are not Dup ACKs, given it knows it sent a probe.
>>
>> (I'm not totally certain of my facts here - we'd need a TCP expert to
>> confirm - Richard?)
>>
>>
>> Bob
>>
>>>
>>> There may be some ambiguity, as AccECN doesn't strictly require an
>>> immediate ACK on a CE (only that the next packet after a received CE
>>> mark has to convey the changed CE-related counters), but in the general
>>> case, AccECN would allow and support such a detection scheme.
>> [BB]
>>
>>
>>> Best regards,
>>>     Richard
>>>
>>>
>>>
>>> Am 12.12.2020 um 00:22 schrieb Martin Duke:
>>>> Excellent, thank you for the reminder. So the L4S sender could
>>>> interleave some ECT(0) marked pure ACKs (or retransmissions of the last
>>>> acknowledged byte) and hope that the PCE counter increases without
>>>> corresponding increases in BCE.
>>>>
>>>> The AccECN spec might need to be updated to specify that these should be
>>>> reported in PCE even though they are not 3168 compliant.
>>>>
>>>> Scheduling these probes might not exactly be trivial, but if they are
>>>> temporally correlated with ECT(1)->CE marks, this would be highly
>>>> suggestive, yes?
>>>>
>>>> On Fri, Dec 11, 2020 at 3:03 PM Black, David <David.Black@dell.com
>>>> <mailto:David.Black@dell.com>> wrote:
>>>>
>>>>      In which case, RFC 8311 Section 4.3 allows experimental usage of ECN
>>>>      with such packets (https://tools.ietf.org/html/rfc8311#section-4.3
>>>> <https://tools.ietf.org/html/rfc8311#section-4.3>).____
>>>>
>>>>      __ __
>>>>
>>>>      Thanks, --David____
>>>>
>>>>      __ __
>>>>
>>>>      [EXTERNAL EMAIL] ____
>>>>
>>>>      My understanding of 3168 is that only in-window data packets are
>>>>      marked ECT(0). A zero-length segment is a equivalent to a pure ACK,
>>>>      which is not marked.____
>>>>
>>>>      __ __
>>>>
>>>>      On Fri, Dec 11, 2020 at 12:09 PM C. M. Heard <heard@pobox.com
>>>>      <mailto:heard@pobox.com>> wrote:____
>>>>
>>>>          On Fri, Dec 11, 2020 at 11:51 AM Martin Duke
>>>>          <martin.h.duke@gmail.com <mailto:martin.h.duke@gmail.com>>
>>>>          wrote:____
>>>>
>>>>              This falls under the "much easier to do in other transports"
>>>>              category, where I could just send a PING or HEARTBEAT marked
>>>>              ECT(0) to test the queue in mid-connection, without
>>>>              affecting the latency of anything that matters. But in the
>>>>              TCP case, I'm not sure how to resolve Bob's second objection
>>>>              (running ECT(0) for a long time would be unacceptable).____
>>>>
>>>>          __ __
>>>>
>>>>          Could zero-length TCP segments be used instead of PING or
>>>>          HEARTBEAT? ____
>>>>
>>>>          ____
>>>>
>>>>          Mike Heard ____
>>>>
>> -- 
>> ________________________________________________________________
>> Bob Briscoe                               http://bobbriscoe.net/
>>
>>
>>
>

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/