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

"Lubashev, Igor" <ilubashe@akamai.com> Fri, 01 December 2017 13:04 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 30790128CD5 for <ecn-in-quic@ietfa.amsl.com>; Fri, 1 Dec 2017 05:04:19 -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 mp8g5_EzUPg0 for <ecn-in-quic@ietfa.amsl.com>; Fri, 1 Dec 2017 05:04:16 -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 CC9CF128D64 for <ecn-in-quic@ietf.org>; Fri, 1 Dec 2017 05:04:10 -0800 (PST)
Received: from pps.filterd (m0122332.ppops.net [127.0.0.1]) by mx0a-00190b01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id vB1CvLMt024857; Fri, 1 Dec 2017 13:04:06 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=R3I8lksSFrciNvR3yLa6QkOlrEdmNwe9cTFx+AOP+9k=; b=ERgNPK/JIcab0BAsAj0PRPVLPypLETSc9r6vtGBfgRyJCEE8xN/OP4swycj6EpAxx3tN JVY05GcUyusqwW0WW0nVmZ8FPGg3PJxvPDdejpXkTabxoz5wMDeHpYm9q8i6Di9MVOfB Lj8zddZDFTmBKTBfMsSFvT5QFqyKoGum96NVxg/FAH3AwqEGttbnSLC5dbEY6w05YjYb Qlk1LhtlhK2zdyDzc+ANucNRqEc6vAlvCUNiYKAwgWH2+1kt0ta0Pex2UNqk5HJzyqpZ QVNWKNTcx8Ng+HXFVheC6tsH3vkTEU0fK0Ijxy6QOB7N0oU5/HCE4HgKtrh9owZ/w76N bw==
Received: from prod-mail-ppoint1 (prod-mail-ppoint1.akamai.com [184.51.33.18]) by mx0a-00190b01.pphosted.com with ESMTP id 2ehpp5fsp6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 01 Dec 2017 13:04:06 +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 vB1D112K013657; Fri, 1 Dec 2017 08:04:05 -0500
Received: from email.msg.corp.akamai.com ([172.27.123.33]) by prod-mail-ppoint1.akamai.com with ESMTP id 2ef4qyhm1d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 01 Dec 2017 08:04:04 -0500
Received: from USMA1EX-DAG1MB5.msg.corp.akamai.com (172.27.123.105) by usma1ex-dag1mb4.msg.corp.akamai.com (172.27.123.104) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Fri, 1 Dec 2017 08:04:03 -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 Microsoft SMTP Server (TLS) id 15.0.1263.5; Fri, 1 Dec 2017 08:04:03 -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 08:04:03 -0500
From: "Lubashev, Igor" <ilubashe@akamai.com>
To: "lars@netapp.com" <lars@netapp.com>, "ingemar.s.johansson@ericsson.com" <ingemar.s.johansson@ericsson.com>
CC: "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+AAATkCOAAALfbBw==
Date: Fri, 01 Dec 2017 13:04:03 +0000
Message-ID: <58d0757662f14d2298c4d4c71e32aebc@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>
In-Reply-To: <DB4PR07MB348E532123C1AEC5C5ED4C4C2390@DB4PR07MB348.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
Content-Type: multipart/alternative; boundary="_000_58d0757662f14d2298c4d4c71e32aebcusma1exdag1mb5msgcorpak_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-12-01_03:, , 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-1712010161
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-12-01_03:, , 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-1712010161
Archived-At: <https://mailarchive.ietf.org/arch/msg/ecn-in-quic/D-4KStI5THbV8rXi_s4FnTeZJ48>
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 13:04:19 -0000

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.

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]
Received: Friday, 01 Dec 2017, 7:46AM
To: Eggert, Lars [lars@netapp.com]
CC: ecn-in-quic@ietf.org [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]
Sent: den 1 december 2017 11:23
To: Ingemar Johansson S <ingemar.s.johansson@ericsson.com>
Cc: 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