Re: [tcpm] Comments on draft-ietf-tcpm-accurate-ecn-14
Bob Briscoe <ietf@bobbriscoe.net> Mon, 22 March 2021 12:04 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 E50273A12BD for <tcpm@ietfa.amsl.com>; Mon, 22 Mar 2021 05:04:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.774
X-Spam-Level:
X-Spam-Status: No, score=0.774 tagged_above=-999 required=5 tests=[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.972, URIBL_BLOCKED=0.001] autolearn=no 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 yL6uo9V2T5_Q for <tcpm@ietfa.amsl.com>; Mon, 22 Mar 2021 05:04:42 -0700 (PDT)
Received: from mail-ssdrsserver2.hosting.co.uk (mail-ssdrsserver2.hosting.co.uk [185.185.84.51]) (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 4D6B03A12BC for <tcpm@ietf.org>; Mon, 22 Mar 2021 05:04:42 -0700 (PDT)
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=t0cyDaDwDiMdWGhagscE5IInSigx3eKJG4ML7eAZPc4=; b=zZJ/s/8KmzRvkcQsnIODpRQn2 yzSrWKOfSBUDnkFBq2nsKVqahzjIKQGn07GWqwzTXT26GXbR9cWMsgShGSITFrYxas2IL/s/HSzO+ /2JlXMIGx15JClkHbVLDGVbc8BWRLNUiSPwZ5BIlWpOXHEmfebuSHaRxNvPZkZZVfI56cn6H80QNC mm9+KIXdx1qL1TiiRVgtveoZjN+vO2MQBWUrOY6tNdIpbZYBGjn3c7IGmCN9iWlQuC16hpYQk1GGF V1SdrzEKiCqUBYxraY6/7TRHY7r5Zvm/E17z65vnE0DrppXkXXYPia0aU07LcLTfs6bIxQafazxYT FJGvd4/EA==;
Received: from 67.153.238.178.in-addr.arpa ([178.238.153.67]:45588 helo=[192.168.1.11]) by ssdrsserver2.hosting.co.uk with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from <ietf@bobbriscoe.net>) id 1lOJIW-0005r8-BJ; Mon, 22 Mar 2021 12:04:40 +0000
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, tcpm IETF list <tcpm@ietf.org>
Cc: Mirja Kuehlewind <ietf@kuehlewind.net>
References: <ba4352f7-277a-b476-756a-0a6d44d65152@erg.abdn.ac.uk>
From: Bob Briscoe <ietf@bobbriscoe.net>
Message-ID: <d598bb99-74d1-8a15-28a9-0de4111caaa6@bobbriscoe.net>
Date: Mon, 22 Mar 2021 12:04:38 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1
MIME-Version: 1.0
In-Reply-To: <ba4352f7-277a-b476-756a-0a6d44d65152@erg.abdn.ac.uk>
Content-Type: multipart/alternative; boundary="------------4AAA6D6FF637B0B1511E5C4C"
Content-Language: en-GB
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ssdrsserver2.hosting.co.uk
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.hosting.co.uk: authenticated_id: in@bobbriscoe.net
X-Authenticated-Sender: ssdrsserver2.hosting.co.uk: in@bobbriscoe.net
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/WSC_E800ykUVVzhjUG1L6M6Fsbo>
Subject: Re: [tcpm] Comments on draft-ietf-tcpm-accurate-ecn-14
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, 22 Mar 2021 12:04:48 -0000
Gorry, Thank you for this additional review. On 12/03/2021 11:50, Gorry Fairhurst wrote: > Abstract: > /Given TCP header > space is scarce, this allocates a reserved header bit, that was > previously used for the ECN-Nonce which has now been declared > historic. / > - English: /which/that/ /that/which/ perhaps?? > - However, I wonder if this is necessary in the abstract, surely a > reader of the abstract in future would only need to know: > /This allocates a reserved header bit, previously used for the > ECN-Nonce./ [BB] Done, except I've said: "previously assigned to the ECN-Nonce" rather than "used by", since it's unclear how much actual use it got. I also thought the following would be better, now that this updates RFC3168: s/ECN is specified for TCP in such a way that only one feedback signal can be transmitted per Round-Trip Time (RTT)./ /ECN was originally specified for TCP in such a way that only one feedback signal can be transmitted per Round-Trip Time (RTT)./ > I also do wonder if the abstract still rather complicated (aka long)? [BB] It's 202 words. I'd rather leave it as it is if your objection isn't particularly strong. > —— > Section 2.5: > /According to [RFC3168] the Data Sender is meant to > set control packets to Not-ECT. However, mechanisms in certain > private networks (e.g. data centres) set control packets to be ECN > capable because they are precisely the packets that performance > depends on most./ > - I think /set/ is rather odd. > - Can we talk about the /ECN IP field/ being set (as used later) ? [BB] I don't think 'set' is odd. IMO, it seems like the most natural word to use. Do you have a preferred alternative? But I agree it's useful to distinguish the IP-ECN field from TCP ECN flags. Indeed, I've run through the whole of section 2, and clarified where it is talking about the IP-ECN field. > —— > Two questions in the same sentence on p16, starting /So, without these > rules/: > /could end up/ > - this seems possibly one of those phrases that confuses non-native > speakers? [BB] I'm not sure what you think the problem is. Possibly the two 'withouts'? I tried this: Original: /So, without these rules, the two peers could end up using different feedback modes without knowing it./ Option 1: /So, without these rules, the two peers could end up using different feedback modes unknowingly./ Option 2: /So, in the absence of these rules, the two peers could end up using different feedback modes without knowing it./ A US-English speaker might use 'absent these rules', but I think the longer British English above is equally understood in the US. Can someone confirm that? I tried unwittingly instead of unknowingly, but I think that is a bit obscure for non-native English speakers. I've gone for Option 2, but pls suggest something else, if you'd prefer it. > > /using difference feedback modes/ > - is that word really difference not different? [BB] Thx - different was meant. > > —— > > Section 3.2 > /3.3.2. Requirements for TCP Normalizers/ > > I like the introduction of subheadings within 3.2, because it helps > people find the part of the spec they need to see - especially > important when the implementer only needs to understand one aspect in > detail, however, I wonder if this second part needs a separate heading: > /A middlebox claiming to be transparent/ > … really only for normalisers? - I expected this to be relevant to any > “transparent” middlebox” > - would it be better with a separate subsection for this important point? [BB] Just before your review, I had proposed to my co-authors that we should change this para. Now, from your comments, I see that the scope of the whole section needs clarifying. The idea was that a set of TCP headers that complies with the RFCs can either a) remain completely unchanged (e.g. transparent performance enhancement) b) be 'normalized' to a narrower interpretation of the RFCs, which might not always be up to date (e.g. an intrusion detection system). I'd rather draw this fine line within a single section, because it's too difficult for two section headings to describe the difference well enough. I've also removed some gratuitous criticism of middleboxes, which won't encourage middlebox vendors to comply. Here's the whole rewritten subsection (I avoided a full diff which was too hard to follow): +3.3.2. Requirements for Transparent Middleboxes and TCP Normalizers Another large class of middleboxes intervenes to some degree at the transport layer, but attempts to be transparent (invisible) to the end-to-end connection. A subset of this class of middleboxes attempts to `normalize' the TCP wire protocol by checking that all + values in header fields comply with a rather narrow interpretation + of the TCP specifications that is also not always up to date. + A middlebox that is not normalizing the TCP protocol and does not + itself act as a back-to-back pair of TCP endpoints (i.e. a middlebox + that intends to be transparent or invisible at the transport layer) ought to forward the AccECN TCP Option unaltered, whether or not the length value matches one of those specified inSection 3.2.3 <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.3>, and whether or not the initial values of the byte-counter fields + match those inSection 3.2.1 <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.1>. This is because blocking apparently + invalid values prevents the standardized set of values being extended in future (given outdated normalizers would block updated hosts from using the extended AccECN standard). + A TCP normalizer is likely to block or alter an AccECN TCP Option + if the length value or the initial values of its byte-counter fields + do not match one of those specified inSection 3.2.3 <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.3> orSection 3.2.1 <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.1>. + However, to comply with + the present AccECN specification, a middlebox MUST NOT change + the ACE field; or those fields of the AccECN Option that are currently + specified inSection 3.2.3 <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.3>; or any AccECN field covered by integrity + protection (e.g. [RFC5925 <https://datatracker.ietf.org/doc/html/rfc5925>]). Note that I've changed the 'MUST' to 'ought to', because this is really clarification advice (although the line between advice and protocol interop is blurred with middleboxes). I can revert to MUST if the WG would prefer. > — > I have re-read /3.3.3. Requirements for TCP ACK Filtering/ in -14, and > although I am not yet sure of the speculation that using ECN in future > is sufficient to regulate the ratio of ACKs to Data, I believe the > text is correct in its interpretation of RFC3449, and that the present > design is anyway robust to ACK mitigation methods. > —— > /Once DCTCP offload hardware supports AccECN/ > … I’m not sure this para is perfected yet, because it is directed at > DCTCP. I’d like to consider a reordering that is more like: > > /The above process has been designed to enable a continuing > incremental deployment path - to more highly dynamic congestion > control. Once offload hardware supports AccECN, it will be > able to coalesce efficiently for any sequence of marks, instead of > relying for efficiency on the long marking sequences from step > marking. In the next stage, marking can evolve from a step to > a ramp function. That in turn will allow host congestion control > algorithms to respond faster to dynamics, while being backwards > compatible with existing host algorithms./ > … i.e., do we really have to directly discuss DCTCP here, doesn’t it > in general refer to AccECN rather? [BB] You're right, thank you. Done. > —— > > Security Considerations: > > The “downgrade attack” regarding a receiver deciding/accidentally > omitting an option in the Security Considerations seems incorrect to me. > To me, the text is written in a way that sounds like it impacts the > “security” of the connection. I do not agree with that interpretation. > To me, this is a performance reduction, and the degrade does not > impact the ability to communicate or security properties. I suggest > some rewording here. Current: No known way can yet be contrived to take advantage of this downgrade attack, but it is mentioned here in case someone else can contrive one. Proposed: No known way can yet be contrived for a receiver to take advantage of this behaviour, which seems to always degrade its own performance. However, the concern is mentioned here for completeness. > —— > Security Considerations: > > There’s now also a Security Considerations include a ToDo, that I do > not yet understand, look forward to this! I propose to clarify and cut down the existing text, and to replace the "{ToDo}" with the two new sentences below: Current: InSection 3.2.3 <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.3> a Data Sender is allowed to ignore an unrecognized TCP AccECN Option length and read as many whole 3-octet fields from it as possible up to a maximum of 3, treating the remainder as padding. This opens up a potential covert channel of up to 29B (40 - (2+3*3))B. {ToDo...} Proposed: InSection 3.2.3 <https://datatracker.ietf.org/doc/html/draft-ietf-tcpm-accurate-ecn-14#section-3.2.3> a Data Sender is allowed to ignore an unrecognized TCP AccECN Option length and treat extra octets as padding. This is noted here in case it could be used as a covert channel. The size is up to 29 B (40 - (2+3*3)) per packet. However, it is really an overt channel (not hidden) and it is no different to the use of unknown TCP options with unknown option lengths in general. Therefore, where such a channel is of concern, it can already be adequately mitigated by regular TCP normalizer technology (see Section 3.3.2). This also requires the final para to be updated Current: The AccECN protocol is not believed to introduce any new privacy concerns, because it merely counts and feeds back signals at the transport layer that had already been visible at the IP layer. Proposed: The AccECN protocol is not believed to introduce any new privacy concerns, because it merely counts and feeds back signals at the transport layer that had already been visible at the IP layer. A covert channel can be used to compromise privacy. However, as explained above, undefined TCP options generally open up such channels and common techniques are available to close them off. I shall also shift this para up one, so that is comes straight after the previous discussion of covert channels. > —— > > Best wishes, > > Gorry [BB] As always, thank you very much for your continued diligence. Bob > > (P.S. I will send one more specific question in a separate email). > -- ________________________________________________________________ Bob Briscoe http://bobbriscoe.net/
- [tcpm] Comments on draft-ietf-tcpm-accurate-ecn-14 Gorry Fairhurst
- [tcpm] Sender Fallback in draft-ietf-tcpm-accurat… Gorry Fairhurst
- Re: [tcpm] Sender Fallback in draft-ietf-tcpm-acc… Bob Briscoe
- Re: [tcpm] Sender Fallback in draft-ietf-tcpm-acc… Gorry Fairhurst
- Re: [tcpm] Sender Fallback in draft-ietf-tcpm-acc… Mirja Kuehlewind
- Re: [tcpm] Sender Fallback in draft-ietf-tcpm-acc… Gorry Fairhurst
- Re: [tcpm] Sender Fallback in draft-ietf-tcpm-acc… Bob Briscoe
- Re: [tcpm] Sender Fallback in draft-ietf-tcpm-acc… Mirja Kuehlewind
- Re: [tcpm] Comments on draft-ietf-tcpm-accurate-e… Bob Briscoe
- Re: [tcpm] Comments on draft-ietf-tcpm-accurate-e… Gorry Fairhurst