Re: [Ecn-in-quic] ECN ACK, bytes or packets

"Lubashev, Igor" <ilubashe@akamai.com> Fri, 01 December 2017 17:24 UTC

Return-Path: <ilubashe@akamai.com>
X-Original-To: ecn-in-quic@ietfa.amsl.com
Delivered-To: ecn-in-quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4030B129410 for <ecn-in-quic@ietfa.amsl.com>; Fri, 1 Dec 2017 09:24:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.711
X-Spam-Level:
X-Spam-Status: No, score=-0.711 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, HTTPS_HTTP_MISMATCH=1.989, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-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 RgknOTfnTFRW for <ecn-in-quic@ietfa.amsl.com>; Fri, 1 Dec 2017 09:24:01 -0800 (PST)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::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 DDBD2129418 for <ecn-in-quic@ietf.org>; Fri, 1 Dec 2017 09:23:56 -0800 (PST)
Received: from pps.filterd (m0050093.ppops.net [127.0.0.1]) by mx0a-00190b01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id vB1HMIFt028813; Fri, 1 Dec 2017 17:23:51 GMT
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 : mime-version; s=jan2016.eng; bh=djdkBNpyy69JlnLt4d5sq2qj2rB8+EguNsnvoRzob58=; b=V9ZhH5sy7iDgxX8b/PFU+nysZgoN4wZvl8uVI78nEzb0bhJOhBpsTXdqvizs8yWkPJv+ 3P1i7rz7lDoRBKZn1o56d3LI9MvP1TsYSeOADzhHtrSyGoNlqH2j0BaWq2ZZfBUUGJSx GnXutgpsN7CK1867oLoQ1Sknun2Su+xlf3lRXQPg8s/9LQDSJzFoeILjiRU6VmeLS8a0 qmMjpAgocKgQ7wSRMhbJcwNchDjVWmzzTmpupp/BW+IDoOV5XLoYynh0tSsVw+iB9sj/ fgH77z5s8ANLU8pWYjYyBXvepXhqnOJcr04A6t8E9MDtL1CGVCDAflHHLWgu3p3DMRzD ig==
Received: from prod-mail-ppoint1 (prod-mail-ppoint1.akamai.com [184.51.33.18]) by m0050093.ppops.net-00190b01. with ESMTP id 2ek7amgrra-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 01 Dec 2017 17:23:50 +0000
Received: from pps.filterd (prod-mail-ppoint1.akamai.com [127.0.0.1]) by prod-mail-ppoint1.akamai.com (8.16.0.21/8.16.0.21) with SMTP id vB1HL818016435; Fri, 1 Dec 2017 12:23:49 -0500
Received: from email.msg.corp.akamai.com ([172.27.123.34]) by prod-mail-ppoint1.akamai.com with ESMTP id 2ef4qyjhn9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 01 Dec 2017 12:23:49 -0500
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com (172.27.123.105) by usma1ex-dag1mb6.msg.corp.akamai.com (172.27.123.65) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Fri, 1 Dec 2017 12:23:48 -0500
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com ([172.27.123.105]) by usma1ex-dag1mb5.msg.corp.akamai.com ([172.27.123.105]) with mapi id 15.00.1263.000; Fri, 1 Dec 2017 12:23:48 -0500
From: "Lubashev, Igor" <ilubashe@akamai.com>
To: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
CC: "lars@netapp.com" <lars@netapp.com>, "ingemar.s.johansson@ericsson.com" <ingemar.s.johansson@ericsson.com>, "ecn-in-quic@ietf.org" <ecn-in-quic@ietf.org>
Thread-Topic: [Ecn-in-quic] ECN ACK, bytes or packets
Thread-Index: AdNqhd/7J2ff7yARQUuuWTyqQ+SPBAACIz+AAATkCOAAALfbBwAQZmQAAAkFdoA=
Date: Fri, 01 Dec 2017 17:23:47 +0000
Message-ID: <5d5535dc6c3b45c09a271d61558d0f05@usma1ex-dag1mb5.msg.corp.akamai.com>
References: <DB4PR07MB3483D43052B690A6B2ADC24C2390@DB4PR07MB348.eurprd07.prod.outlook.com> <E13FA54B-5411-471D-BB92-5D6B73A660DC@netapp.com> <DB4PR07MB348E532123C1AEC5C5ED4C4C2390@DB4PR07MB348.eurprd07.prod.outlook.com> <58d0757662f14d2298c4d4c71e32aebc@usma1ex-dag1mb5.msg.corp.akamai.com> <CAKKJt-eJ1Du8tMuVANFTczGUHdKyDpkhm0Z1MjPFb=BkYNZe1g@mail.gmail.com>
In-Reply-To: <CAKKJt-eJ1Du8tMuVANFTczGUHdKyDpkhm0Z1MjPFb=BkYNZe1g@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [172.19.34.233]
Content-Type: multipart/alternative; boundary="_000_5d5535dc6c3b45c09a271d61558d0f05usma1exdag1mb5msgcorpak_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-12-01_04:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1712010199
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-12-01_04:, , signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1712010199
Archived-At: <https://mailarchive.ietf.org/arch/msg/ecn-in-quic/byNZ8ExabkzNeABFYyVvEy3fQns>
Subject: Re: [Ecn-in-quic] ECN ACK, bytes or packets
X-BeenThere: ecn-in-quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "ECN in the QUIC protocol discussion list." <ecn-in-quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ecn-in-quic>, <mailto:ecn-in-quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ecn-in-quic/>
List-Post: <mailto:ecn-in-quic@ietf.org>
List-Help: <mailto:ecn-in-quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ecn-in-quic>, <mailto:ecn-in-quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Dec 2017 17:24:06 -0000

