Re: [tsvwg] Update to Position Statement on ECT(1)

"Holland, Jake" <jholland@akamai.com> Mon, 11 May 2020 00:09 UTC

Return-Path: <jholland@akamai.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 62C983A0BF0 for <tsvwg@ietfa.amsl.com>; Sun, 10 May 2020 17:09:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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, DKIM_VALID_EF=-0.1, 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=akamai.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 B3Wcd-1n3jsu for <tsvwg@ietfa.amsl.com>; Sun, 10 May 2020 17:09:32 -0700 (PDT)
Received: from mx0b-00190b01.pphosted.com (mx0b-00190b01.pphosted.com [IPv6:2620:100:9005:57f::1]) (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 712683A0BEC for <tsvwg@ietf.org>; Sun, 10 May 2020 17:09:32 -0700 (PDT)
Received: from pps.filterd (m0122331.ppops.net [127.0.0.1]) by mx0b-00190b01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 04B03in4029067; Mon, 11 May 2020 01:09:31 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=jan2016.eng; bh=UegeB2wHr0yYAd3U24CDWXxYnW2Bu90BwEMMbKTS7GQ=; b=YJHpu1FAz/W88679eN5usTkdwrCnH8cPPL9T8XEVOkYMiz5RDjGjV4p82+Xz2xMJXp7m qQ0AKmYdu8HUOXkOSgQW7LR8Ja6GhRyQBmIC8WMyS7q5zlA7LlNYxpiP5E0atK2FEHQS 0l88zX2IN7rHXTk8ANbrfggZH2o8j/d2QDzewuxvSLbil4gaX1s0peegphqFLOPoSz3Z vJWOMRcrDRUBc0x3dj1+x25YYv7tzmb8hJBSbPV1exnI0vxgmQFvbU8G6mnwrk0dapE6 AHfc+qCAkKRqlwkOwou2bNqVhOwcrt/mNihpdm+2h+JafOOqNR6bNEDkUK+G389+zm/c 9A==
Received: from prod-mail-ppoint3 (a72-247-45-31.deploy.static.akamaitechnologies.com [72.247.45.31] (may be forged)) by mx0b-00190b01.pphosted.com with ESMTP id 30whcxa095-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 11 May 2020 01:09:31 +0100
Received: from pps.filterd (prod-mail-ppoint3.akamai.com [127.0.0.1]) by prod-mail-ppoint3.akamai.com (8.16.0.27/8.16.0.27) with SMTP id 04B02Pjw016626; Sun, 10 May 2020 20:09:30 -0400
Received: from email.msg.corp.akamai.com ([172.27.123.31]) by prod-mail-ppoint3.akamai.com with ESMTP id 30xg5mck6y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 10 May 2020 20:09:30 -0400
Received: from usma1ex-dag1mb6.msg.corp.akamai.com (172.27.123.65) by usma1ex-dag1mb2.msg.corp.akamai.com (172.27.123.102) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 10 May 2020 20:09:29 -0400
Received: from usma1ex-dag1mb6.msg.corp.akamai.com ([172.27.123.65]) by usma1ex-dag1mb6.msg.corp.akamai.com ([172.27.123.65]) with mapi id 15.00.1497.006; Sun, 10 May 2020 20:09:29 -0400
From: "Holland, Jake" <jholland@akamai.com>
To: "C. M. Heard" <heard@pobox.com>
CC: TSVWG <tsvwg@ietf.org>
Thread-Topic: [tsvwg] Update to Position Statement on ECT(1)
Thread-Index: AQHWJXDCMj0HjdV7wk+M4pcr+ovB2aihqRUAgAAqnYA=
Date: Mon, 11 May 2020 00:09:29 +0000
Message-ID: <2CBBD8CD-2088-4E41-B113-EED665853D3C@akamai.com>
References: <BE44EAE9-5CFB-4F5D-85B8-05AFA516C151@akamai.com> <CACL_3VEbUHB-Omwp1-g5Tq3G3J-kKj9N3jPZLcfruicw3X=AsA@mail.gmail.com>
In-Reply-To: <CACL_3VEbUHB-Omwp1-g5Tq3G3J-kKj9N3jPZLcfruicw3X=AsA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.36.20041300
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.19.94.38]
Content-Type: text/plain; charset="utf-8"
Content-ID: <55F8AF929FF46545AE971F2C195EEBC9@akamai.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.676 definitions=2020-05-10_11:2020-05-08, 2020-05-10 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2002250000 definitions=main-2005100226
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.676 definitions=2020-05-10_11:2020-05-08, 2020-05-10 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 suspectscore=0 spamscore=0 clxscore=1011 impostorscore=0 priorityscore=1501 lowpriorityscore=0 mlxlogscore=999 bulkscore=0 adultscore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2005100226
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/TDMKRyH9E6zho6VkiXDYes7FZK0>
Subject: Re: [tsvwg] Update to Position Statement on ECT(1)
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: Mon, 11 May 2020 00:09:35 -0000

Hi Mike,

From: "C. M. Heard" <heard@pobox.com>
> Yes, combinations marked (**) below would have to changed from RFC 6040:
...
> Similar changes would be needed for draft-ietf-tsvwg-rfc6040update-shim and draft-ietf-tsvwg-ecn-encap-guidelines.
>
> Clearly, the need to get such changes deployed would be a barrier to barrier to adoption.

