Re: [tcpm] A possible simplification for AccECN servers

Christoph Paasch <cpaasch@apple.com> Tue, 26 November 2019 18:03 UTC

Return-Path: <cpaasch@apple.com>
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 BD1EB1209DA for <tcpm@ietfa.amsl.com>; Tue, 26 Nov 2019 10:03:43 -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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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=apple.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 O8NQJdwidez6 for <tcpm@ietfa.amsl.com>; Tue, 26 Nov 2019 10:03:40 -0800 (PST)
Received: from ma1-aaemail-dr-lapp03.apple.com (ma1-aaemail-dr-lapp03.apple.com [17.171.2.72]) (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 0D51C120999 for <tcpm@ietf.org>; Tue, 26 Nov 2019 10:03:39 -0800 (PST)
Received: from pps.filterd (ma1-aaemail-dr-lapp03.apple.com [127.0.0.1]) by ma1-aaemail-dr-lapp03.apple.com (8.16.0.27/8.16.0.27) with SMTP id xAQI2j5E024600; Tue, 26 Nov 2019 10:02:55 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=sender : content-type : content-transfer-encoding : from : mime-version : subject : date : message-id : references : cc : in-reply-to : to; s=20180706; bh=YPEaJA0vGxYhOlZkTNZLjutdeB2xRRSIhOkfFvAPqwI=; b=eg4UoHVdJj9qziyvbyKs8dvvLTtGQTofUGag+HDZknT5NEBu7a3Z4KhMfdEXopktbxK1 dU7k6NElKJmx75lKefAitXOWNiv9RT002DamKN0f4MtMfsKKkMNZ1vedsonmRmlrRdTq 1KX3FVXb7+j0qfhsiuD9Z0U/oTTnAPbRWMdrsElDG8tr+VWyu/kax3QkF2bvGdh2vIv+ iwPt2LftmvyIxNxtgLE1ITZvLu2e4atGeX1xLede2DGUyjF4M/nSIksOLjYWsymxKhO2 nwe5jEKVHDltGUiChx1kk5OmumTOwTsGwYc/6u66E1b8dZZsjGiAsBXTsFQvVcFQXuiU rg==
Received: from mr2-mtap-s01.rno.apple.com (mr2-mtap-s01.rno.apple.com [17.179.226.133]) by ma1-aaemail-dr-lapp03.apple.com with ESMTP id 2wf4n7cw90-13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 26 Nov 2019 10:02:54 -0800
Received: from nwk-mmpp-sz12.apple.com (nwk-mmpp-sz12.apple.com [17.128.115.204]) by mr2-mtap-s01.rno.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPS id <0Q1L00M4Q8SFDT70@mr2-mtap-s01.rno.apple.com>; Tue, 26 Nov 2019 10:02:39 -0800 (PST)
Received: from process_milters-daemon.nwk-mmpp-sz12.apple.com by nwk-mmpp-sz12.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) id <0Q1L00H008Q0FR00@nwk-mmpp-sz12.apple.com>; Tue, 26 Nov 2019 10:02:39 -0800 (PST)
X-Va-A:
X-Va-T-CD: f53acd41044cfd4ed231c2dc519dc709
X-Va-E-CD: 4731977435aec74e69aa977e5c3ca6d0
X-Va-R-CD: b84307938ba62a64a1b6a12fbe868462
X-Va-CD: 0
X-Va-ID: 11ad7e9a-57ff-4890-baff-38801aa9db8e
X-V-A:
X-V-T-CD: f53acd41044cfd4ed231c2dc519dc709
X-V-E-CD: 4731977435aec74e69aa977e5c3ca6d0
X-V-R-CD: b84307938ba62a64a1b6a12fbe868462
X-V-CD: 0
X-V-ID: 6f1bbc06-45ff-4767-be93-9f6de46baf5c
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-11-26_05:,, signatures=0
Received: from [17.234.21.101] (unknown [17.234.21.101]) by nwk-mmpp-sz12.apple.com (Oracle Communications Messaging Server 8.0.2.4.20190507 64bit (built May 7 2019)) with ESMTPSA id <0Q1L003ZK8SD6R50@nwk-mmpp-sz12.apple.com>; Tue, 26 Nov 2019 10:02:38 -0800 (PST)
Sender: cpaasch@apple.com
Content-type: multipart/alternative; boundary="Apple-Mail-4AFB73D1-F007-4D7D-B223-2DDF2A83D584"
Content-transfer-encoding: 7bit
From: Christoph Paasch <cpaasch@apple.com>
MIME-version: 1.0 (1.0)
Date: Tue, 26 Nov 2019 10:02:35 -0800
Message-id: <5164E35F-64F1-4852-AC43-AB071E245AA1@apple.com>
References: <2f085024-85e3-fe4f-1625-13574b19ff29@bobbriscoe.net>
Cc: Jonathan Morton <chromatix99@gmail.com>, Richard Scheffenegger <rscheff@gmx.at>, tcpm IETF list <tcpm@ietf.org>, Mirja Kuehlewind <ietf@kuehlewind.net>
In-reply-to: <2f085024-85e3-fe4f-1625-13574b19ff29@bobbriscoe.net>
To: Bob Briscoe <ietf@bobbriscoe.net>
X-Mailer: iPhone Mail (18A172)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-11-26_05:, , signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/jThfm3CrOHykQWBq9fJDn-wWBM8>
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: Tue, 26 Nov 2019 18:03:44 -0000

Hello,

> On Nov 25, 2019, at 9:12 AM, Bob Briscoe <ietf@bobbriscoe.net> wrote:
> 
>  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). 

I support this proposed change for all the reasons that have been outlined by Bob and Neal.


Christoph


> 
> 
> Bob
>> 
>>  - Jonathan Morton
> 
> -- 
> ________________________________________________________________
> Bob Briscoe                               http://bobbriscoe.net/
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm