Re: [tcpm] A possible simplification for AccECN servers

Bob Briscoe <ietf@bobbriscoe.net> Mon, 25 November 2019 17:12 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 1A1501209F9 for <tcpm@ietfa.amsl.com>; Mon, 25 Nov 2019 09:12:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5WncZr7NlST9 for <tcpm@ietfa.amsl.com>; Mon, 25 Nov 2019 09:12:17 -0800 (PST)
Received: from server.dnsblock1.com (server.dnsblock1.com [85.13.236.178]) (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 632641209D7 for <tcpm@ietf.org>; Mon, 25 Nov 2019 09:12:17 -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=il0/Xr2DK9+OiKa33IVzr0a6uiFva914x7MqLNcSDlw=; b=Nm3ObsgJ7LbVnkYQmjc8rPm4C 5BW+EFZwrEqDbrsDOhVoxNHEgkAKIazX/tXttIqh4nIimfwwy6XzJZhra00A5Uh80hkiPxCSF+vnQ B9wmq4WFcZJBWXbq9t2i4jHfWOQ4fqz2/vpM7gwLkecBb+4J/7rCLtQAP5gnd+pFUQfbphUa/ZKrq bePXtbYXUknFRRK1Vb+42JpYN9P0kqDZ70/ULAJCD1FLsF9YFegQ6kaHR21FGRvKz8+sfRhEC+Rjc 6nreKZzEJc7ZvGmxIr8daSIOWYwRRE0wJZ+5rxjclepmxaoWlNXe7n1kH01DBGFBeEFA+pmv6moSE 3CzZwZFgQ==;
Received: from [31.185.128.31] (port=37234 helo=[192.168.0.11]) by server.dnsblock1.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92) (envelope-from <ietf@bobbriscoe.net>) id 1iZHuJ-00087D-Rh; Mon, 25 Nov 2019 17:12:16 +0000
To: Jonathan Morton <chromatix99@gmail.com>, Richard Scheffenegger <rscheff@gmx.at>
Cc: Mirja Kuehlewind <ietf@kuehlewind.net>, tcpm IETF list <tcpm@ietf.org>
References: <d35618ee-c0dc-44ee-9e22-50bdabbe026c@bobbriscoe.net> <CAJq5cE0c7TPMVD9PR9h0Q3t_p5Bg=OzGda-phZD4K3gDGJ7Rbw@mail.gmail.com> <trinity-7ba1d8a6-ec0e-408d-9268-3f1fbbc7c8d5-1574520198350@msvc-mesg-gmx023> <9D63E04D-73F0-4CF0-9357-3ACEF67FCA0F@gmail.com>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <2f085024-85e3-fe4f-1625-13574b19ff29@bobbriscoe.net>
Date: Mon, 25 Nov 2019 17:12:15 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <9D63E04D-73F0-4CF0-9357-3ACEF67FCA0F@gmail.com>
Content-Type: multipart/alternative; boundary="------------3E1F9624546E09A91AE4F2AE"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.dnsblock1.com
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: server.dnsblock1.com: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: server.dnsblock1.com: in@bobbriscoe.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/YDVbssFAe86jjQLBPjhuKMhiG4s>
Subject: Re: [tcpm] A possible simplification for AccECN servers
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
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, 25 Nov 2019 17:12:20 -0000

Jonathan,

On 24/11/2019 13:20, Jonathan Morton wrote:
>> On 23 Nov, 2019, at 4:43 pm, Richard Scheffenegger <rscheff@gmx.at> wrote:
>>
>> My reading of bob’s suggestion is
>>
>> Syn - accecn
>> Syn-ack no ect
I think Richard meant 'no ECN' at the TCP layer, rather than 'no ect', 
which implies the IP layer. I don't think this led to any confusion so 
far on the thread, but I've corrected it in case someone else gets confused.

>>
>> I don’t see any problem there ;
> That is indeed a valid transaction, but one which represents an AccECN client (that is, AE|CWR|ECE on SYN) and a Not-ECT server.  Of course, it is also legal by protocol to request RFC-3168 ECN (that is, CWR|ECE without AE on SYN) with a Not-ECT server.
>
> What the draft currently (and correctly, IMO) forbids is for an AccECN server to downgrade RFC-3168 clients to Not-ECT.  I don't see any reason for allowing this, because the difference in code complexity must be very small, and the benefit to the RFC-3168 supporting clients which are ubiquitous today (even if they don't always advertise it) in terms of avoiding packet loss and retransmissions just for the sake of a congestion signal is significant.
I also "don't see any reason for allowing this", but that isn't what 
motivates text in RFCs. If there is no interoperability reason to 
disallow such a downgrade, then we should not disallow it.
>
> It does appear that I missed part of Bob's proposal through trying to read it on a phone at the airport.  It made me think that he was proposing that AccECN *clients* might not support RFC-3168 as well.  I now see that he was proposing this only for servers.  I still think this is wrong-headed, but it technically doesn't break the protocol on the wire.
Yes, that's my point.

If it doesn't break the protocol, it's not up to the IETF to tell 
implementers what is "right-headed". The two examples I gave are 
possible valid reasons an implementer might have (but even if no-one 
could think of a valid reason now, there's no need to preclude this):
i) a cut-down lightweight TCP implementation
ii) an implementer wishing to rationalize the server code she has to 
maintain when, in the long term future (recall that RFCs last for ever) 
AccECN might have become pervasive and 3168 ECN hardly ever seen.

Here's how I propose to alter the text:

CURRENT:

    3.  The third block shows the cases where the TCP server (B) supports
        AccECN but the TCP client (A) supports some earlier variant of
        TCP feedback, indicated in its SYN.Therefore, as soon as an AccECN-enabled TCP server (B) receives the SYN 
shown, it MUST set both its half connections into the feedback mode 
shown in the rightmost column.


PROPOSED:

    3.  The third block shows the cases where the TCP server (B) supports
        AccECN but the TCP client (A) supports some earlier variant of
        TCP feedback, indicated in its SYN.When an AccECN-enabled TCP server (B) receives a SYN from a client in 
classic ECN feedback mode (AE,CWR,ECE = 0,1,1) it SHOULD set both its 
half connections into the classic ECN feedback mode as shown in the 
rightmost column and return a SYN-ACK as shown (AE, CWR, ECE = 0,0,1). 
The "SHOULD" allows for the unlikely case where a server might not wish 
to implement classic ECN. When an AccECN-enabled TCP server (B) receives 
a SYN from a client in No ECN mode (AE,CWR,ECE = 0,0,0) it MUST set both 
its half connections into the No ECN feedback mode as shown in the 
rightmost column and return the SYN-ACK shown (AE,CWR,ECE = 0,0,0).


Bob
>
>   - Jonathan Morton

-- 
________________________________________________________________
Bob Briscoe                               http://bobbriscoe.net/