RE: draft-lubashev-quic-partial-reliability

"Lubashev, Igor" <ilubashe@akamai.com> Wed, 20 December 2017 01:34 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 F07C2128961 for <quic@ietfa.amsl.com>; Tue, 19 Dec 2017 17:34:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.011
X-Spam-Level:
X-Spam-Status: No, score=-0.011 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, 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 RQE2EkUgaadz for <quic@ietfa.amsl.com>; Tue, 19 Dec 2017 17:34:20 -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 9D773124D85 for <quic@ietf.org>; Tue, 19 Dec 2017 17:34:20 -0800 (PST)
Received: from pps.filterd (m0122331.ppops.net [127.0.0.1]) by mx0b-00190b01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id vBK1WCv9032613; Wed, 20 Dec 2017 01:34:13 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=y5JF1MvcsN0PZ+53pYfng7le2blXCr/49wqOfzjAd+I=; b=j4IxAC7jLB/zzGb9uEHPQophskIdbxMmnrGIWk5UyI6eAy7N1COwvjY+9AQ2tOoszSP/ DCBph0oMFYOejsIzTIT21hI18WsvwCN5XkHGl5IzsLRvFZc5vim5w76sT1pZ5Q3ZDlMQ 5fBB/3d1vXttnqLOPfRfP6aFXVzI584ggzFv5u6MIIt5iNanoiglqn81uxWM1/mZ464s Lbpk7YY5tV4GhcLOkfpA6uHPUo0X3V4lDLKEL6qQ1NlIGqlqn3+HQIgVA65giGFQMJ57 +49cHIodQQbE9aVdq8LmcyNyCUEwcJS5tPNJM7aGdr50d46TS93LP70c4yrjV0I/hzX3 lw==
Received: from prod-mail-ppoint2 (prod-mail-ppoint2.akamai.com [184.51.33.19]) by mx0b-00190b01.pphosted.com with ESMTP id 2evs7v31r1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 20 Dec 2017 01:34:13 +0000
Received: from pps.filterd (prod-mail-ppoint2.akamai.com [127.0.0.1]) by prod-mail-ppoint2.akamai.com (8.16.0.21/8.16.0.21) with SMTP id vBK1V113005192; Tue, 19 Dec 2017 20:34:12 -0500
Received: from email.msg.corp.akamai.com ([172.27.123.30]) by prod-mail-ppoint2.akamai.com with ESMTP id 2evyqdxgj5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 19 Dec 2017 20:34:12 -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; Tue, 19 Dec 2017 20:34:11 -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; Tue, 19 Dec 2017 20:34:12 -0500
From: "Lubashev, Igor" <ilubashe@akamai.com>
To: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, Christian Huitema <huitema@huitema.net>, QUIC WG <quic@ietf.org>
Subject: RE: draft-lubashev-quic-partial-reliability
Thread-Topic: draft-lubashev-quic-partial-reliability
Thread-Index: AdN4eekQTxka84DaTqiLnO0Um5bpqQAr+ayAAABTTAAAAZKAAA==
Date: Wed, 20 Dec 2017 01:34:11 +0000
Message-ID: <b4b0135a9761410f9df864c2ceebc477@usma1ex-dag1mb5.msg.corp.akamai.com>
References: <c1f5a6d8d21f423a93003f7b69dae882@usma1ex-dag1mb5.msg.corp.akamai.com> <8c35500c-0011-3a9c-6c01-b3440e112532@huitema.net> <CAN1APdcPzzPeQKNDNiv2poQ_xFNaD3fWuaBRBCyJwt_jAh_hLg@mail.gmail.com>
In-Reply-To: <CAN1APdcPzzPeQKNDNiv2poQ_xFNaD3fWuaBRBCyJwt_jAh_hLg@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.35.55]
Content-Type: multipart/alternative; boundary="_000_b4b0135a9761410f9df864c2ceebc477usma1exdag1mb5msgcorpak_"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-12-19_12:, , 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-1712200019
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-12-19_12:, , 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 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1712200019
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/zalbohuhBw7Xrqw3YjhSrl1rdX4>
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, 20 Dec 2017 01:34:23 -0000

The two proposals are similar in a way that both effectively contain a “zero-fill” frame, though MIN_STREAM_DATA proposal is explicit about notifying the receiver about a gap in data and does not just fill with 0x00.

Since QUIC is likely to be a library linked into an application, they are scheduled together.  But in any case, I find it important to allow applications full control over when to expire data, although some QUIC implementations could provide higher-level abstractions for message expiration.


From: Mikkel Fahnøe Jørgensen [mailto:mikkelfj@gmail.com]
Sent: Tuesday, December 19, 2017 2:40 PM
To: Lubashev, Igor <ilubashe@akamai.com>; Christian Huitema <huitema@huitema.net>; QUIC WG <quic@ietf.org>
Subject: Re: draft-lubashev-quic-partial-reliability

I did come up with a proposal with segmented stream data for partial reliability.
It’s not too coherent as it evolved, but here it is:

https://github.com/quicwg/base-drafts/issues/433<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_quicwg_base-2Ddrafts_issues_433&d=DwMFaQ&c=96ZbZZcaMF4w0F4jpN6LZg&r=Djn3bQ5uNJDPM_2skfL3rW1tzcIxyjUZdn_m55KPmlo&m=4OKe8eZRrhTX1wql3X2hD9bN3t056-dLmp5rte7hsrM&s=hJuopoxDzIyFbhIYR3bZdHCSotkqVTsGCSjUcpwOfRg&e=>

Applications could also do their internal framing and forward the min for each internal frame and let transport decide if retransmission is worthwhile.

If the application needs to make business decisions it might be out of the loop for too long. QUIC might be scheduled a lot more often than applications talking to QUIC.

Kind Regards,
Mikkel Fahnøe Jørgensen


On 19 December 2017 at 20.31.17, Christian Huitema (huitema@huitema.net<mailto:huitema@huitema.net>) wrote:
On 12/18/2017 7:39 PM, Lubashev, Igor wrote:

> The high-level idea is that the sender keeps track of messages within
> a stream and can “expire” old messages whenever it wants.  The
> “expiration” is a signal to the transport to not retransmit expired
> data (and a signal to the other endpoint that this data will not be
> retransmitted).  All details are in the draft.

I read your draft, and it does indeed provide "partial reliability." My
problem is that for RTP style applications, you don't want just partial
reliability. You also want application frame delimitation, such as
delivering isolated VOIP frames, doing  loss compensation, or
implementing application level FEC for large video frames. The streams
in QUIC don't provide that. They implement a "byte stream" abstraction,
not a "packet stream". So I really wonder whether FTP style applications
are better served by adding partial reliability to the current concept
of streams, or whether we should just add a different service, maybe
creating "RTP_STREAM" frames.

-- Christian Huitema