RE: ECN in QUIC

Ingemar Johansson S <ingemar.s.johansson@ericsson.com> Wed, 24 January 2018 20:52 UTC

Return-Path: <ingemar.s.johansson@ericsson.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A83EC129966 for <quic@ietfa.amsl.com>; Wed, 24 Jan 2018 12:52:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.331
X-Spam-Level:
X-Spam-Status: No, score=-2.331 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_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 LwYuNJVX7hFn for <quic@ietfa.amsl.com>; Wed, 24 Jan 2018 12:52:05 -0800 (PST)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (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 6D5CF129511 for <quic@ietf.org>; Wed, 24 Jan 2018 12:52:04 -0800 (PST)
X-AuditID: c1b4fb25-48bff7000000341b-e3-5a68f1f2ddbd
Received: from ESESSHC008.ericsson.se (Unknown_Domain [153.88.183.42]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id CA.F5.13339.2F1F86A5; Wed, 24 Jan 2018 21:52:02 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.42) with Microsoft SMTP Server (TLS) id 14.3.352.0; Wed, 24 Jan 2018 21:52:02 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=O4cQnEUF7hrH3CmjdAoWqnpo4wQoaDNMSUQuewWWbvI=; b=bIWNRgVmxl+5R1It6fH+haXQzkLwOB+mf7ARvMBPNvF4ilH990oJ1h3gmSRtrhHishhaZJ0tmNlZVDVkEBVhfmCLrX9DBvOBZg2yBK025FXD7MjVcOq+V7o/9O4ax7gpOWY7eUCPB2Uhn/1hYJ8xz+GZaD+346+vjIZdzZ8LKNM=
Received: from HE1PR0702MB3625.eurprd07.prod.outlook.com (52.133.6.23) by HE1PR0702MB3769.eurprd07.prod.outlook.com (52.133.7.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.5; Wed, 24 Jan 2018 20:51:59 +0000
Received: from HE1PR0702MB3625.eurprd07.prod.outlook.com ([fe80::8468:8225:cde3:850c]) by HE1PR0702MB3625.eurprd07.prod.outlook.com ([fe80::8468:8225:cde3:850c%13]) with mapi id 15.20.0444.016; Wed, 24 Jan 2018 20:51:59 +0000
From: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
To: "Lubashev, Igor" <ilubashe@akamai.com>, QUIC WG <quic@ietf.org>, "huitema (huitema@huitema.net)" <huitema@huitema.net>
CC: "Bob Briscoe (research@bobbriscoe.net)" <research@bobbriscoe.net>, "koen.de_schepper@nokia-bell-labs.com" <koen.de_schepper@nokia-bell-labs.com>, Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
Subject: RE: ECN in QUIC
Thread-Topic: ECN in QUIC
Thread-Index: AdOU5RXtZ09Jc7GvQAiw71TPDqLU5QATWZUQAAeBn1A=
Date: Wed, 24 Jan 2018 20:51:59 +0000
Message-ID: <HE1PR0702MB3625648A6943055201D46DCEC2E20@HE1PR0702MB3625.eurprd07.prod.outlook.com>
References: <HE1PR0702MB3625F6E2C399F7E6F187C883C2E20@HE1PR0702MB3625.eurprd07.prod.outlook.com> <660743ab697443f4ac5500e649a80285@usma1ex-dag1mb5.msg.corp.akamai.com>
In-Reply-To: <660743ab697443f4ac5500e649a80285@usma1ex-dag1mb5.msg.corp.akamai.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [83.226.2.151]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; HE1PR0702MB3769; 7:aukLFUXUwB9qmA5rqYxnQKeVYKz5y1LkgWwPuMhSfdlg3Q0UR+ToxSHrP6zpAREtXqWuUhYZBWCfFhAfBwXX+ewDPPvHvwlcb941Gz3FZcUQ+dvmrmuU2ttdJ5Es7uuokUGAs6tEN+wOo3mYiReCUllDWBHlSownGZuX7Ai638iEYKblRA7PtuaUVwE3JxWitRlWlys1da9GZVXQsF/y0m+ZBYyp8mU0+EWZOQYwBeA3zRrVSbTrSvKolWLBsWYD
x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR;
x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(376002)(39380400002)(346002)(366004)(396003)(39860400002)(199004)(189003)(68736007)(7736002)(9326002)(8676002)(81166006)(81156014)(3480700004)(8936002)(74316002)(14454004)(3660700001)(76176011)(6506007)(53546011)(19609705001)(478600001)(99286004)(7116003)(55016002)(7696005)(5250100002)(59450400001)(9686003)(54896002)(186003)(102836004)(106356001)(3280700002)(26005)(6246003)(107886003)(6306002)(53936002)(5660300001)(6436002)(6346003)(33656002)(966005)(2906002)(229853002)(66066001)(2950100002)(561944003)(110136005)(105586002)(2900100001)(6116002)(316002)(3846002)(790700001)(4326008)(236005)(54906003)(606006)(25786009)(97736004)(86362001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0702MB3769; H:HE1PR0702MB3625.eurprd07.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
x-ms-office365-filtering-correlation-id: 95dc6228-0491-4b00-1464-08d5636c5023
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:HE1PR0702MB3769;
x-ms-traffictypediagnostic: HE1PR0702MB3769:
x-microsoft-antispam-prvs: <HE1PR0702MB3769D40FAE60C681480A4FA4C2E20@HE1PR0702MB3769.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(37575265505322)(28532068793085)(10436049006162)(202460600054446)(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3231046)(2400081)(944501161)(3002001)(6041288)(20161123564045)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011); SRVR:HE1PR0702MB3769; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0702MB3769;
x-forefront-prvs: 056297E276
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ingemar.s.johansson@ericsson.com;
x-microsoft-antispam-message-info: +he0wus8Yme1OamvcS6yNYo1kq+UY14MW2oGeynDmz6jr0rVeNc3X7kVX3nvqxn4mnw6/WTJVc5y6v4FZ/NWDA==
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_HE1PR0702MB3625648A6943055201D46DCEC2E20HE1PR0702MB3625_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 95dc6228-0491-4b00-1464-08d5636c5023
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2018 20:51:59.3168 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0702MB3769
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA02SfSzUcRzH9/093P2OTr885INs3KawQmntFkN/WKdWaz1Yu61x+MUtjt3J urR5GAlneV7EXDqJlBWOmi2OkYee0ArrbhaKXCsrJku5+/3a/Pf6fN7vz9N3Xwq3HyVdKbki lVEqZIking1Rdb7Td9/yjwRpQPO8i7gs6zZfnJ15HxcPrDRgYo3WVjxTmY3CSElZvxaXLJre kJKpW8OERKdbwyTZK/W8U6TUJjiOSZSnMUr/kGibBN2qnp9yrwW/0jU/QWai8jt4ARJQQB+E 778WsQJkQ9nTfQiMtWaCDV4gmKrIswYEvYyBsWgSsUolBq2T+ZztM4LGhRt8SzMeHQxNhlVk YUf6Guhahq0VOD2G4OWjFZ5FcKABtAOlGGtygW8/cwmWD4N5ZNrKBO0F84anVo+QjoaVinmc ndaEoEQzTloEAX0G2jrN1jMQ7Q6mVaO1GKedYWq2DmPPo0HX/Zo71QkWPm2QLHvAx1Itx+4w Vldo3RRoPQazpg6uOBAKirtJVnjLgwfvcrhOJ2Cp8TrOCsMI3s994Sr2Ql7bQ46ToaC6HrGc Ds39PdyIGhzWX1VznXaBYe0DUYz8qresznIyPF/KIqqtb7ADhqpmN5nazPtA6zN/1uIJ5YUz fJa9Ibemlr81r0X8ZuSkYlQxSfEHAv0YpTxWpUpW+CmY1Cdo84/1tq97daHxpSMGRFNItE3Y N50gtSdlaSp1kgEBhYscheN5mylhnEx9lVEmRykvJzIqA3KjCJGzcChCKLWn42WpzCWGSWGU /1WMErhmIvEFPfU4I0hXkt47mW4XYwxpkJefDY3WC46V3wx1+N0So1HYbbh5qVtEHkepwRud x8N2iuyUHZF/9kh2j4SLAooybM2u0xq/2PX+uxNizVy4adC70Gt7YYg5MmKDrG9vO9R1Wlc3 kt/jGXTx70L9SfW5qByf8eWu0eivw8YmzENEqBJk+31xpUr2DxhKSrxfAwAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/FQ1s8RFcVVv1GosYUefHetk9JwI>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jan 2018 20:52:09 -0000

Hi

Comment on “CE is not going to be a very common occurrence”.
While that may be true for (almost) drop equivalent ECN (a.k.a. classic), it does unfortunately not hold at all for L4S. Typical values of ECN marking ratio with L4S is in the order of 10 to 50%. In addition the CE marks can be spread randomly (for instance with phantom queues).
This means that the ACK blocks in the suggested format below can become very short, in the worst case representing only one packet per ACK block if we have an alternating ECT-CE-ECT-CE… pattern in the received packets.

So my take is that if an ECN bit pattern is really necessary then it is better to have it as an bitmap that represents all packets that are listed in the ACK block. If one make an assumption that an ACK frame contains two ACK blocks that ACKs 5 and 7 packets then the ECN block will become (5+7)*2 = 24bits , i.e. 3 octets.

But with that said I am still not convinced that the packet counter approach is flawed (I’m am happy to be enlightened 😊) .
Taking multipath as an example : Isn’t it the case that two connections are setup, each with its own congestion control context (I omit coupled CC for the moment). If that is the case then I don’t see any problem with the packet counters.
As regards to connection migration. One possible matter is that it can become tricky to detect ECN bleaching or ECN bit access problems in OS immediately , however during the course of 1 RTT or even less, this should be possible to detect as e.g. ECN bleaching will result in that the neither on the ECT(0),ECT(1) and CE counters increase. But I am fully aware that I may miss things here.


/Ingemar



From: Lubashev, Igor [mailto:ilubashe@akamai.com]
Sent: den 24 januari 2018 19:02
To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>; QUIC WG <quic@ietf.org>; huitema (huitema@huitema.net) <huitema@huitema.net>
Subject: RE: ECN in QUIC

I believe the primary concern during the meeting yesterday was the ECN feedback format (counters).  Here is the alternative, similar to what Christian voiced.

I am making these assumptions:

  *   CE is not going to be a very common occurrence
  *   The endpoint will usually either send (almost) all packets with no ECT markings, or it will send (almost) all packets with a specific ECT (ECT[0] or ECT[1]).
None of these assumptions are required.  They are just used to identify “common cases” and save a few bytes per ACK frame.  We may discard these assumptions and the optimizations.
The worst case for this proposal is a case when ECT[0] and ECT[1] marking alternate, because that prevents acknowledging consecutive packets as a block.  My inclination is to direct the sender to just not do this.



Part 1. Primary ECT
--------------------------
During the handshake, each endpoint notifies the other of the ECT codepoint (ECT[0] or ECT[1]) that is intends to use primarily.  This is known the Primary ECT.  By default, ECT[0] is the Primary ECT.


Part 2.  Two ACK varieties
----------------------------------

In addition to ACK Frame, we introduce a new ACK-ECT frame.  The contents of the frames are identical and unchanged from the current ACK frame contents.
All packets acknowledged by the ACK Frame are packets that have no ECN bits set at all.  All packets acknowledged by the ACK-ECT Frame are packets that have Primary ECT code point.  It is expected that in the common case, all packets will be acknowledged by ACK or ACK-ECT.


Part 3.  ACK-ECN-BITMAP
----------------------------------

The new ACK-ECN-BITMAP frame is used when ACK or ACK-ECT frames cannot be used.  Its format is very similar to the format of the ACK frame, except there is a new ECN Bitmap field.

~~~
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Largest Acknowledged (i)                ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ACK Delay (i)                      ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       ACK Block Count (i)                   ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ECN Bitmap (*)                     ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ACK Blocks (*)                     ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~~~
{: #ack-ecn-bitmap format title="ACK-ECN-BITMAP Frame Format"}

The fields in the ACK-ECN-BITMAP frame are as follows:

Largest Acknowledged:  (SAME AS IN ACK FRAME)

ACK Delay:  (SAME AS IN ACK FRAME)

ACK Block Count:
SAME AS IN ACK FRAME, except packets in each ACK Block MUST have the same ECN marking.  This may cause blocks of consecutive packets to be split into multiple ACK Blocks (with Gap=0 in between), if those packets have different ECN markings.

ECN Bitmap:
A sequence of ACK Block Count pairs of bits that indicate ECN markings for the corresponding ACK Block.  The size of the ECN Bitmap field is Ceiling((1+“ACK Block Count”)/4) octets.  The unused bits should be set to 0.
For example:
~~~
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|AA|BB|CC|DD|…
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Bits AA represent ECN bits for packets acknowledged in the First ACK Block.
Bits BB represent ECN bits for packets acknowledged in Additional ACK Block 0.
Bits CC represent ECN bits for packets acknowledged in Additional ACK Block 1
…

ACK Blocks: (SAME AS IN ACK FRAME)



  *   Igor


From: Ingemar Johansson S [mailto:ingemar.s.johansson@ericsson.com]
Sent: Wednesday, January 24, 2018 3:01 AM
To: QUIC WG <quic@ietf.org<mailto:quic@ietf.org>>
Subject: ECN in QUIC

Hi

A few impressions on the ECN in QUIC discussions. The audio was so-so, frequent interruptions and LARGE differences in audio level + badly implemented ears 😊, so sometimes I missed the details and possibly kick in open doors.

*  Feedback format. I understand that the proposed proposal based on ECT(0), ECT(1) and CE counters does not play well with connection migration. I believe, but I am not 100% sure that I understand the problem. I understand that there are two concerns (perhaps more?):
  1. Counters are reset, this means that there will be a potentially very large (negative?) difference in CE marked packets. I believe that this can be detected as false congestion signal and ignored by the congestion signal.
  2. Difficulties to detect ECN bleaching. It is tricky to understand if packets along the new path are bleached based on the ECT counters. This can be a more complicated case.
In any case it was suggested to indicate the ECN bits for the packets in the ACK frame. Such a format was actually outlined in earlier proposal (see page 6, Figure 3 in https://tools.ietf.org/html/draft-johansson-quic-ecn-01<https://urldefense.proofpoint.com/v2/url?u=https-3A__tools.ietf.org_html_draft-2Djohansson-2Dquic-2Decn-2D01&d=DwMGaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=xVzIA9f7WjK8CVIQ3B-v9ZNl-Uf8HCY4nYPb0fMRO-4&s=S9aqc8UIGaTDX3ZMs1VTyWiLSSG01ndFhhr_Zg01H1Y&e=> ). It is Ok with me to change to a format similar to this if the group prefers that.

* Congestion control for ECT(1), L4S : My feeling is that it is for now OK to leave this as future work. That does not mean that there are absolutely no ideas on how to implement this, for short RTT environments DCTCP style congestion control is quite OK. Furthermore I and recently worked on a L4S congestion control that is based on BBR, the results look quite promising and the changes to the BBR algorithm are quite minimal. I am willing to present this at ICCRG in London if there is any interest in this.
* ECN in QUIC v1 or later : I would very much prefer that ECN support goes into v1. On the technical side it makes it possible to experiment with ECN, potentially on a larger scale. On the political side it helps to make the “chicken and egg” problem become history.

/Ingemar
==================================
Ingemar Johansson  M.Sc.
Master Researcher

Ericsson Research
Network Protocols & E2E Performance
Labratoriegränd 11
971 28, Luleå, Sweden
Phone +46-1071 43042
SMS/MMS +46-73 078 3289
ingemar.s.johansson@ericsson.com<mailto:ingemar.s.johansson@ericsson.com>
www.ericsson.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.ericsson.com&d=DwMGaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=xVzIA9f7WjK8CVIQ3B-v9ZNl-Uf8HCY4nYPb0fMRO-4&s=tySiMlgTyIT8IJmaKYS-yMYBNj0YUw_M246hX4szKZ4&e=>

The world is full of magical things patiently
    waiting for our wits to grow sharper
               Bertrand Russell
==================================