Re: draft-tiesel-quic-unreliable-streams-01 - comments

Christian Huitema <huitema@huitema.net> Tue, 07 November 2017 22:35 UTC

Return-Path: <huitema@huitema.net>
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 65916129483 for <quic@ietfa.amsl.com>; Tue, 7 Nov 2017 14:35:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 FqMXz9aYLXNt for <quic@ietfa.amsl.com>; Tue, 7 Nov 2017 14:35:09 -0800 (PST)
Received: from mx43-out1.antispamcloud.com (mx43-out1.antispamcloud.com [138.201.61.189]) (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 A7243129467 for <quic@ietf.org>; Tue, 7 Nov 2017 14:35:08 -0800 (PST)
Received: from xsmtp01.mail2web.com ([168.144.250.230]) by mx35.antispamcloud.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.89) (envelope-from <huitema@huitema.net>) id 1eCCSY-00088A-00 for quic@ietf.org; Tue, 07 Nov 2017 23:35:06 +0100
Received: from [10.5.2.31] (helo=xmail09.myhosting.com) by xsmtp01.mail2web.com with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from <huitema@huitema.net>) id 1eCCSO-0005Tc-Mq for quic@ietf.org; Tue, 07 Nov 2017 17:34:58 -0500
Received: (qmail 17834 invoked from network); 7 Nov 2017 22:34:55 -0000
Received: from unknown (HELO [192.168.1.106]) (Authenticated-user:_huitema@huitema.net@[172.56.42.39]) (envelope-sender <huitema@huitema.net>) by xmail09.myhosting.com (qmail-ldap-1.03) with ESMTPA for <quic@ietf.org>; 7 Nov 2017 22:34:54 -0000
To: Roni Even <roni.even@huawei.com>, QUIC WG <quic@ietf.org>
References: <6E58094ECC8D8344914996DAD28F1CCD82A735@DGGEMM506-MBS.china.huawei.com>
From: Christian Huitema <huitema@huitema.net>
Message-ID: <d7dd97c2-cb9d-ef97-4e25-d46cf7421a13@huitema.net>
Date: Tue, 07 Nov 2017 14:34:53 -0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <6E58094ECC8D8344914996DAD28F1CCD82A735@DGGEMM506-MBS.china.huawei.com>
Content-Type: multipart/alternative; boundary="------------28E0F3DF01393F7CB0DA30EA"
Content-Language: en-US
Subject: Re: draft-tiesel-quic-unreliable-streams-01 - comments
X-Originating-IP: 168.144.250.230
X-SpamExperts-Domain: xsmtpout.mail2web.com
X-SpamExperts-Username: 168.144.250.0/24
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=168.144.250.0/24@xsmtpout.mail2web.com
X-SpamExperts-Outgoing-Class: unsure
X-SpamExperts-Outgoing-Evidence: Combined (0.22)
X-Recommended-Action: accept
X-Filter-ID: EX5BVjFpneJeBchSMxfU5jiN6hKn+Ep8vXVO9TnkF2YXv9krsgRhBn0ayn6qsUc7A2kcKDr1fzRm ksYYe0sWHrgNzB/4Jkrw1eDLcif59fsWMztea8GPVgtfFt3pofEPB98yDTitFWvbHwz9vKZpm/D1 Ad4OAlzgsEH8ABk9OXtTPSw+CekCTYoDa8nAx3W5ZsQEbaxxISMHgJxrdMdSS4B6hVJPXxgisa+g wkHvC+OlqTWdUBHTyoJG+mqGBYi8bWhnKPmUW/oWx9V3wTBfG4Y+ZnfomCI+rgOtA8u12EwuwjY+ quNh23liqqeOwMwwqy4lE5s79uoGaeHjfOqnzPcqs5RcLqZ0NIAm9sCHr2eyNIkhDia+jiI1x+25 WhJqOf3+cMSJJ9Vk8Y6lSpImWN1jfvpuHR0I1KvcafUUdDQXhA0UizXQaOxPdjju+1r1qq9IJIue NdZ12JJe7t4cD3McN6qoXPjenLhIOF1oeRaXCr/NWK7TH4FMv3Tfwi9pxNoOgCOIOkpJLDOwqTub LDxLWmcgYfVXjB7b2OHKO6BZ0VwEd+iNUj65ezw/iijHw95cPWLsHiU6tFs2fFlaJuRMyksc0Dx4 iQa9AzGuG3nTPpuFqUUQz+mM8JAD4ECWQ8DWpNApCszClmRRuSyy/Kf4b0gaZx7Nq9QqOn1O3qQW V1cPRjz9OCMMfLnR36inCRN4We5DhRWjgWs48EY3iSG7X+t1TW39Ja77LGPpOwDCYR4kEX6t994C WVS20AAhX18KdtpUm+hN/W/Os4vpuFAxXqQU4SUCmX1X8Fu4HDH1rYsclUPWfsYbR8/iz5oiQk2H BukllN/eBZD4GGbFsCT/dtMIs/LqOU9hZ/v31oRzg7QgpumQxgT4IcKeAlfy/bB/laLK9WZp+I7d gzC3lLdvK/cKOEqlCIPGIfYQDNKLLI6rY1d8Qdsix0hWyXbo
X-Report-Abuse-To: spam@quarantine6.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Bc76HtQqAS2qYNgZkPN1S2-spVw>
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: Tue, 07 Nov 2017 22:35:11 -0000

