Re: [tsvwg] Gorry Fairhurst Individual thoughts on choosing whether/how to advance ECN work.

Jonathan Morton <chromatix99@gmail.com> Fri, 15 May 2020 18:14 UTC

Return-Path: <chromatix99@gmail.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 412383A0C51 for <tsvwg@ietfa.amsl.com>; Fri, 15 May 2020 11:14:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level:
X-Spam-Status: No, score=-1.848 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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, 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=gmail.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 BCv52ZqqgSWm for <tsvwg@ietfa.amsl.com>; Fri, 15 May 2020 11:14:57 -0700 (PDT)
Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7232F3A0FBB for <tsvwg@ietf.org>; Fri, 15 May 2020 11:14:57 -0700 (PDT)
Received: by mail-lj1-x241.google.com with SMTP id u6so3235309ljl.6 for <tsvwg@ietf.org>; Fri, 15 May 2020 11:14:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=M8tM4w9I7WFjdZAXu4eBC5mwoAISABR4ihZvdLCII5I=; b=OSm3taHiNga0wFmQQ84d59wihDNa77dKv4iBgGu+gytJhx8CFR71LOi6YgX9KhI1qa Me9+CBRjv6sb51ElCYAmDOYhoPpX2y1ND7jA9nfwnUJClz2IeKrL47MDFQfBEjFfISmn aMK1sJOcnQacFQ4PP2HwfCtiWtvVY4wbn8925iY8X9V11I1hYfcn2cweWSEuRBhRPiOX 722UFFaJcVt3DUYPyWWt6lAZuxVTtkhv61JE1bZzEZHb7WbnXPJoSturHrj5T5SOVHa+ Wbhfhs1uZLOeJlCRVmqvr5mMGj1iaIte9Gzh8XcCuAhnKXO59zJ5Kz0qTEGl0j3n9rYr GOAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=M8tM4w9I7WFjdZAXu4eBC5mwoAISABR4ihZvdLCII5I=; b=P4ieoqAdm19GC1WPuv7jIgR8I2V6Q/6aIVf+CGiKlkcN46qnjxgyqlr+SFjj+B8WfX 1nxan9Emv7ldWKAaM2l7XMTyXKqrF4CACyNo0qKVpuSgqd5pG9KhhrSVl+u8+mC4Rv+H Xn8JPcEFv92w9pyaeBqR9ZZa8ZAvWa8CAzdwg7xm/TJEXTrmZYTqGYQATnE/Grtr2sVM 8Vmaw0m3Sp77NAV0dcog0S7BC/zJ4Ieq7Ei+7gtHHg38kwdHpa6MK1pukpZjNf1DYwmv cehG4O4EqTz433MrqwlU2vOdB0TlyEkJ3ewLWArwNyRmQFpFr0kk6JYZ3vzOMKBcBKw4 8bTw==
X-Gm-Message-State: AOAM533tEQFR2eTL9LcLnm8ka3l27eBicclsY5+GfHys8qX1MoiQGfvL m1VVFASFLUAy4YS7FA3oVmcmujXG
X-Google-Smtp-Source: ABdhPJzkjgGYCJ24XLSm6LTfvLaSIWyZrGwMos2w8ILd+0zNLHIARIAPpn1fpBm+8RTklUKXFuvYkA==
X-Received: by 2002:a2e:9a04:: with SMTP id o4mr2991835lji.117.1589566495318; Fri, 15 May 2020 11:14:55 -0700 (PDT)
Received: from jonathartonsmbp.lan (83-245-235-192-nat-p.elisa-mobile.fi. [83.245.235.192]) by smtp.gmail.com with ESMTPSA id 5sm1514198lju.87.2020.05.15.11.14.54 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 15 May 2020 11:14:54 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.5\))
From: Jonathan Morton <chromatix99@gmail.com>
In-Reply-To: <999D213E-D708-4189-990E-1801F8C6E814@strayalpha.com>
Date: Fri, 15 May 2020 21:14:53 +0300
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, "tsvwg@ietf.org" <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <3CD6E65D-3D28-49E3-B77C-4C3CCC155BA4@gmail.com>
References: <dbc71da6-70f1-7369-1d2d-f08fb3b08b69@erg.abdn.ac.uk> <999D213E-D708-4189-990E-1801F8C6E814@strayalpha.com>
To: Joseph Touch <touch@strayalpha.com>
X-Mailer: Apple Mail (2.3445.9.5)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/xv9LAb1I8JmAbXxuZ7X1bT5neYU>
Subject: Re: [tsvwg] Gorry Fairhurst Individual thoughts on choosing whether/how to advance ECN work.
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2020 18:14:59 -0000

