[tcpm] RFC 5690 and TARR draft (was Re: Why draft-gomez-tcpm-ack-rate-request?)

Carles Gomez Montenegro <carles.gomez@upc.edu> Wed, 12 October 2022 11:10 UTC

Return-Path: <carles.gomez@upc.edu>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id E5E8CC14CF10 for <tcpm@ietfa.amsl.com>; Wed, 12 Oct 2022 04:10:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=upc-edu.20210112.gappssmtp.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id hDJmlWFAyYwC for <tcpm@ietfa.amsl.com>; Wed, 12 Oct 2022 04:10:46 -0700 (PDT)
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E602C14CF0C for <tcpm@ietf.org>; Wed, 12 Oct 2022 04:10:45 -0700 (PDT)
Received: by mail-ej1-x62a.google.com with SMTP id 13so37256183ejn.3 for <tcpm@ietf.org>; Wed, 12 Oct 2022 04:10:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upc-edu.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CbIPlX9JoouBUYyHpqBdcLGshGL0scD2RwLxm0Jqhr4=; b=U006T5zfZBxJ52JzRKT2Ycp6kGcEzhhAZdjc7o/ZLjQh0J9z0vdFiYHoKNTDfCSkEq Ud4ylj3vddI3LUHFXIjlHvckfQ3Z10Vo86N4E3pXFo7kaq7yFfmbNMMNzbSdoKhZoySS E8UaFrNdSykt6bheEsXVzZiqOYMegd40buzi/VvAYaJ/NXzG3M5H1aw2ojK4AP3Y1pPo p6KmvyVWZ6k9tJR2yrXFUZSreWy2dlm/jmI3uMj2xGhnWLEamIK53mPJxscssVpmVQKT 1LyVrdnK0xbgjAJIaQ/XQ90bV8ZJFnwGzjGQ9zXxlbtbr1x8G21NcQ+r6BlhQoXBUUkH uWmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CbIPlX9JoouBUYyHpqBdcLGshGL0scD2RwLxm0Jqhr4=; b=kZXAcu2U5k4wd1vmJAdeH3i/14lCqqvQMQkjxHMvrbwW30rcxFNlH3FwHYEGhfsvi4 EUGPviGAdmKkZJ0l3EziOPD7GFtd8uFXYUJuAUfyBLUwJE2Pqaw9eojBanw1BXcQFopZ 0r18u7fvH53njhFNY1hNH9yE8ZqHehiyMmv7aRtZsez5g4XvOEJlzT3ulaL08piE5KV1 cc01tzXBOK2zee2rgw1NM6gIeBRjv/KG1z30WJGW4Hqv1IzlnNBX7OMFgzwyyJWesuxA rxFH0KTaHBl7DNLc3gIvmTgssraKRn0uFjriIMk6VTy3Tl7IFbGp+lYrUZNDRrG7upw/ H2NA==
X-Gm-Message-State: ACrzQf0n3MrHZO9/nSkjMU3I9Wa1hVfbjGVwBMjb/OPedG5SwiaOhklj qA+r5xk7y++EA4hpXOHNWTzeHTKC0qmKYyeB55DmBg==
X-Google-Smtp-Source: AMsMyM4tG3yEHcs4z1QipT8ilLjh9RQzaloFp7iRgvFzzsX4IfXhBKHm6TY0gtcaBdlmzH0a7TrDb791hqlewYGEIic=
X-Received: by 2002:a17:906:ee81:b0:77e:829a:76e9 with SMTP id wt1-20020a170906ee8100b0077e829a76e9mr22867787ejb.207.1665573043391; Wed, 12 Oct 2022 04:10:43 -0700 (PDT)
MIME-Version: 1.0
References: <3546045c-454c-611f-be50-a6de6bd6b03b@erg.abdn.ac.uk> <8956E182-4F45-414D-85D9-14A654A2398D@gmail.com> <7f55afcf-059c-4a6f-9733-2034bbcef760@erg.abdn.ac.uk> <0B05AB01-0C37-4558-8525-2951245C6277@gmail.com> <dd57beff-9fc5-0ca1-2680-192f78c203c4@bobbriscoe.net> <8FBD5FB9-5B8D-4DE2-9999-4D3F59F40E69@gmail.com> <ce35b79a-6a90-e392-7c8f-0f1084988575@bobbriscoe.net> <c10367eb-a2f5-fe47-b018-93451cfd3518@gmx.at>
In-Reply-To: <c10367eb-a2f5-fe47-b018-93451cfd3518@gmx.at>
Reply-To: carles.gomez@upc.edu
From: Carles Gomez Montenegro <carles.gomez@upc.edu>
Date: Wed, 12 Oct 2022 13:10:32 +0200
Message-ID: <CAAUO2xwR+t=jZzs0bBSZ-Dh0d926LUeUnE7wsN5qwZNnEU27XA@mail.gmail.com>
To: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Cc: tcpm@ietf.org, Jon Crowcroft <jon.crowcroft@cl.cam.ac.uk>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/5O7H8pQJiJ9vOk8y9yJtga3k_dQ>
Subject: [tcpm] RFC 5690 and TARR draft (was Re: Why draft-gomez-tcpm-ack-rate-request?)
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: Wed, 12 Oct 2022 11:10:50 -0000

