Re: QUIC API (was: Re: Small size of core QUIC library to replace TCP for embedded system)

Christian Huitema <huitema@huitema.net> Fri, 07 August 2020 06:38 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 284113A09B8 for <quic@ietfa.amsl.com>; Thu, 6 Aug 2020 23:38:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.849
X-Spam-Level:
X-Spam-Status: No, score=-2.849 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.949, SPF_HELO_NONE=0.001, 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 UDXrpH8XB0U8 for <quic@ietfa.amsl.com>; Thu, 6 Aug 2020 23:38:42 -0700 (PDT)
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 EA14A3A093B for <quic@ietf.org>; Thu, 6 Aug 2020 23:38:41 -0700 (PDT)
Received: from xse238.mail2web.com ([66.113.196.238] helo=xse.mail2web.com) by mx13.antispamcloud.com with esmtp (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1k3w1R-0001En-PA for quic@ietf.org; Fri, 07 Aug 2020 08:38:36 +0200
Received: from xsmtp22.mail2web.com (unknown [10.100.68.61]) by xse.mail2web.com (Postfix) with ESMTPS id 4BNFyF0sHhzBpdR for <quic@ietf.org>; Thu, 6 Aug 2020 23:36:53 -0700 (PDT)
Received: from [10.5.2.15] (helo=xmail05.myhosting.com) by xsmtp22.mail2web.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1k3vzp-00016Z-0i for quic@ietf.org; Thu, 06 Aug 2020 23:36:53 -0700
Received: (qmail 7250 invoked from network); 7 Aug 2020 06:36:52 -0000
Received: from unknown (HELO [192.168.1.107]) (Authenticated-user:_huitema@huitema.net@[172.58.43.61]) (envelope-sender <huitema@huitema.net>) by xmail05.myhosting.com (qmail-ldap-1.03) with ESMTPA for <martin.h.duke@gmail.com>; 7 Aug 2020 06:36:52 -0000
To: David Schinazi <dschinazi.ietf@gmail.com>, Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: Lars Eggert <lars@eggert.org>, quic <quic@ietf.org>, Paul Vixie <paul@redbarn.org>, Martin Duke <martin.h.duke@gmail.com>
References: <CAA=hcWS0V8ipsoAEFK3ejdA++Vzi+czth37=ntP4mnt8d=mtRg@mail.gmail.com> <F384B33C-70F8-45EF-AB5C-30D0A145659A@eggert.org> <CAA=hcWQ60GH2TnjvqBEGvVQ1whxNYwEWjQ+b9FW948GKvN570Q@mail.gmail.com> <2499749.AO4zfZtjs8@linux-9daj> <3D493D2B-BC8D-4CE9-B189-48770C3FA06F@eggert.org> <CAM4esxR+s-SCVOWb_-3TciVRk8Sp5NVWtjggqXM_XD2r3jup=Q@mail.gmail.com> <CALGR9oYDtdRyGAQ50OMFH2CTo=PR0ZwButK2DC26JkUhoifj1g@mail.gmail.com> <CAM4esxSkzijT8PMW7m2SY1j5c_AW=8L9tuq17RXWy+mmp4a0SA@mail.gmail.com> <CALGR9oacxe3EvYjeR_5yLpCga6EWcK_MLgvW_QCwidoH4Fjrzw@mail.gmail.com> <CAPDSy+4XZRFb6t_-caiH52TuaFib2dK8Ur8r3f8PhJGqL62JSg@mail.gmail.com>
From: Christian Huitema <huitema@huitema.net>
Autocrypt: addr=huitema@huitema.net; prefer-encrypt=mutual; keydata= mDMEXtavGxYJKwYBBAHaRw8BAQdA1ou9A5MHTP9N3jfsWzlDZ+jPnQkusmc7sfLmWVz1Rmu0 J0NocmlzdGlhbiBIdWl0ZW1hIDxodWl0ZW1hQGh1aXRlbWEubmV0PoiWBBMWCAA+FiEEw3G4 Nwi4QEpAAXUUELAmqKBYtJQFAl7WrxsCGwMFCQlmAYAFCwkIBwIGFQoJCAsCBBYCAwECHgEC F4AACgkQELAmqKBYtJQbMwD/ebj/qnSbthC/5kD5DxZ/Ip0CGJw5QBz/+fJp3R8iAlsBAMjK r2tmyWyJz0CUkVG24WaR5EAJDvgwDv8h22U6QVkAuDgEXtavGxIKKwYBBAGXVQEFAQEHQJoM 6MUAIqpoqdCIiACiEynZf7nlJg2Eu0pXIhbUGONdAwEIB4h+BBgWCAAmFiEEw3G4Nwi4QEpA AXUUELAmqKBYtJQFAl7WrxsCGwwFCQlmAYAACgkQELAmqKBYtJRm2wD7BzeK5gEXSmBcBf0j BYdSaJcXNzx4yPLbP4GnUMAyl2cBAJzcsR4RkwO4dCRqM9CHpVJCwHtbUDJaa55//E0kp+gH
Subject: Re: QUIC API (was: Re: Small size of core QUIC library to replace TCP for embedded system)
Message-ID: <fb0490e8-f275-13a7-2f08-0b5b179ceb68@huitema.net>
Date: Thu, 06 Aug 2020 23:36:51 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <CAPDSy+4XZRFb6t_-caiH52TuaFib2dK8Ur8r3f8PhJGqL62JSg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US
X-Originating-IP: 66.113.196.238
X-Spampanel-Domain: xsmtpout.mail2web.com
X-Spampanel-Username: 66.113.196.238/32
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=66.113.196.238/32@xsmtpout.mail2web.com
X-Spampanel-Outgoing-Class: unsure
X-Spampanel-Outgoing-Evidence: Combined (0.15)
X-Recommended-Action: accept
X-Filter-ID: Mvzo4OR0dZXEDF/gcnlw0fni+3cnVNNYyS96zEouVZ2pSDasLI4SayDByyq9LIhVUZbR67CQ7/vm /hHDJU4RXkTNWdUk1Ol2OGx3IfrIJKywOmJyM1qr8uRnWBrbSAGDcnqpk5VeF3xR4kF6iVwRtbgN zB/4Jkrw1eDLcif59fte0srDXLxcHU47VxIBUxUPU7Tmz6iKnkQL9gqsxD347235Nhqq+/HvroPq 8GSPg+5hmwN8D4LrepG7AX8WNwY8PLhBThvdgyPN49yzDQzRHY6jSvfpO+1kZkomjtjB6X5Q5Q9f RUeIpTIC2ySfqvnqLwoxlgatmaBb0rBiK9xbkDrUqzcKIief90MVLZY9LbIZh9+IQ1oS9LBn3VIP 95Jz7ujRlJ9wSMlhvaudJXZ9EIBG/qaR+8r9SKFMmPJLf850OvZYsmoVQuOIhwKLK6IKBNB4LZ0v UHHKTzJX7b1JhLSQQ4vSj0QEim26t/Moy0UPX5E73H1QfrH/5kkrV/Cr0bm2vWdo8usP65i82q1C dZgGrpL44wdx9eXqjQjbvUopOMQJvQ/Ck3iiU+4DQAj3fuQgzT3K9JUHTNiGwfwAmxx/Wk8McinP JEkgAVrOMpacjGLPDGJdOe4i3f4PkPX91bST80cwFFa21Q7Woo7mHHv4ek35blt+Z5y6lhE4pTUM 7OYFXYdC3tRq275m/U3VN5KZX1u42J+PBO6cBk4md7dCp3Zd9clP8wSiJZWbJCj+xRrjVmRxpGtS cvUmgj1LRcx6XhWrLq2+2YZm6KaBr12jZAOanSBpz6Rja2u/0jJY5bYMKmNcFH3BtbsYZ36xVZoO Se//U4k3XJ7N/Ye23fysta6u1iHEyuS7GD1uvcpmYU1g9Sl+qvaigx2GA7TwJOYIJd4MvQ0Nf4Ec bvHO1diDanHV9KirFAIIecsyj+YNTo81GR+jDXFsz/ZQnbbTizvwlZsrbltGiZoUh+c+5pFVgpT1 b21uZVckGp0ccOa2XhkGbmsUNPNkere1WheNsVXmhO8BzADiszcWR9bz/SDtF09JpSbuuCeiIDK0 C/0=
X-Report-Abuse-To: spam@quarantine11.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/RgXzj6F0ciuhg_0CHR11eeCpna0>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 07 Aug 2020 06:38:43 -0000

On 8/6/2020 5:58 PM, David Schinazi wrote:
> In theory, it could mean that one could write an application
> in such a way that it could swap QUIC implementations.
> I don't see that happening in practice. The application
> developer would have to periodically test against these
> implementations for them to work reliably, so the idea
> of a drop-in replacement sounds unreal to me.

Yes. We had an example of that when testers wanted to plug their tools
to different QUIC stacks. Not impossible, but there was a lot of glue
required.

>
> Additionally, in 2020, networking APIs are asynchronous.
> That means that a QUIC API would need to be tied to
> a specific asynchronous IO model, and those are tied
> to programming language and library choices. So any
> API would only work for applications that pick the same
> language and standard libraries.


People today are experimenting with a variety of application--stack
interactions. I think that's a good thing at this point. Take the
example of out-of-order delivery: really cool potential, but we have
very little experience. It might require tight integration with the
application, dealing with the intricacies of video codecs. I think that
in the next year or two we will gain some experience and maybe see a
small number of API models emerge. But attempting standardization before
that seems very premature.

-- Christian Huitema