On 11/1/2017 6:03 AM, Roni Even wrote:

> Hi,
>
>  
>
> I think support for unreliable streams is important for unidirectional
> and bi-directional streams and even if it is V2 we still need to take
> support for it into account. One use case is RTP over QUIC.
>

I used to think that too, but I wonder whether something like RTP in
QUIC is best achieved by overloading the concept of streams, or by
defining a completely independent system, maybe using RTP and RTCP frame
types instead of regular streams types.

My main reason to say that is that regular stream data is more or less
treated as a byte stream, and RTP is not. The transport is free to send
stream data segments containing some of the stream's bytes, depending on
flow control, multiplexing conditions, packet size, etc. In contrast,
RTP data is sent as series of well delimited packets, each packet
corresponding to some well defined time slice of the media. Whatever
framing we use in QUIC will have to respect these packet boundaries.

Another reason has to do with forward error correction, which is
commonly applied to large video frames sent over several packets. Many
systems use packet-erasure-correction schemes, which rely on correctly
identifying which packet was lost -- or, in QUIC, which of the
video-carrying frames was lost. That would require some frame numbering
scheme. Some of that is probably best left to the application, but at a
minimum QUIC shall be able to respect frame boundaries. And that's
probably easier if the data is sent in some specialized RTP framing,
rather than as regular STREAM DATA frames.

>  
>
> Small comments:
>
>  
>
> In section 4.2 “ The loss of such a frame does not introduce state at
> the perceived receiver”. If new streams are opened with higher stream
> ID,  it implicitly opens this one frame stream that was lost in the
> receiver. I think it still requires the sender to send a reliable FIN
> to close this stream.
>
>  
>
> In the security section “ An active, on path attacker can drop
> selected frames“ . What does it mean selected frames, the whole
> payload is encrypted.
>

We probably need to assume that real time stream will be set up by the
application, using something like SIP or RTSP in conjunction with SDP.
The end of the real time stream could also be signaled by the
application in pretty much the same way.

Frankly, I don't think that we are ready to define RTP over QUIC right
now, as the priority is to finish the base spec. But what we can do is
experiment with extension mechanism. For example, define an experiment
in which QUIC that can carry RTP, and verify that we can use the various
extension mechanisms to field that. We might learn something about these
extension tools: version numbers, transport parameter negotiation, maybe
experimental frame types.

-- Christian Huitema