RE: ECN in QUIC

"Lubashev, Igor" <ilubashe@akamai.com> Wed, 24 January 2018 18:01 UTC

Return-Path: <ilubashe@akamai.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 ACEE512DFE0 for <quic@ietfa.amsl.com>; Wed, 24 Jan 2018 10:01:49 -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 hMEhWqVziXKQ for <quic@ietfa.amsl.com>; Wed, 24 Jan 2018 10:01:45 -0800 (PST)
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 76A6D12DA72 for <quic@ietf.org>; Wed, 24 Jan 2018 10:01:44 -0800 (PST)
Received: from pps.filterd (m0050102.ppops.net [127.0.0.1]) by mx0b-00190b01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w0OHuwZH011278; Wed, 24 Jan 2018 18:01:40 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=from : to : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=jan2016.eng; bh=bFVdhBqzW2Lvg8FBQzCGsJ2rNeqUiYcDgxK0610r8uw=; b=KoNb9pZCt3J60G/Q+lSGQ9PJmh3863s60s+hwTbWgmZJB8REpocmACE84qttRVt1pPv6 MeiHal2SzCwRqdkMtL62Y5jmTnqCzif7omTixfiaMwgJlT09D3YymwnZHFyixBf05qwy 5+0kODpAvVUpRoWC8Ze0atq4BWiJk6PYT2vvKnUy4wy3IHnZLnsto8RxvvVzhjL/qLei qgZXn04u4HgepwvDpFiNQ7LEtxndqNruYc2tdovIikO8MX6zCZTjH3OXj9SgqA50B4NH NL4eCdn+4WnAUZlvKbGWxIt9af+ysk5hnpH/+6qvKY2qOnK5tyImkTEZyM0w7JVL3pXf dQ==
Received: from prod-mail-ppoint3 ([96.6.114.86]) by m0050102.ppops.net-00190b01. with ESMTP id 2fkuqg823c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 24 Jan 2018 18:01:39 +0000
Received: from pps.filterd (prod-mail-ppoint3.akamai.com [127.0.0.1]) by prod-mail-ppoint3.akamai.com (8.16.0.21/8.16.0.21) with SMTP id w0OI1Mn1031193; Wed, 24 Jan 2018 13:01:39 -0500
Received: from email.msg.corp.akamai.com ([172.27.123.31]) by prod-mail-ppoint3.akamai.com with ESMTP id 2fm200m2ca-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 24 Jan 2018 13:01:38 -0500
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com (172.27.123.105) by usma1ex-dag1mb2.msg.corp.akamai.com (172.27.123.102) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Wed, 24 Jan 2018 13:01:36 -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; Wed, 24 Jan 2018 13:01:36 -0500
From: "Lubashev, Igor" <ilubashe@akamai.com>
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
Thread-Topic: ECN in QUIC
Thread-Index: AdOU5RXtZ09Jc7GvQAiw71TPDqLU5QATWZUQ
Date: Wed, 24 Jan 2018 18:01:36 +0000
Message-ID: <660743ab697443f4ac5500e649a80285@usma1ex-dag1mb5.msg.corp.akamai.com>
References: <HE1PR0702MB3625F6E2C399F7E6F187C883C2E20@HE1PR0702MB3625.eurprd07.prod.outlook.com>
In-Reply-To: <HE1PR0702MB3625F6E2C399F7E6F187C883C2E20@HE1PR0702MB3625.eurprd07.prod.outlook.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.33.239]
Content-Type: multipart/alternative; boundary="_000_660743ab697443f4ac5500e649a80285usma1exdag1mb5msgcorpak_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2018-01-24_07:, , 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-1711220000 definitions=main-1801240238
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2018-01-24_07:, , 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=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801240237
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/wHlhpNohj6QxGt3adSdYC-vzOfA>
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 18:01:50 -0000

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>
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
==================================