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

Bob Briscoe <ietf@bobbriscoe.net> Thu, 11 February 2021 00:23 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 2D9653A0CDD for <tsvwg@ietfa.amsl.com>; Wed, 10 Feb 2021 16:23:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.433
X-Spam-Level:
X-Spam-Status: No, score=-1.433 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, NICE_REPLY_A=-0.001, SPF_HELO_NONE=0.001, SPF_SOFTFAIL=0.665, 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 GR1KVWx9SVLp for <tsvwg@ietfa.amsl.com>; Wed, 10 Feb 2021 16:23:01 -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 D784D3A0C83 for <tsvwg@ietf.org>; Wed, 10 Feb 2021 16:23:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject: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=gHic92KDazN2jspdbKEMAT3cwDoMv0SnAHYilMgWdnU=; b=yVXyY2AUZaNfVC45klovPSVkF DF9PtgQTUjBtbwVyZOw3RKXDA968tfOPjOqmYFokMeNelv4oqQZZRXOLcY5YoRPJnLy1rB93C6g9a KJPskJ208pnG+hpb+pNEfAN5OhjInE8eh+rwtvywD4hWzZZLxVU1ZoWRFN3yu1IY9902KVVIjqcw3 q85otBoo2ERo8yMsQDxUVVxzbLAQGiY9WyLNcJoxaTvhPRp/XSC/3nCufbgddO5VPYW8Am6qQ84zV F4OMWTR55yLwFW7VFkQRwbH1AdgJC+XMDxF/N0huc0BhPuq3GOaiekWrpIw5Xm21rFoZlCz0CHtoP hImWYsQyQ==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:52888 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 1l9zl4-00054r-0R; Thu, 11 Feb 2021 00:22:58 +0000
To: Martin Duke <martin.h.duke@gmail.com>
Cc: "Scheffenegger, Richard" <rs.ietf@gmx.at>, "Black, David" <David.Black@dell.com>, TSVWG <tsvwg@ietf.org>, "alex.burr@ealdwulf.org.uk" <alex.burr@ealdwulf.org.uk>
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>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <7bfed921-a5ba-6cbb-cf65-2abf96a86c1d@bobbriscoe.net>
Date: Thu, 11 Feb 2021 00:22:57 +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: <CAM4esxQKQ17uMLmJr+PVS1Db50nZffi8Gto2TbBOqWYXP32__w@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------E7C89188618303BDAB1A3958"
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/81jvz2kXv0szLEI63kjliNIkO6Q>
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: Thu, 11 Feb 2021 00:23:10 -0000

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 
> <mailto: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>
>     >> <mailto: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>
>     >>     <mailto: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> <mailto: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/