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

Martin Duke <martin.h.duke@gmail.com> Fri, 12 March 2021 01:00 UTC

Return-Path: <martin.h.duke@gmail.com>
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 840A53A163A for <tsvwg@ietfa.amsl.com>; Thu, 11 Mar 2021 17:00:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 (2048-bit key) header.d=gmail.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 usecL4cBleC4 for <tsvwg@ietfa.amsl.com>; Thu, 11 Mar 2021 17:00:07 -0800 (PST)
Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com [IPv6:2607:f8b0:4864:20::12c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 244813A1638 for <tsvwg@ietf.org>; Thu, 11 Mar 2021 17:00:07 -0800 (PST)
Received: by mail-il1-x12c.google.com with SMTP id h18so1118287ils.2 for <tsvwg@ietf.org>; Thu, 11 Mar 2021 17:00:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=aw4AA6IQkm7/14OexiuWko1L9qz1a+mCwjQ+In+fzLo=; b=AmHwTeGa3EEmFKaq0h2Klp2xzleuJjZJ5gZzwPCA+0LhitrQNcGz8bJOjThZVr60nE IkypfBXUUkUnLzgDVj0mPINJE5PG6Lud9hBoZ6nfdtXQXoA6gpCCtG2ub+kIfr2RVSpE 3zzqRaHJEtFm0CrvcD1bdYDGr5Omumv9sTaIlkM1DZj/p74D4z/k68HUVtFWSUN4gCfi CidaJ21EOxYVG6uk9mw+Sl7vyTYvzulQKaviBBBYcqpqJWp4iZNb46pIs0swekMLOlrZ CArN5JztvyqSAHsB7GLClYVLxaXnQPwq8XNmGK8ut3DVERtjAkQr3vMulebVphE7lLRW iLnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=aw4AA6IQkm7/14OexiuWko1L9qz1a+mCwjQ+In+fzLo=; b=NCsM7JGTNU9d2oJCGW3EHKwvoT/qvNJG8qroNz8RE7U6P/FZz6jgRvcmlilSa3sVy1 958Mje0dkUSOG/+bfMD8dGYC0iDaogFWLDfIenr9TO2yUKEWhE+L3lLypHPAha5pqCkF 6+xPEw8gvLlGSGK3PHGSuT8wsieK4nMkBhFy4gNC8PhTu3YTLElJ9zSnFrNtFHHP+cYx R6G/+XKFxfC6DYlf4o3oLcje2u7OepqkXOXB2oJni/i143iGC9Msr/4Q0j4wlc6eX/6b JejXJzTUhJTMGurod3yD+3/ZI6/pLPWV7wzkKTttEBSthjtwfC/+79EkdcK8kSwoWF9n LhcA==
X-Gm-Message-State: AOAM533HcSkvrDJiaxpZrZ1S9Fq07wBllxLUZ3voCWA7t5NS/FHbMTyl fCuocW1Qh+VE52tNmip8aWpekHn6RBi1USIySTk=
X-Google-Smtp-Source: ABdhPJxFSia1ungAJqI8gkMROYJOvfD0mMXOWAXn5/1Ox4ctmGfkuyww3QfAcvPrwu9b73401CYioX0KXmwSTU4iwcs=
X-Received: by 2002:a05:6e02:f06:: with SMTP id x6mr837661ilj.287.1615510803966; Thu, 11 Mar 2021 17:00:03 -0800 (PST)
MIME-Version: 1.0
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> <d027d6e8-eb36-1c8b-6e4a-1df9d1660654@bobbriscoe.net>
In-Reply-To: <d027d6e8-eb36-1c8b-6e4a-1df9d1660654@bobbriscoe.net>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Thu, 11 Mar 2021 16:59:57 -0800
Message-ID: <CAM4esxS7SGPqRPTWhiR7LPHQ9pLeSAnTTEu8h9wk36gxrVdyOQ@mail.gmail.com>
To: Bob Briscoe <ietf@bobbriscoe.net>
Cc: "alex.burr@ealdwulf.org.uk" <alex.burr@ealdwulf.org.uk>, "Scheffenegger, Richard" <rs.ietf@gmx.at>, "Black, David" <david.black@dell.com>, TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000099efdb05bd4c6b06"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/1IpODYK8gOtQOnJra8Vh3nr-UyU>
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: Fri, 12 Mar 2021 01:00:10 -0000

Yeah, I had a look. Thanks for doing the work. I will reflect a bit on
arguments against.

On Wed, Mar 10, 2021 at 10:07 AM Bob Briscoe <ietf@bobbriscoe.net> wrote:

> Martin, Alex,
>
> In case you missed the pointer in Greg's presentation today, here's the
> link to the slides I prepared on why I don't think this idea is likely
> to fly...
> https://bobbriscoe.net/presents/2103ietf/l4s-exclusive-ecn-marking.pdf
>
> TL;DR: Seems too slow for in-band testing (perhaps need 800 CE marks).
> Useful out-of-band, but we already have good out-of-band tests without it.
>
> Pls push back, if you can think of an argument against.
>
>
> 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/
>
>