Re: Unreliable Stream (was: Re: HTTP requests on one stream #692)
Frank Kastenholz <fkastenholz@google.com> Tue, 25 July 2017 18:17 UTC
Return-Path: <fkastenholz@google.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 03C22131E88 for <quic@ietfa.amsl.com>; Tue, 25 Jul 2017 11:17:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 DEvuvgdYd9Ad for <quic@ietfa.amsl.com>; Tue, 25 Jul 2017 11:17:25 -0700 (PDT)
Received: from mail-qt0-x22a.google.com (mail-qt0-x22a.google.com [IPv6:2607:f8b0:400d:c0d::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CA0E312EC13 for <quic@ietf.org>; Tue, 25 Jul 2017 11:17:24 -0700 (PDT)
Received: by mail-qt0-x22a.google.com with SMTP id s6so43579037qtc.1 for <quic@ietf.org>; Tue, 25 Jul 2017 11:17:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=G5sDPFsMt17NbtwxobMTdSj1vTSNbf+d6r4N+m8YdIE=; b=XtTG4m4wtRxLxGmDwkdARTGkTrUKPF2hU21d5r/Cuye3Nj4Ec2idhlAkFHmQueRVW3 BH2u6Fm4bWayFx7N03MvBTnuM2silCirO4M8JsvkPd1m+hA5GdtjTqz6gdvGAkhbKUMi rKQwKFBLmPebs5MakQzt5p5HCt5C302QFpd69CUJsFH2L4hyh+oHAlwCHixAvtbBUA5V A9kWkzhp99E/VeyHQaXuHSPsdznJqCignIoqdC4hpqr/WBj8i+Ugq+dqn2JGOVB2jeUt NuQnuDdu+mWZsb8PSDT/I5wSWGKmc/UAwjb81UQPRYb48/43lw3cp81Ri8RSXpwnHzzM pR7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=G5sDPFsMt17NbtwxobMTdSj1vTSNbf+d6r4N+m8YdIE=; b=OMlz685ojEDnwQa+vOeXepPI3JvZ0naaRVKwFHVCCOO/yQkTq8v9mL+Y/71Q6nHl/v tploYnj3RVtmi4pPI80ArMkEkqP/WSHnpq0kGMpebqDn5tWjNVXY9b0a3LW1JFO22Xj5 Q+8GYvA5mt7wNJ/n39Ng3tLmgZwAly8GI8WKJJpr7YM25LBxyKs/xDxbIhLaJIM3nlty EtasbGBMdtjZ0tIKCWY7DBoLTpdZ+pntpSVEpBtR7cSfo9fa+usALNFtoMQtBDZlpDdS dWbhSom4usExAXDZsd1hZEvvNaJgXbMdSEG0iZrAJCL+5/ENdq9OyBaW9XM9L44P2isY cB9w==
X-Gm-Message-State: AIVw112xfFenID8xULNo+HGES8ZPv1ePM/353RUiSvqx9PFkafVYSbqA 9CNAbYtDk93pUBZ10hM+y4Fk4gXKpErP
X-Received: by 10.237.37.45 with SMTP id v42mr28569932qtc.333.1501006643765; Tue, 25 Jul 2017 11:17:23 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.12.176.117 with HTTP; Tue, 25 Jul 2017 11:17:03 -0700 (PDT)
In-Reply-To: <9914D466-6293-447C-B3FC-839CFFF9298B@in-panik.de>
References: <7CF7F94CB496BF4FAB1676F375F9666A37748B7A@bgb01xud1012> <MWHPR21MB0141497D0A30342613752E0787A50@MWHPR21MB0141.namprd21.prod.outlook.com> <2B5E3522-750C-4697-A308-D8452E800D9F@in-panik.de> <CAKcm_gO8k+ZASF3M79QTrypa12pXGfp7=3P2XuOhHbxb04Rq4Q@mail.gmail.com> <DB5PR07MB1237D364086129C462AAC19D84BA0@DB5PR07MB1237.eurprd07.prod.outlook.com> <CAKcm_gMbQj8UKLfDmwv8K+XWHxB8xx4EG7uQGt95m3X40c1YXA@mail.gmail.com> <DB5PR07MB1237A77FC6F791C1A95239F784BA0@DB5PR07MB1237.eurprd07.prod.outlook.com> <CABkgnnVu5r-QQpO01LAeWHJvbxxBtpGvwpNpA2_vi7UgOJ9ThQ@mail.gmail.com> <MWHPR21MB0141C6AA46DFF0B005972F2287BB0@MWHPR21MB0141.namprd21.prod.outlook.com> <9914D466-6293-447C-B3FC-839CFFF9298B@in-panik.de>
From: Frank Kastenholz <fkastenholz@google.com>
Date: Tue, 25 Jul 2017 14:17:03 -0400
Message-ID: <CAD3dRjqACu+oK=jhECsKHd27HEbHgjJkgNtQp3tdwnjo1QvjFQ@mail.gmail.com>
Subject: Re: Unreliable Stream (was: Re: HTTP requests on one stream #692)
To: "Philipp S. Tiesel" <phils@in-panik.de>
Cc: Mike Bishop <Michael.Bishop@microsoft.com>, Lucas Pardue <Lucas.Pardue@bbc.co.uk>, "Swindells, Thomas (Nokia - GB)" <thomas.swindells@nokia.com>, IETF QUIC WG <quic@ietf.org>, Martin Thomson <martin.thomson@gmail.com>, Ian Swett <ianswett@google.com>
Content-Type: multipart/alternative; boundary="001a113e5f16cf46eb0555285788"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/t0vREuJWHg01RIljDlkiGOE_eBI>
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, 25 Jul 2017 18:17:27 -0000
On Tue, Jul 25, 2017 at 8:11 AM, Philipp S. Tiesel <phils@in-panik.de> wrote: ... > In case of HTTP, all three options could be requested via an HTTP request > header. > Optional, in case the server does not support unreliable streams, fallback > to reliable transmission. > > An open question is question is how to present a stream with “holes” to > the application. > Hi At a previous job I implemented a protocol that had some similarities to QUIC and one of the protocol's features was that a stream could be declared to be unreliable. We had two not-incompatible views. First is the simple approach --- a part of the API included the QUIC sequence number -- the app can then use this to make the needed decisions. The assumption here is that the sequence numbers increase by a knowable amount. Alternatively, we felt that such streams tended to consist of fairly small (fit in one packet) independent messages that contained their own identification (or didn't need it). In this case, the application could figure out the holes, etc, on its own. An example might be something like a periodic status report from some kind of sensor that contains a time stamp. The time stamp tells the app all it needs to know. Neither of these are protocol issues --- presenting the seq. num. is an API matter, and assuming that the app and its protocol can sort it out is, well, an app matter. On the QUIC layer, as it is much easier to implement, unreliable > transmission is driven by the sender. Retransmissions can then be done > depending on the applications choice. > In the work I did previously, we found instances where either sender or receiver might wish to assert reliability (or unreliability). Continuing with the sensor I mentioned above, a receiver that is a logger may want every sensor reading. A receiver that just is showing the current value will not need reliability. So the sender (the node with the sensor) might wish to assert one mode, the receiver however wants the other -- and vice versa. This ignores the question of what to do when the receiver wants one mode and the sender the other ... I don't have a quick answer ... we didn't have funding at the previous gig to go into these levels of protocol development... Probably would have done some kind of negotiation, with the connection failing if the parties can't agree (maybe ala the old Telnet will/wont/do/dont technique). Thanks Frank Kastenholz
- HTTP requests on one stream #692 Lucas Pardue
- RE: HTTP requests on one stream #692 Mike Bishop
- Re: HTTP requests on one stream #692 Philipp S. Tiesel
- Re: HTTP requests on one stream #692 Ian Swett
- RE: HTTP requests on one stream #692 Swindells, Thomas (Nokia - GB/Cambridge, UK)
- Re: HTTP requests on one stream #692 Ian Swett
- RE: HTTP requests on one stream #692 Swindells, Thomas (Nokia - GB/Cambridge, UK)
- RE: HTTP requests on one stream #692 Mikkel Fahnøe Jørgensen
- Re: HTTP requests on one stream #692 Ian Swett
- RE: HTTP requests on one stream #692 Martin Thomson
- RE: HTTP requests on one stream #692 Mike Bishop
- RE: HTTP requests on one stream #692 Lucas Pardue
- RE: HTTP requests on one stream #692 Mike Bishop
- Unreliable Stream (was: Re: HTTP requests on one … Philipp S. Tiesel
- Re: Unreliable Stream (was: Re: HTTP requests on … Frank Kastenholz
- Re: Unreliable Stream (was: Re: HTTP requests on … Mikkel Fahnøe Jørgensen
- Re: Unreliable Stream (was: Re: HTTP requests on … Mirja Kühlewind