Hi Richard, Bob,

Thanks, and sorry for the late response.

We (the authors of the TARR draft) understand that TARR and RFC 5690
have quite orthogonal goals and use cases. RFC 5690 aims to reduce ACK
traffic when there is congestion on the reverse path in order to
mitigate the congestion itself. While TARR can be used to reduce
network load (and it may be used as a component of several mechanisms,
including ACK congestion control), it focuses rather on end-to-end
performance and end-system resource conservation.

In addition, there are differences in terms of TCP option formats and
usage highlighted by Richard below.

We have added a discussion on the relation between RFC 5690 and the
TARR draft in Appendix A of -06:



> I want to point out, that RFC5690 is NOT a finalized document which
> would be ready for implementation.
> Among other aspects, no TCP option has been assigned at the time, and
> some things would be done differently today (no separate SYN option ID,
> maybe as an advisory not even require a SYN option at all...)
> So if this is the direction this functionality takes, to revive the
> RFC5690 work, those details still need to be fleshed out. Thus the
> discussions were not in vain, and ultimately a document replacing
> RFC5690 is still needed.
> Richard
> Am 29.07.2022 um 17:59 schrieb Bob Briscoe:
> > Jonathan, Carles, [This email was prepared in Mar'22, but apparently I
> > never clicked send - mea culpa, mea maxima culpa]
> >
> > On 25/03/2022 15:42, Jonathan Morton wrote:
> >>>>> I would also note that ARR offers an alternative signalling method
> >>>>> (to AccECN) for effectuating Generalised ECN, as applied to pure
> >>>>> acks in particular.  I think ARR is conceptually and mechanically
> >>>>> simpler for implementers than AccECN is.
> >>> [BB] If I read between the lines, I believe you are categorizing the
> >>> combination of AccECN and generalized-ecn (ECN++) as just one very
> >>> narrow application of them: ACK congestion control. Although the
> >>> combination of AccECN and ECN++ makes ACK-CC possible, that wasn't
> >>> one of the original motivations for either.*
> >> You're reading something that I didn't write.  I don't need to comment
> >> on the goals or applicability of AccECN here, only those of ECN++ and
> >> TARR.
> >
> > [BB] Put simply, yes, negotiating TARR during the handshake could allow
> > ECT to be used on pure ACKs, then the combination of ECT and TARR could
> > be used for ACK congestion control, as well as the other uses of TARR
> > (immediate ACK'ing, reducing unnecessary ACK processing).
> >
> > This is the same as ACK-CC [RFC5690], which allows ECT to be used on
> > ACKs as part of ACK congestion control. In fact, TARR as a protocol is
> > rapidly becoming nearly identical to RFC5690. Even though it was
> > originally motivated by other use-cases. Indeed, I suspect we are close
> > to reaching the point where we suggest that RFC5690 would suffice for
> > the use-cases that ack-pull and TARR were for (except it contains some
> > constraints on the ACK ratio that might need to be updated).
> >
> > I'm sorry to Carles if he's been given the run-around. I and others
> > suggested he generalized his original ACK pull request to an ACK rate
> > request, and none of us noticed that there was already RFC5690 at the
> > end of that path.
> >
> > [BTW, the problem with your original posting was that you were trying to
> > side-swipe at AccECN and ECN++ to the extent that you omitted to say
> > what you *were* talking about: ACK congestion control. So we all had to
> > "read something you didn't write," to work this out. The result was just
> > confused readers, and a failed side-swipe.
> > You didn't need to mention AccECN or ECN++ at all. Because "effectuating
> > Generalised ECN, as applied to pure acks in particular" was just a
> > circuitous way of saying "enabling ECN on pure ACKs." And when you were
> > looking for "an alternative signalling method (to AccECN) for
> > effectuating...", you just meant a way to negotiate an ACK-CC scheme.  ]
> >
> >>> Whatever, if we run with this narrow focus, TARR wouldn't be enough
> >>> to deploy ACK CC. It solely gives the control signal, not the
> >>> measurement in the other direction that would be needed to drive that
> >>> control.
> >> Ack CC would be triggered by the detection of ack-losses or ECN
> >> signals on the acks.  These acks travel in the opposite direction to
> >> data segments, ie. from the "receiver" to the "sender".  TARR allows
> >> the sender, which is in a position to observe these losses or ECN
> >> markings *and* knows what the data-oriented CC algorithm needs, to
> >> inform the receiver what density of acks it is desirable for the
> >> receiver to send.
> >
> > [BB] You say you need "The detection of ack-losses or ECN signals". This
> > is precisely the "measurement in the other direction" that I say you
> > haven't got with TARR alone. Taking each in turn...
> >
> > 1) ACK-losses. The data sender could only detect ACK losses if:
> >
> >      a)  it can be sure that the data receiver never stretches ACKs
> > wider than the requested ACK ratio. In the -03 draft (at my suggestion
> > actually) the data receiver only "SHOULD" abide by the ack rate request,
> > so if it stretched the ACKs because it had insufficient resources (e.g.
> > under attack) the data sender would confuse this to be ACK loss and tell
> > it to slow the ACK rate. Although the protocol fails for a while during
> > this process, at least it self-heals.
> >
> >      b) it can be sure that middleboxes (WiFi, CAKE, DOCSIS, satellite
> > links, etc) are not thinning ACKs. Unfortunately, if there's ACK
> > thinning, the data sender falsely detects ACK-loss, and tells the data
> > receiver to slow the ACK rate. That might cause some ACK filters to thin
> > fewer ACKs, and eventually self-heal. But that's often not going to be
> > true - the degree to which many ACK filters remove ACKs changes all the
> > time. For instance many WiFI boxes coalesce ACKs until they get a
> > transmit opportunity. At the other extreme, ACK decimation might remove
> > a fairly fixed proportion of the ACKs. This would not self-heal.
> >
> >          I don't think many/all of these ACK filtering behaviours were
> > around when the ACK-loss-detection techniques were written in RFC5690.
> >
> > 2) ECN
> > A data sender cannot detect ECN signals on ACKs unless they are set to
> > ECT. It would be possible for a future draft of the TARR spec to allow
> > ECT on ACKs once TARR has been negotiated in the handshake. That was why
> > I said that TARR would need "the measurement in the other direction".
> > TARR *today* doesn't do this.
> >
> >> In other words, TARR could be tried *today* - even without ECN++, and
> >> certainly without AccECN.
> >
> > [BB] Yes. AFAIK, no-one has ever mentioned ECN++ or AccECN in relation
> > to TARR.
> >
> >> As a signalling mechanism, TARR is, in fact, sufficient on its own to
> >> implement Ack CC.
> >
> > [BB] Yes. No-one was saying otherwise (except, as I said, the TARR draft
> > would need to add the measurement channel, by allowing ECT on ACKs once
> > TARR is negotiated).
> > Or, given you are only interested in ACK-CC, just use RFC5690, which
> > already does and says all this.
> >
> >> As you note, ECN++ intends to allow the use of ECT on TCP ack and
> >> control packets, not just data segments, as well as on retransmitted
> >> data segments which are presently sent Not-ECT.  ECT implies, to the
> >> network, that the endpoints will use explicit congestion signals (ie.
> >> CE marks) to reduce traffic volume on the flow and in the direction
> >> that the marks were applied in the network.  Presently, TCP only does
> >> that for data segments (as per RFC-3168).
> >
> > [BB] Yes.
> >
> >> TARR adds a mechanism for an appropriate congestion response for CE
> >> marks applied to TCP acks.  This is completely in keeping with ECN++
> >> goals.  Hence, the successful negotiation of TARR could be taken as
> >> sufficient to permit setting ECT on pure acks, if not the other cases
> >> as well.  This assumes, of course, that an appropriate Ack CC response
> >> is either written into TARR, or is explicitly implied by its presence.
> >
> > [BB] Yes. And it assumes that the TARR draft will add that endpoints
> > supporting TARR can set ECT on pure ACKs. Or just use RFC5690.
> >
> >
> > Bob
> >
> >>   - Jonathan Morton
> >
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm