RE: RE: [External] New Version Notification for draft-chen-quic-quicu-01.txt

"Lubashev, Igor" <ilubashe@akamai.com> Tue, 27 September 2022 16:13 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 661DAC15DD65; Tue, 27 Sep 2022 09:13:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.564
X-Spam-Level:
X-Spam-Status: No, score=-2.564 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.571, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NJfzw29g2UUJ; Tue, 27 Sep 2022 09:12:57 -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 46F79C1595FB; Tue, 27 Sep 2022 09:11:06 -0700 (PDT)
Received: from pps.filterd (m0122330.ppops.net [127.0.0.1]) by mx0b-00190b01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 28RFuCtr001280; Tue, 27 Sep 2022 17:11:01 +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 : mime-version; s=jan2016.eng; bh=+0TGUDChZ+olLEu8ZAvalUi6/5kp6YOt1U27//HMu0I=; b=RD3XR12QZNLHHdAA8BQdpK67T0n9OSOyylONaz4rhBB9s7oA99sREIzcAk8z02sIXwUQ GSIYISYWN6P8fIAStkB8guMs24tQvJ+6IcvOfMBql05XkZiV0EyYEVN9Gz3iMu+tERms GRxOVttnV0b/2mwMLYZHVUwCCscpFXvFpoTrgqeCUjSyIebzbHr5Xt8On5uaQIn/j1Iw 1O4DE+QwMVGkSps5iU4bcjarHyeuetsYjnwj8+0HcnV3yjIEGocSj9aZ9OTbdwJ7ELb/ ILuROhKSWvBlNSjdEBSRJtBfZSkCHVl1Qc0hEDYnFfc0pVQnPYawalwEkmtWxKL2E970 2g==
Received: from prod-mail-ppoint7 (a72-247-45-33.deploy.static.akamaitechnologies.com [72.247.45.33] (may be forged)) by mx0b-00190b01.pphosted.com (PPS) with ESMTPS id 3juvsbn1t9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 Sep 2022 17:11:01 +0100
Received: from pps.filterd (prod-mail-ppoint7.akamai.com [127.0.0.1]) by prod-mail-ppoint7.akamai.com (8.17.1.5/8.17.1.5) with ESMTP id 28REBlh6027775; Tue, 27 Sep 2022 12:11:00 -0400
Received: from email.msg.corp.akamai.com ([172.27.50.201]) by prod-mail-ppoint7.akamai.com (PPS) with ESMTPS id 3juchawkn0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 27 Sep 2022 12:11:00 -0400
Received: from ustx2ex-dag4mb3.msg.corp.akamai.com (172.27.50.202) by ustx2ex-dag4mb3.msg.corp.akamai.com (172.27.50.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.12; Tue, 27 Sep 2022 09:10:59 -0700
Received: from ustx2ex-dag4mb3.msg.corp.akamai.com ([172.27.50.202]) by ustx2ex-dag4mb3.msg.corp.akamai.com ([172.27.50.202]) with mapi id 15.02.1118.012; Tue, 27 Sep 2022 09:10:59 -0700
From: "Lubashev, Igor" <ilubashe@akamai.com>
To: Yongyi Yu <yuyongyi.yyy@bytedance.com>
CC: Tommy Pauly <tpauly@apple.com>, Ryan Hamilton <rch=40google.com@dmarc.ietf.org>, "quic@ietf.org" <quic@ietf.org>, 陈鉴平 <chenjianping.ireader@bytedance.com>, 景君羡 <jingjunxian@bytedance.com>, 刘天一 <liutianyi.lty@bytedance.com>
Subject: RE: RE: [External] New Version Notification for draft-chen-quic-quicu-01.txt
Thread-Topic: RE: [External] New Version Notification for draft-chen-quic-quicu-01.txt
Thread-Index: AQHYzjRBW5AcjKbtBUOJj40avvrV8q3s7r+AgANsMxCAA4K+gP//kxkQ
Date: Tue, 27 Sep 2022 16:10:59 +0000
Message-ID: <5f9517bfd0a34301b33a80c2dc90a984@akamai.com>
References: <166359205152.6422.10161941398731313578@ietfa.amsl.com> <CAGAnozYePCwo5S-EUTN4X=-EixNFVgF+1MwiD60-GDogw7ojnA@mail.gmail.com> <CAJ_4DfS8n5sZXEk0=Eojq_DEK6QGvgG6-KjOiVnHv8etxzCSkQ@mail.gmail.com> <AE5493E8-DFAD-42F2-A41C-4B924B8602EF@apple.com> <CAGAnozZHFChVbK2MNkxVm5XbF3msGyHuRy1er7OjAGPzE_EMLQ@mail.gmail.com> <d0f85f1306c94e8d92ad4ad706e9f48f@akamai.com> <CAGAnozaGaYNPFFcv3SXM9wqWJ+NWUh_+bTKFcp_D0_fuQUd0Aw@mail.gmail.com>
In-Reply-To: <CAGAnozaGaYNPFFcv3SXM9wqWJ+NWUh_+bTKFcp_D0_fuQUd0Aw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.27.118.139]
Content-Type: multipart/alternative; boundary="_000_5f9517bfd0a34301b33a80c2dc90a984akamaicom_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-27_07,2022-09-27_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 mlxscore=0 spamscore=0 suspectscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2209270099
X-Proofpoint-GUID: c0MmiDQWDOxG8InDsw3gEzwLzAIPEfkd
X-Proofpoint-ORIG-GUID: c0MmiDQWDOxG8InDsw3gEzwLzAIPEfkd
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-27_07,2022-09-27_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 impostorscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2209270100
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/9AqrvSBIxAZbw9_9p9EKRHVYpCI>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Tue, 27 Sep 2022 16:13:01 -0000

Yongyi,

Without going into the question of whether partially reliable streams are necessary (as Matt said, Meta implemented them but is not using that implementation in production), here are a few comments I have.


  1.  Have you thought about the interaction of you draft with stream and connection flow control?  95% of the time I spent on my design was spent on thinking of ways to augment flow control to avoid extra round trips just to open a flow control window, while still ensuring that the resulting protocol is resilient against an adversarial endpoint forcing the peer to commit an unreasonable amount of resources (memory) to the connection.


  *   1. Our proposal splits a QUIC stream into many data blocks by Boundary Frame. The receiver would provide data to the application layer only when a data block is completely received. Therefore, the application layer needn't be aware of the gap at the expiration point or discard data already read.
  *   2. Because the stream is split into blocks, the sender could send or expire data by data blocks. Then the transport layer could track the message boundaries instead of the application layer.


  1.  Section 4.4 Data Receiving of your draft is saying the same.  It seems wrong to have the transport protocol specify the behavior of the QUIC library APIs so precisely.  It is ok to try to enable a particular library API, but the transport protocol’s specification ought to limit itself to the semantics of bytes on the wire.

Very best,


  *   Igor


From: Yongyi Yu <yuyongyi.yyy@bytedance.com>
Sent: Tuesday, September 27, 2022 11:04 AM

Hi Igor,

Thanks for your replying. Our proposal indeed shares similar ideas with yours, but there are also some difference. We'd like to update our draft to clarify the difference in detail, and to briefly summary here, there are three major points.

1. Our proposal splits a QUIC stream into many data blocks by Boundary Frame. The receiver would provide data to the application layer only when a data block is completely received. Therefore, the application layer needn't be aware of the gap at the expiration point or discard data already read.

2. Because the stream is split into blocks, the sender could send or expire data by data blocks. Then the transport layer could track the message boundaries instead of the application layer.

3. With the introduction of Correlation Frame, we can combine multiple QUIC streams into single data stream while avoiding head of line blocking. This feature could be quite useful in many scenarios, e.g., transmitting both video and audio data through single HTTP response.

Please do let me know if you have any further advice, and please do not hesitate to point out if I make any mistakes.

Thanks,
Yongyi.

From: "Lubashev, Igor"<ilubashe@akamai.com<mailto:ilubashe@akamai.com>>
Date: Mon, Sep 26, 2022, 00:29
Subject: RE: [External] New Version Notification for draft-chen-quic-quicu-01.txt
To: "Yongyi Yu"<yuyongyi.yyy@bytedance.com<mailto:yuyongyi.yyy@bytedance.com>>, "Tommy Pauly"<tpauly@apple.com<mailto:tpauly@apple.com>>
Cc: "Ryan Hamilton"<rch=40google.com@dmarc.ietf.org<mailto:rch=40google.com@dmarc.ietf.org>>, "quic@ietf.org<mailto:quic@ietf.org>"<quic@ietf.org<mailto:quic@ietf.org>>, "陈鉴平"<chenjianping.ireader@bytedance.com<mailto:chenjianping.ireader@bytedance.com>>, "景君羡"<jingjunxian@bytedance.com<mailto:jingjunxian@bytedance.com>>, "刘天一"<liutianyi.lty@bytedance.com<mailto:liutianyi.lty@bytedance.com>>
Are you trying to implement something like https://datatracker.ietf.org/doc/html/draft-lubashev-quic-partial-reliability-02<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-lubashev-quic-partial-reliability-02__;!!GjvTz_vk!SCWoZpCVuR1gPftuxMF-fSS9CnLF_2nRKJitWu1H7d-btWOpFeCmdioeIafLXaj7vRbOtpP7gGi3BCMLrwTi38kR$> or https://datatracker.ietf.org/doc/html/draft-lubashev-quic-partial-reliability-03<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-lubashev-quic-partial-reliability-03__;!!GjvTz_vk!SCWoZpCVuR1gPftuxMF-fSS9CnLF_2nRKJitWu1H7d-btWOpFeCmdioeIafLXaj7vRbOtpP7gGi3BCMLr-kT71BO$>?  (The -02 and -3 versions have somewhat different properties, and some people prefer -02 version.)


  *   Igor

From: Yongyi Yu <yuyongyi.yyy@bytedance.com<mailto:yuyongyi.yyy@bytedance.com>>
Sent: Friday, September 23, 2022 1:11 AM
To: Tommy Pauly <tpauly@apple.com<mailto:tpauly@apple.com>>
Cc: Ryan Hamilton <rch=40google.com@dmarc.ietf.org<mailto:rch=40google.com@dmarc.ietf.org>>; quic@ietf.org<mailto:quic@ietf.org>; 陈鉴平 <chenjianping.ireader@bytedance.com<mailto:chenjianping.ireader@bytedance.com>>; 景君羡 <jingjunxian@bytedance.com<mailto:jingjunxian@bytedance.com>>; 刘天一 <liutianyi.lty@bytedance.com<mailto:liutianyi.lty@bytedance.com>>
Subject: Re: [External] New Version Notification for draft-chen-quic-quicu-01.txt

Thanks for your replying. I agree "partial reliability" fits our draft better, since we do retransmit lost data and provide in-order transmission. And, our proposal could be compatible with H3, should we clarify the behavior in the draft? Please do let me know if you have any further advice.

Thanks,
Yongyi.
From: "Tommy Pauly"<tpauly@apple.com<mailto:tpauly@apple.com>>
Date: Thu, Sep 22, 2022, 11:32
Subject: Re: [External] New Version Notification for draft-chen-quic-quicu-01.txt
To: "Ryan Hamilton"<rch=40google.com@dmarc.ietf.org<mailto:rch=40google.com@dmarc.ietf.org>>
Cc: "于涌溢"<yuyongyi.yyy@bytedance.com<mailto:yuyongyi.yyy@bytedance.com>>, "quic@ietf.org<mailto:quic@ietf.org>"<quic@ietf.org<mailto:quic@ietf.org>>, "陈鉴平"<chenjianping.ireader@bytedance.com<mailto:chenjianping.ireader@bytedance.com>>, "景君羡"<jingjunxian@bytedance.com<mailto:jingjunxian@bytedance.com>>, "刘天一"<liutianyi.lty@bytedance.com<mailto:liutianyi.lty@bytedance.com>>
I noticed that this draft does reference RFC 9221, and DATAGRAM frames.

If I’m understanding correctly, it seems like this is trying to define an approach for what’s more commonly referred to as “partial reliability”, which was something DATAGRAM explicitly didn’t try to include.

If this is the case, I think it would be useful to reframe the document in terms of that, since the heavy use of “unreliable” is quite confusing. It also isn’t clear to me how this proposal would work with specific application protocols on top of QUIC — is this something that’s meant to be compatible with H3, or is it for entirely separate use cases?

Best,
Tommy

On Sep 21, 2022, at 3:17 PM, Ryan Hamilton <rch=40google.com@dmarc.ietf.org<mailto:rch=40google.com@dmarc.ietf.org>> wrote:

QUIC has support for unreliable data via the DATAGRAM frame, RFC 9221<https://urldefense.com/v3/__https:/www.rfc-editor.org/info/rfc9221__;!!GjvTz_vk!VHC6upHgCOojEiYhln21JerQBPYz1cbPLifo7gevl5sFTM-5qEoTkN-TxpvuKG1MQfnSBiZsXrrQ2OC2qjWu1aws$>. It seems that this new proposal attempts to add unreliable data support not to QUIC, but to QUIC *streams*. QUIC streams, of course, offer a reliable, in-order, sequence of bytes. Did you consider starting with DATAGRAMs, and building from there instead?

Cheers,

Ryan

On Wed, Sep 21, 2022 at 1:14 AM 于涌溢 <yuyongyi.yyy@bytedance.com<mailto:yuyongyi.yyy@bytedance.com>> wrote:
Deal all,

We would like to introduce an extension of the QUIC protocol for unreliable data transmission called QUIC Unreliable (QUICU) . The following draft is submitted for your consideration and comments. We would also like to present this at IETF 115 to discuss further.

To summarize on this draft: it describes an extension of the QUIC protocol for unreliable data transmission called QUIC Unreliable (QUICU), which mainly through the definition and use of three new types of frames, namely the Expire Offset Frame, Boundary Frame, and Correlation Frame. The main purpose of this extension is to reduce data delivery delay. Through controlling the timing and scope of packet losses, QUICU reduces useless transmission to improve transmission efficiency, reduces head-of-line blocking to improve transmission timeliness, which are beneficial to delay-sensitive applications, especially audio and video applications. This document describes the motivation, the operations, and the wire formats of the three new types of frames.

Link to html: https://datatracker.ietf.org/doc/html/draft-chen-quic-quicu-01<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-chen-quic-quicu-01__;!!GjvTz_vk!SCWoZpCVuR1gPftuxMF-fSS9CnLF_2nRKJitWu1H7d-btWOpFeCmdioeIafLXaj7vRbOtpP7gGi3BCMLr-8Nui-W$>

Please feel free to reach us for any comments or questions on this.

Thanks,
Yongyi.

---------- Forwarded message ---------
From: internet-drafts@ietf.org<mailto:internet-drafts@ietf.org>
Date: Mon, Sep 19, 2022, 20:54
Subject: [External] New Version Notification for draft-chen-quic-quicu-01.txt
To: "Jianping Chen"<chenjianping.ireader@bytedance.com<mailto:chenjianping.ireader@bytedance.com>>, "Junxian Jing"<jingjunxian@bytedance.com<mailto:jingjunxian@bytedance.com>>, "Tianyi Liu"<liutianyi.lty@bytedance.com<mailto:liutianyi.lty@bytedance.com>>, "Yongyi Yu"<yuyongyi.yyy@bytedance.com<mailto:yuyongyi.yyy@bytedance.com>>
A new version of I-D, draft-chen-quic-quicu-01.txt
has been successfully submitted by Yongyi Yu and posted to the
IETF repository.

Name:                draft-chen-quic-quicu
Revision:        01
Title:                An Unreliable Extension to QUIC
Document date:        2022-09-19
Group:                Individual Submission
Pages:                10
URL:            https://www.ietf.org/archive/id/draft-chen-quic-quicu-01.txt<https://urldefense.com/v3/__https:/www.ietf.org/archive/id/draft-chen-quic-quicu-01.txt__;!!GjvTz_vk!SCWoZpCVuR1gPftuxMF-fSS9CnLF_2nRKJitWu1H7d-btWOpFeCmdioeIafLXaj7vRbOtpP7gGi3BCMLr-yI1P_H$>
Status:         https://datatracker.ietf.org/doc/draft-chen-quic-quicu/<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/draft-chen-quic-quicu/__;!!GjvTz_vk!SCWoZpCVuR1gPftuxMF-fSS9CnLF_2nRKJitWu1H7d-btWOpFeCmdioeIafLXaj7vRbOtpP7gGi3BCMLr5p48dO1$>
Htmlized:       https://datatracker.ietf.org/doc/html/draft-chen-quic-quicu<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/draft-chen-quic-quicu__;!!GjvTz_vk!SCWoZpCVuR1gPftuxMF-fSS9CnLF_2nRKJitWu1H7d-btWOpFeCmdioeIafLXaj7vRbOtpP7gGi3BCMLr8jsZIQp$>
Diff:           https://www.ietf.org/rfcdiff?url2=draft-chen-quic-quicu-01<https://urldefense.com/v3/__https:/www.ietf.org/rfcdiff?url2=draft-chen-quic-quicu-01__;!!GjvTz_vk!SCWoZpCVuR1gPftuxMF-fSS9CnLF_2nRKJitWu1H7d-btWOpFeCmdioeIafLXaj7vRbOtpP7gGi3BCMLr2ccQ-Yz$>

Abstract:
  QUIC Unreliable (QUICU) is an extension of the QUIC protocol for
  unreliable data transmission, mainly through the definition and use
  of three new types of frames, namely the Expire Offset Frame,
  Boundary Frame, and Correlation Frame. The main purpose of this
  extension is to reduce data delivery delay. Through controlling the
  timing and scope of packet losses, QUICU reduces useless transmission
  to improve transmission efficiency, reduces head-of-line blocking to
  improve transmission timeliness, which are beneficial to delay-
  sensitive applications, especially audio and video applications.

  This document describes the motivation, the operations, and the wire
  formats of the three new types of frames.




The IETF Secretariat