Thanks for the links to draft-ietf-tsvwg-ecn-experimentation, Spencer.

Reading the draft, I still see only the endpoints setting ECT(0|1) codepoints and ECN-supporting routers (network elements) potentially changing that ECT(0|1) to CE codepoint.

Would an endpoint need any more feedback than “your ECT(0) and/or ECT(1) are getting through unbleached” (on this path)?  If the sender marks all outgoing packets with ECT(0|1), there is no need to have a feedback on ECT(0|1) per packet (i.e.. bitmap).  It seems sufficient to only report: “first packet on this path had ECT(0|1)”.  Also, as a failsafe, I’d have a single report (sent once per connection per path): “Although the first packet on this path had ECT(0|1), I just received a packet ‘number #’ on this path with a non-ECT codepoint (i.e. this path is not reliable for ECN)”.

Underlying assumptions for the above:
(a) nothing “out there” will change ECT(0) → ECT(1) or ECT(1) → ECT(0).
(b) Network elements either bleach both ECT(0) and ECT(1), or they do not bleach. If this assumption is incorrect, and we want to support endpoints that can decide to switch between ECT(0) and ECT(1) mid-connection, then a message “Reset ECN state for this path” would do the trick (the message would request the receiver to treat this packet as the first packet on the path).

If there is a need for anything more complex (and more chatty) regarding ECT(0|1), what could it be?


The bitmap in ACK_WITH_ECN frames that I had in mind was only for a feedback on packet groups with CE codepoints.


  *   Igor



From: Spencer Dawkins at IETF [mailto:spencerdawkins.ietf@gmail.com]
Sent: Friday, December 01, 2017 10:54 AM
To: Lubashev, Igor <ilubashe@akamai.com>
Cc: lars@netapp.com; ingemar.s.johansson@ericsson.com; ecn-in-quic@ietf.org
Subject: Re: [Ecn-in-quic] ECN ACK, bytes or packets

Hi, Igor,

On Fri, Dec 1, 2017 at 7:04 AM, Lubashev, Igor <ilubashe@akamai.com<mailto:ilubashe@akamai.com>> wrote:
I was thinking of doing my own cut at a draft, but I keep not finding a sufficiently large block of time for it. :-( So here are some thoughts I had.

1. We should neither report bytes nor packets for CE. Instead, we should have a frame ACK-WITH-CE which is just like ACK frame but also includes a bitmap to indicate which packet groups being ACKed had CE markers and which did not. That frame would only be used if any packets had CE makings.

Speaking as the AD for TSVWG - I sent https://datatracker.ietf.org/doc/draft-ietf-tsvwg-ecn-experimentation/<https://urldefense.proofpoint.com/v2/url?u=https-3A__datatracker.ietf.org_doc_draft-2Dietf-2Dtsvwg-2Decn-2Dexperimentation_&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=xg1zr0jOLWTjj-cSPLK_51Ha7SwkDwwx_qFhsVBRP70&s=SQGrmuSoLTXmMHbRi8L7-8M48zCS3eGPXaX4Qk-W-Ig&e=> to the RFC Editor three days ago, along with https://datatracker.ietf.org/doc/status-change-ecn-signaling-with-nonces-to-historic/<https://urldefense.proofpoint.com/v2/url?u=https-3A__datatracker.ietf.org_doc_status-2Dchange-2Decn-2Dsignaling-2Dwith-2Dnonces-2Dto-2Dhistoric_&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=xg1zr0jOLWTjj-cSPLK_51Ha7SwkDwwx_qFhsVBRP70&s=8mUV443N6WWYtpfO5wDDpQjmKrwatdoebuVlcC2puzs&e=>. These two actions mean that the original meaning of ECT(1) in RFC 3168 as "same as ECT(0)" has been deprecated. I'm betting that some QUIC folk have noticed that, and others may have not.

Asking as an individual - Ingemar was pretty careful in his note to distinguish between packet groups marked with ECT(0) and packet groups marked with ECT(1).  I'm reading "a bitmap" in your thought 1. and wondering if you meant "two bitmaps".

I'm not the one doing the work on ECN experiments (that's being handled by competent people), but my understanding is that we're likely to end up with standards-track interpretations of ECT(1) that aren't the same as the current interpretation of ECT(0), after an appropriate amount of experimenting, so I'd think it's better to track them separately in QUIC, from the beginning, if you're going to track them in QUIC.