> On 15 May, 2020, at 7:49 pm, Joseph Touch <touch@strayalpha.com> wrote:
> 
> I also haven’t quite seen a brief summary of the utility of these bits as a signal in either direction (endpoint to net; net to endpoint) given the assumption that “everybody lies”.
> 
> IMO, lying is part of why DSCPs are useful only where either redundantly validated on network ingress or inside managed networks.
> 
> So my questions - not really experiments (as per one of the options) are:
> 
> 	- assuming endpoints lie and/or network nodes lie (either by what they indicate or what they rewrite), are either of these options still safe?
> 
> 	- assuming everybody lies (as above), are either of these options still useful? (i.e., more than just safe)
> 
> If not - and partly based on Gorry’s observation above, my inclination is not to define these bits for such uses at all.

It's an important question, so thank you for raising it.  Ultimately the answer to such questions boils down to what incentives an actor may have to abuse the mechanisms controlled by each codepoint.

Taking the question of lying endpoints first, SCE is reasonably robust in that respect.  The normal case is that an SCE sender originates ECT(0), the same as normal ECN.  If it instead originates ECT(1) or CE, it is equivalent to pre-applying a congestion signal and removing the network's ability to give the transport information.  The sender could already ignore that information without giving an explicit signal of doing so, so the latter is not incentivised.  Meanwhile the receiver may choose to ignore the ECT(1) signal and not feed it back to the sender - which is what existing RFC-3168 receivers do anyway, and this is allowed for in SCE's design.  Or they might falsely generate such a signal, but that would reduce its own throughput, so that is not incentivised.  Other forms of lying are already possible with RFC-3168, which SCE does not exacerbate.

In the L4S system, a sender may falsely mark a low-latency transport with ECT(0), or a conventional transport with ECT(1), to drop it into the "wrong" queue and AQM treatment regime at the bottleneck.  I think the former case is the most damaging one, because it would result in other traffic being forced out of the way of the misbehaving sender, which thereby gains a throughput advantage under congested conditions.  This scenario should be familiar from the usual concern about Diffserv PHBs.  I offer no opinion about misbehaving receivers in this context.

If we now turn to the prospect of lying middleboxes, SCE again inherits much existing analysis from RFC-3168.  The new distinction between ECT(0) and ECT(1) is meaningful and carries congestion information, and middleboxes are currently supposed to preserve that distinction (a rule originally intended to support Nonce Sum, a proposed prophylactic against ECN misbehaviour that proved to be unnecessary).  SCE permits changing ECT(0) to ECT(1) in the network, but not the reverse.  The latter would erase congestion information; this is however backstopped by the continued use of CE at a higher level of congestion, so is relatively benign.  A DoS scenario could employ falsely marking with ECT(1), but this could also be done (with greater efficiency) by falsely marking CE, and ultimately the same sorts of mitigations would apply as in RFC-3168.

It's also difficult to see how an attacker could gain benefit from manipulating the ECN field at a middlebox in the L4S system, besides the obvious ploy of simulating the sender falsely setting ECT(0) on L4S traffic.  In part this is because the behaviour of a correctly functioning L4S system is already so fragile, that it is not necessary to do much to disrupt its behaviour.  In particular, one of the worst things a middlebox can do is to simply ignore the ECT(1) codepoint and treat both classes of traffic as indistinguishable; but that is precisely what existing RFC-3168 AQMs are permitted, even encouraged to do.  Recent developments in TCP Prague were intended to detect this case at the endpoints, but actually fail to do so reliably.

I hope that at least begins to answer your question.

 - Jonathan Morton