Re: [tcpm] AccECN and SACK

Bob Briscoe <ietf@bobbriscoe.net> Mon, 13 November 2023 15:50 UTC

Return-Path: <ietf@bobbriscoe.net>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B20C1C1522DB for <tcpm@ietfa.amsl.com>; Mon, 13 Nov 2023 07:50:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, 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=bobbriscoe.net
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d22i-W6opuwn for <tcpm@ietfa.amsl.com>; Mon, 13 Nov 2023 07:50:18 -0800 (PST)
Received: from mail-ssdrsserver2.hostinginterface.eu (mail-ssdrsserver2.hostinginterface.eu [185.185.85.90]) (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 7A5DEC14F736 for <tcpm@ietf.org>; Mon, 13 Nov 2023 07:50:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bobbriscoe.net; s=default; h=In-Reply-To:Cc:From:References:To:Subject: MIME-Version:Date:Message-ID:Content-Type: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=X4Y4rpv015JrW6RBqReEPgPjvp7aBNWnC8Oxoa+BfWU=; b=1Kp8rOZzZmINX0YM1X3q4ThQjl sOS5rfs1O4z5Hef0q6vLLTPmE2ybyEIequS/Kitv3U7UxtdLGZ7iEYIs+DCnAiau8DCpNgrcNmYQU CdoffizFcGYeEd9NH005NtEq83PbPFlnki+8jrhMRVKt2js4onTzw8E6QGh2hjA5g99FAtOp29sKk +JV2EKjSiCcNdR/jKpGyBZsmwnpn0juZGUpItaapfxjb6BIi4egqdm6vWz8FtC+m1ZIl8f3WlafUc 6ydCTenyJsU5CTDalIyAXNqTLSBHEHjRBuNlqGt20sWo/b5PSrZCG8DhUfHwZdLw+XVMPubYzoDru oqqAvr0A==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:52368 helo=[192.168.1.3]) by ssdrsserver2.hostinginterface.eu with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96.2) (envelope-from <ietf@bobbriscoe.net>) id 1r2ZCb-0006Tc-1o; Mon, 13 Nov 2023 15:50:15 +0000
Content-Type: multipart/alternative; boundary="------------jqk0mabeWQ1qzhveePSGL4S9"
Message-ID: <d3ecc18d-2fae-4d4a-85bf-b8a720addde8@bobbriscoe.net>
Date: Mon, 13 Nov 2023 15:50:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-GB
To: rs.ietf@gmx.at, tuexen@fh-muenster.de
References: <E3695987-F075-405C-995F-0AB16B4DBB07@fh-muenster.de> <d8f94bc8-5646-41ca-8cb1-53ca83fe2667@gmx.at>
From: Bob Briscoe <ietf@bobbriscoe.net>
Cc: tcpm IETF list <tcpm@ietf.org>
In-Reply-To: <d8f94bc8-5646-41ca-8cb1-53ca83fe2667@gmx.at>
X-MagicSpam-TUUID: 6f26213d-26c1-4eb2-b6ce-b9c9cec141e5
X-MagicSpam-SUUID: ef811802-df1a-4bf8-8a8e-c0d43ef0c555
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ssdrsserver2.hostinginterface.eu
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.hostinginterface.eu: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: ssdrsserver2.hostinginterface.eu: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/C5-z6xzNh-aNgwubti1yApoR18M>
Subject: Re: [tcpm] AccECN and SACK
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: Mon, 13 Nov 2023 15:50:22 -0000

Richard, Michael, tcpm, see [BB]

On 11/11/2023 09:05, rs.ietf@gmx.at wrote:
>
> Similar to the timestamps question, this appears to be a non-issue.
>
> SACK blocks can only ever be sent, when there is data missing in the 
> sequence space. In theory this includes the special TCP header flags 
> of SYN and FIN, but the former won't ever be in a SACK block (as SACK 
> won't have been declared to be supported by both ends prior of the 
> receipt of the SYN-ACK), and for the FIN bit, it is very uncommon to 
> have additional data beyond that (this consitutes a violation of 
> RFC9323).
>
> In short, pure control packets, such as ACKs, will never be covered by 
> SACK block; if a return volley of data packets happens while ACE-ACKs 
> may still be coming back, SACK blocks will be included.
>
> Again, the various SACK-related RFC, starting from RFC2018 onwards, 
> already stipulate all this.
>
> There is nothing here to change any text in any RFC or Draft to do 
> exactly what is described here.
>
> Best regards,
>    Richard
>
>
> Am 10.11.2023 um 21:19 schrieb tuexen@fh-muenster.de:
>> Dear list,
>>
>> this e-mail triggers the discussion of the second issue described in 
>> Markku's recent e-mail:
>>
>> 2. AoA Sender:
>>       If SACK is enabled, MUST not include a SACK option when acking a
>>       pure Ack. In addition, the spec must include a description /
>>       explanation that this is an exception (UPDATE) to RFC 2018 rule
>>       in Sec 4 that requires including SACK option in all Acks which do
>>       not ack the highest sequence number that has arrived at the
>>       receiver.
>>
>>     Reasoning:
>>       RFC 2018 only provides rules for acking data segments and the
>>       rules become ambiguous/are in conflict with RFC 2883 when
>>       implementing Acks of Acks because RFC 2018 requires including
>>       the SACK option in most of the cases.

[BB] Markku is correct when he says that ACKs or ACKs have never been 
discussed in any RFCs. So, irrespective of whether anyone thinks there 
is a scenario where a sender would set SACK on an AoA, it would surely 
do no harm for the AccECN spec to require that "These ACKs of ACKs MUST 
NOT include any SACK blocks"? So I've proposed a rearrangement of the 
last para of §3.2.2.5.1 below.


            3.2.2.5.1.
            <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn#section-3.2.2.5.1>Data
            Receiver Safety Procedures
            <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn#name-data-receiver-safety-proced>

CURRENT:

    ...
    Certain measures are necessary to prevent incoming ACKs of ACKs
    being mistaken for duplicate ACKs in some circumstances. However,
    ACKs of ACKs can only arise if the original ACKs are ECN-capable.
    Therefore, it is not appropriate to define those measures here.
    Instead any spec that allows ECN-capable pure ACKs MUST make
    sending them conditional on measures to distinguish ACKs of ACKs
    from DupACKs (see for example [I-D.ietf-tcpm-generalized-ecn 
<https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-generalized-ecn-14>]).

PROPOSED:
    ...
    In the above bidirectional scenario, incoming ACKs of ACKs
    could be mistaken for duplicate ACKs. But ACKs of ACKs can be
    distinguished from duplicate ACKs because they do not contain any
    SACK blocks even when SACK has been negotiated. It is outside the
    scope of this AccECN spec to normatively specify this additional
    test for DupACKs, because ACKs of ACKs can only arise if the
    original ACKs are ECN-capable. Instead any spec that allows
    ECN-capable pure ACKs MUST make sending ACKs of ACKs conditional
    on measures to distinguish ACKs of ACKs from DupACKs (see for
    example [I-D.ietf-tcpm-generalized-ecn 
<https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-generalized-ecn-14>]). 
All that is necessary
    here is to require that these ACKs of ACKs MUST NOT contain any
    SACK blocks (which would normally not happen anyway).


Bob


>>
>> Best regards
>> Michael
>>
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm

-- 
________________________________________________________________
Bob Briscoehttp://bobbriscoe.net/