Re: [tcpm] Coming back to my comments on AccECN wrt ACK Filtering

Bob Briscoe <> Mon, 22 February 2021 22:59 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D77553A2182 for <>; Mon, 22 Feb 2021 14:59:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.433
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: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id qBPBfJPc6ytn for <>; Mon, 22 Feb 2021 14:59:20 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 92F663A2667 for <>; Mon, 22 Feb 2021 14:56:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;; 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=txJCRwxSTPkBNXlGHzGThwJgQxWZDxmazVP0K8sjDSQ=; b=SJJHz7T6rZ+zea7A79Mb8lDxY +Wen7IeUrHVjLLY9ZjmExC6DVBQk4CRgsofZe4g7YkDK4WXT6tWyFZI/bvVUuyutzYjZ9ZYO1bykL gxIymgWlhcdG8UumHWi19qt3nUHtEMpLuNwEgt2NgjVaAdxBhAD7KTIzMlKyH4ugnFgJW19VjnVFA C4AOnrIIzB8SUVt4PhcytaWpPfsf2oWGmRdFIFi+L4G8hN6+xjiO/3NBh2+WNi7NgmN2KZnlRtUbl +pIElC2XEZnpHYj/rU0Rs0F3LfbPc5oL3q0vcIekQjLelci+5GwIn3Q0Cu6SkMMyZAA3slPCVbNTx xvHEQEdLQ==;
Received: from ([]:55728 helo=[]) by with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <>) id 1lEK8J-00041b-Qw; Mon, 22 Feb 2021 22:56:51 +0000
To: Gorry Fairhurst <>, tcpm IETF list <>
Cc: Mirja Kuehlewind <>
References: <> <> <> <> <> <> <> <>
From: Bob Briscoe <>
Message-ID: <>
Date: Mon, 22 Feb 2021 22:56:51 +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: <>
Content-Type: multipart/alternative; boundary="------------30AC2CFCA19B797871212455"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname -
X-AntiAbuse: Original Domain -
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain -
X-Get-Message-Sender-Via: authenticated_id:
Archived-At: <>
Subject: Re: [tcpm] Coming back to my comments on AccECN wrt ACK Filtering
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 22 Feb 2021 22:59:23 -0000


Thank you (as always) for checking this. Inline [BB]...

On 17/02/2021 16:47, Gorry Fairhurst wrote:
> Bob,
> After the last IETF I promised to try simplify the comment on the new 
> ACK Filtering text in ACCECN.
> I've included what the current draft says, and marked comments in the 
> text as ">GF>" to try and be more specific about which words attracted 
> the alst round of feedback:
> 3.3.3.  Requirements for TCP ACK Filtering
>    A node that implements ACK filtering (aka. thinning or coalescing)
>    and itself also implements ECN marking will not need to filter ACKs
>    from connections that use AccECN feedback.  Therefore, such a node
>    SHOULD detect connections that have negotiated the use of AccECN
>    feedback during the handshake (see Table 2) and it SHOULD preserve
>    the timing of each ACK (if it coalesced ACKs it would not be AccECN-
>    compliant, but the requirement is stated as a "SHOULD" in order to
>    allow leeway for pre-existing ACK filtering functions to be brought
>    into line).
> >GF> What does that "SHOULD" really mean? As far as I know, many 
> devices that have RFC3449-like behaviours operate over links that have 
> some specific property that changes the packet timing (perhaps 
> half-duple; or transmission aligned to assigned time slots, or 
> whatever). I therefore don’t understand “preserve timing”.

[BB] Sorry, that was hung over text from a previous way of saying it. 
Here's the sentence with improvements:

                                              Therefore, such a node
    SHOULD detect connections that are using AccECN feedback and it
    SHOULD refrain from filtering the ACKs of such connections...

You'll notice I've removed the mention of using the handshake to detect 
use of AccECN. Being less prescriptive allows a node to use whatever 
heuristics will work, if the designer can think of soemthing better.

>    A node that implements ACK filtering and does not itself implement
>    ECN marking does not need to treat AccECN connections any differently
>    from other TCP connections.
> Nonetheless, it is RECOMMENDED that such
>    nodes implement ECN marking and comply with the requirements of the
>    previoius
> >GF> Typo
>     paragraph.  This should be a better way than ACK filtering
>    to improve the performance of AccECN TCP connections.
>    The rationale for these requirements is that AccECN feedback provides
>    sufficient information to a data receiver for it to be able to
>    monitor ECN marking of the ACKs it has sent, so that it can thin the
>    ACK stream itself.  This will eventually mean that ACK filtering in
>    the network gives no performance advantage.  Then TCP will be able to
>    maintain its own control over ACK coalescing.  This will also allow
>    the TCP Data Sender to use the timing of ACK arrivals to more
>    reliably infer further information about the path congestion level.
> >GF> /This will eventually mean/This might eventually mean/:  because 
> I think tis is an aspiration and maybe some nodes can use ECN to 
> control ACK feedback, but is this always true? Given that link 
> transmission can be very variable, and in the case of ACKs often 
> becomes a limit per-packet rather than per-byte for typical data 
> packets, I’m unsure how the implementation of ECN-marking against a 
> variable jitter/capacity would interact with the capacity fluctuations 
> from sharing media, or other physical layer propagation variations. I 
> suggest this is an ambition rather than it necessarily being true that 
> this will be better than any ACK Filtering method or FQ-style mitigation.

[BB] Agree. I've used "This could eventually mean". Slightly less vague IMO.

>    Note that the specification of AccECN in TCP does not presume to rely
>    on the above ACK filtering behaviour in the network, because it has
>    to be robust against pre-existing network nodes that still filter
>    AccECN ACKs, and robust against ACK loss during overload.
>    Section 5.2.1 of [RFC3449] gives best current practice on ACK
>    filtering (aka. thinning or coalescing).  It gives no advice on ACKs
>    carrying ECN feedback,  because at the time is said that "ECN remain
>    areas of ongoing research".  This section updates that advice for a
>    TCP connection that supports AccECN feedback.
> >GF> RFC3449 does however already note:    “Appropriate treatment is 
> also needed to preserve correct operation of ECN feedback (carried in 
> the TCP header) [RFC3168].“, which you could say you are now expanding 
> upon.

[BB] I've added the following parenthesis:

                ...It gives no advice on ACKs
    carrying ECN feedback (other than that filtering ought to preserve
    the correct operation of ECN feedback), because at the time...

> >GF> I think the next section also hekps explains why ACK Filtering is 
> less needed, if a sender uses offload, and reduces its ACK rate, then 
> the -albeit *slightly* larger- AccECN ACKs are less frequent, and 
> therefore can be expected to be less problematic.

[BB] Thanks for all this (I got the typos too).



> Gorry

Bob Briscoe