Thanks,

Spencer, who is furiously trading hats while typing ....

2. For each new path, we emit a new frame bash to that path that confirms that ECN makings were present in the first packet from that path. That could be in the same packet as the "path probe". If suddenly we receive a packet with ECN bleached from a path that used to have ECN makings, we emit a frame to that effect.

It does not look like much of anything else is needed. The byte counts are not needed on the wire, since the endpoints know packet sizes they sent, so simply by knowing which packets had CE makings, they can compute bytes, if they desire. Also, the end points may wish to know when they can reply on ECN feedback and when not (ECN bits are reaching the other endpoint reliably or not). I doubt that we need to report that 37% of ECN packets are being bleached -- this is a highly unlikely situation and can be treated as a single bit "ECN is not reliable here" piece of information.

- Igor

-----Original Message-----
From: Ingemar Johansson S [ingemar.s.johansson@ericsson.com<mailto:ingemar.s.johansson@ericsson.com>]
Received: Friday, 01 Dec 2017, 7:46AM
To: Eggert, Lars [lars@netapp.com<mailto:lars@netapp.com>]
CC: ecn-in-quic@ietf.org<mailto:ecn-in-quic@ietf.org> [ecn-in-quic@ietf.org<mailto:ecn-in-quic@ietf.org>]
Subject: Re: [Ecn-in-quic] ECN ACK, bytes or packets
Hi
Yes, my intention was to highlight the use of variable-length integer encoding. Obviously it was not that clear 😊
/Ingemar

From: Eggert, Lars [mailto:lars@netapp.com<mailto:lars@netapp.com>]
Sent: den 1 december 2017 11:23
To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com<mailto:ingemar.s.johansson@ericsson.com>>
Cc: ecn-in-quic@ietf.org<mailto:ecn-in-quic@ietf.org>
Subject: Re: [Ecn-in-quic] ECN ACK, bytes or packets

On 2017-12-1, at 11:02, Ingemar Johansson S <ingemar.s.johansson@ericsson.com<mailto:ingemar.s.johansson@ericsson.com>> wrote:
+ If the two tweaks above are possible then we would end up with something like
  + 1 byte for ECT(0), with the special 2 bit encoding we are then able to encode a delta of [0…63] ECT(0] marked packets
  + 1 byte for ECT(1), same encoding as above.
  + 2 or 4 bytes for CE, the most likely encoding that makes it possible to encode a delta of [0..16383] CE marked bytes or [0...2*30-1], the latter is more likely used with large MTU sizes and in some cases also when packets are densely marked (L4S)

We are going to varint encoding almost everywhere in QUIC; see https://quicwg.github.io/base-drafts/draft-ietf-quic-transport.html#rfc.section.8.1<https://urldefense.proofpoint.com/v2/url?u=https-3A__quicwg.github.io_base-2Ddrafts_draft-2Dietf-2Dquic-2Dtransport.html-23rfc.section.8.1&d=DwMGaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=d15wMtMOmTxCnIazi4Jr0lWZR5Sz177mQ0wArW6A8nQ&s=aEFjIdCcgpaiWFkXrFryTqGXWCXKM5bvupRpY1ffvaU&e=>

Lars


_______________________________________________
Ecn-in-quic mailing list
Ecn-in-quic@ietf.org<mailto:Ecn-in-quic@ietf.org>
https://www.ietf.org/mailman/listinfo/ecn-in-quic<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_ecn-2Din-2Dquic&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=xg1zr0jOLWTjj-cSPLK_51Ha7SwkDwwx_qFhsVBRP70&s=X-ccQS2eWjWH-dTJk_qB0YzYsWfI5O8spUkfnJW7jOo&e=>