Yes.  I think in a recent thread I heard it confirmed that current tunnel
handling of these is kind of spotty today, specifically:

  > as an endpoint we'll be dealing with weird inconsistencies that basically
  > never fully understood anything beyond "don't lose CE marks" and maybe
  > "loss is acceptable in confusing cases", if we're lucky.

  [BB] See reply to Dave Taht just now, which pretty much confirms what 
  you've just said. 

that's from here:
https://mailarchive.ietf.org/arch/msg/tsvwg/QudqLu1RTQZCVnS4HNf8jnZ_kIY/

(I think the Dave Taht reply he was referencing was this one:
https://mailarchive.ietf.org/arch/msg/tsvwg/2ElPK72IiFg2gHJZ_rLMUKTDfCI/ )

I'm beginning to think the reason I've come down differently than the
L4S team on the judgement call for this approach being better, in light
of the state of tunneling encapsulation deployments, might boil down to
a disagreement over the answer to a question like:
  Which is better:
  - losing the safety response of MD from a loaded classic queue, or
  - losing some of the reliability on the low-latency response when there
    is a dualq on-path?

I'm beginning to think we might be stuck with one of those options for
tunneled paths until tunnel decap implementations can be widely upgraded
in deployment, however this lands.

> - the existing accecn spec would often lose non-CE signals
>
> Actually, I would go farther and say that something rather different from the existing AccECN draft would be needed. AccECN provides accurate feedback of the number of CE marks observed. Under the proposed scheme L4S would need to getting accurate feedback of the number of ECT(0)  (pre-congestion / some congestion) marks. AccECN would need to be re-worked to provide both that and, in addition, either the existing ECE/CWR handshake or something else that performs the equivalent function. The most obvious solution would be to repurpose NS and one or  more currently reserved flag bits (or use other ideas from RFC 7560 Sec 5.2) and leave ECE/CWR unchaged. I note in passing the SCE proposal would have to do something along the same lines (though AFAICT that has not yet been fully fleshed out).

Agreed, I think a different feedback than AccECN would be smarter if the
ECT(1)->ECT(0) approach goes forward, and I like the NS reflection approach
that SCE's implementation started with.  (Although it might lose fidelity
from some ack aggregation responses, I'd expect usually that the marking
rate maintains proportionality on the low-congestion signal, and where that
fails, the standard ECE response is at least reliable, so it covers the
safety considerations the same way as classic marking.)

However, I also think for anyone who disagrees, other viable approaches
for the feedback might be possible.  But in that direction, I do think
it probably would need to differ from AccECN.  This would of course need to
be nailed down in the end, though I didn't get into it in the first email.
But the potential complexity here is one of the reasons I rate the
suggestion as perhaps a major architectural change for L4S.

I tend to think that the per-ECT(0) reflection in NS is the best way,
but I don't think it would change the rest of the argument if that position
turned out wrong.

> - For paths with multiple AQMs, the classifier partially loses integrity in
>   later AQMs when earlier AQMs are loaded.  (Note also the worse downside
>   that increasing deployment of new AQMs potentially reduces the fidelity
>   further.)
>
> If I understand what is being said, this is because ECT(0) would become ambiguous, as it can appear either on an L4S packet with a pre-congestion marking, or a non-L4S packet.  Doesn't the same issue exist with the current L4S proposal for CE-marked packets?

Yes, but the L4S specs go over this and walk through the reasoning for
why they landed on classifying CE into the LL queue, and the net result
in that case is  that the ECT(1)->CE marking strategy that L4S currently
follows will keep the 1/p packet signals in the LL queue for the later
hops.

(The potential problems were mostly limited to mis-classified marked
classic traffic, which will tend to be fewer in number and also less
severe given that the flow is slated to back off anyway, plus a review of
the main implementations suggested they wouldn't be doing double-backoffs
if the CE packet was out of order, IIRC.)

It might be better to phrase this not as "loses integrity", but rather as
"might systematically increase the latency experienced" for the 1/p signal,
since when there are multiple dualqs in line, those packets (but not others
from L4S flows) will land in the classic queue on the later dualqs.  This
is arguably a worse downside than the classification failure from putting
CE-marked classic traffic in the LL queue.

> Actually, it seems to me that this approach would yield exactly the same congestion signaling capability as using ECT(1) as a  pre-congestion / some congestion mark. All that has been done is to reverse the role of ECT(1) and ECT(0) compared to what the SCE draft and RFC 6040 envisioned. In other words:
>
>      +-----+-----+
>      | ECN FIELD |
>      +-----+-----+
>         0     0        Not-ECT
>         0     1        ECT(1) - L4S/SCE Capable AND No Congestion 
>         1     0        ECT(0) - Some Congestion OR RFC 3168 ECN Capable
>         1     1        CE

Yes, that's my understanding.  I think the whole proposal can reasonably be
summarized as "SCE with the bits flipped".

> Jake, you said that the three issues discussed above -- tunnels, AccECN, and multiple AQMs in the path are "a few of the known tradeoffs." What are the others?

These are all the ones I know of yet, but I think Bob and Koen might have
some others they already know.  I'm not sure I got the whole story yet.

Thanks for your comments.

Best regards,
Jake