RE: Implicitly opened streams and exposing stream IDs

Nick Banks <nibanks@microsoft.com> Tue, 03 April 2018 13:47 UTC

Return-Path: <nibanks@microsoft.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 1A54012E8EF for <quic@ietfa.amsl.com>; Tue, 3 Apr 2018 06:47:41 -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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.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 Nvbcjku3qAF8 for <quic@ietfa.amsl.com>; Tue, 3 Apr 2018 06:47:38 -0700 (PDT)
Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0134.outbound.protection.outlook.com [104.47.36.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 81DB412DB6E for <quic@ietf.org>; Tue, 3 Apr 2018 06:47:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ymlhx3ewmrLiv0aEkjgn2PA+W3kKzl9r33OseJE7UFs=; b=GejB9aeme1xUWW2VFU35+Z4R1jTZ1VnucKW4l0AZpUl0+ofRoa/JmgbRPZuTCQmeGeCJ2ApyG7vrzL/GpOroXP8bVMXCNbD+5jaPH29Z4hp30h8oPA2TZMl6ZpPaGw2ru6iR0pFIhdCYOBVyh/uEUreiHHP/Jgordk4lCLcJ7n4=
Received: from DM5PR2101MB0901.namprd21.prod.outlook.com (52.132.132.158) by DM5PR2101MB1111.namprd21.prod.outlook.com (52.132.132.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.675.1; Tue, 3 Apr 2018 13:47:36 +0000
Received: from DM5PR2101MB0901.namprd21.prod.outlook.com ([fe80::49f0:9e08:d65d:b0dc]) by DM5PR2101MB0901.namprd21.prod.outlook.com ([fe80::49f0:9e08:d65d:b0dc%4]) with mapi id 15.20.0675.003; Tue, 3 Apr 2018 13:47:36 +0000
From: Nick Banks <nibanks@microsoft.com>
To: Dmitri Tikhonov <dtikhonov@litespeedtech.com>, Martin Thomson <martin.thomson@gmail.com>
CC: Marten Seemann <martenseemann@gmail.com>, Lucas Pardue <Lucas.Pardue@bbc.co.uk>, QUIC WG <quic@ietf.org>
Subject: RE: Implicitly opened streams and exposing stream IDs
Thread-Topic: Implicitly opened streams and exposing stream IDs
Thread-Index: AQHTynfdCfLv9t0HXUmEre41VboPZqPtYPOAgAE/04CAAAT5gIAATfAAgAAY1BA=
Date: Tue, 03 Apr 2018 13:47:36 +0000
Message-ID: <DM5PR2101MB0901FFF8879857FA36D842D4B3A50@DM5PR2101MB0901.namprd21.prod.outlook.com>
References: <CAOYVs2qp3L-dTdFfBNDQT0Q=nCu+6Ew3gmF=0GMS2vVw1JfWCg@mail.gmail.com> <7CF7F94CB496BF4FAB1676F375F9666A3BB0D858@bgb01xud1012> <CAOYVs2qb+FmrC1GssCNrWvce0d=c_o4kii361vahoraNEZO=Zg@mail.gmail.com> <CABkgnnWBZ0nRxoJB9XdqQ8JF6etAnCEpjT6c=2ZD76XcghismQ@mail.gmail.com> <20180403120717.GA1695@ubuntu-dmitri>
In-Reply-To: <20180403120717.GA1695@ubuntu-dmitri>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=nibanks@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2018-04-03T13:47:35.1435228Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General
x-originating-ip: [2001:4898:80e8:c::83]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DM5PR2101MB1111; 7:hLSVr5jiugN/vx40qi9TbBR16UQBNOwPiWQsHbGOvjIJDDPJTQzsS5n8gw9Oz5Yv1MJ/MG4FKPOPexOdRcEcZ/ophj8HS7hOuGfGkZtb+cXSGvDTigxdugM9wcA4xf2CyUG5S9ePwIxSWo5B807f7isbXCEJLQ7fIOQy1jUqOH93gFSblRJ4Brq7cBiKkvvZNXZJsBdIgzPDcum681gO4k5FDzMuJb8HYnWzXW2JNHmgVbP2njp/TERXCTJk7UtD; 20:zXHNP90GVI0duOI8jeSg8zgJg5d0la0M5FI9eIKcxO4tjF+tGWAJQaxB0DaMEJcqmBEyN/esC/q4XhGVUQT0lT0baaFiWWuhBVeBf+vt63erqLt7AmTTYlTmkftsLn2TV9uU/HCostpH62+A+HhYgJGmyppZDZ32jNjvaYmeFAA=
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 614654de-bd4d-439b-8a54-08d5996975ba
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(3008032)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7193020); SRVR:DM5PR2101MB1111;
x-ms-traffictypediagnostic: DM5PR2101MB1111:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=nibanks@microsoft.com;
x-microsoft-antispam-prvs: <DM5PR2101MB1111625414AD914D35E886C3B3A50@DM5PR2101MB1111.namprd21.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(189930954265078)(85827821059158)(219752817060721)(127952516941037);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(61425038)(6040522)(2401047)(5005006)(8121501046)(3231221)(944501327)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(61426038)(61427038)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:DM5PR2101MB1111; BCL:0; PCL:0; RULEID:; SRVR:DM5PR2101MB1111;
x-forefront-prvs: 0631F0BC3D
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39380400002)(396003)(39860400002)(346002)(366004)(376002)(13464003)(199004)(189003)(4326008)(6306002)(86362001)(25786009)(46003)(6436002)(33656002)(305945005)(6246003)(966005)(3280700002)(11346002)(14454004)(486005)(7736002)(486005)(68736007)(53936002)(476003)(86612001)(9686003)(106356001)(2906002)(74316002)(105586002)(446003)(99286004)(3660700001)(478600001)(55016002)(93886005)(81156014)(8676002)(6506007)(97736004)(8936002)(5250100002)(81166006)(53546011)(110136005)(54906003)(102836004)(10090500001)(5660300001)(76176011)(22452003)(316002)(6116002)(59450400001)(7696005)(39060400002)(8990500004)(2900100001)(186003)(229853002)(10290500003); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR2101MB1111; H:DM5PR2101MB0901.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: Tm4UKrE4/tWmNhjJS61BwRQ4vmo9BKZqKtxc7XdDm9gGpJPq7tccEG00shjCdggNxigsTqcMYWM57srIF2G1Th4euDFz6sQfVT5a4p29+9bOKDWv1rQcnvVFahMPkvWFOBWTVi2xaqOG5puzU3aRlJ8Maxa/P3n+n3D9IlSD32OVmODq6jYAhzVRNsKZid2HrMrxLs1pKrn3p63fJD/BgHjju19f6ajzzRr9+v3ZfqsouLjp/aSIlfW1i/ifjPrC3CoBzFydE9GBROxdyY8YI+gFiu6k9Ty2Pbemft8JMDLGaeLcGpnws1+jnnk2WcMBC95roB7+GtKpp2oTNvYTLjhzCr0ppwZJAXMsIiokQJplM9rlTJY+aIa3qdRMGTv0Ej1qzFfdwhw69SstkBtZjIDZHTpxTnpImcei0N7ZeAw=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 614654de-bd4d-439b-8a54-08d5996975ba
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Apr 2018 13:47:36.7627 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB1111
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/H3YiW35XRTDozf1H69ArGi4GIaw>
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, 03 Apr 2018 13:47:41 -0000

+1 for keeping the implicit opening of streams.

It does greatly simplify the tracking of idle/opened/closed streams. Also I agree that it simplifies the application layer (IMO), for things like HTTP control stream(s). If all streams are just opened in order, then the application layer really doesn't need (though it can, if it wants to link information across streams) to care about stream ID at all. The only down side to me about implicit stream opening is the attack surface. It only takes a few bytes in a single packet from the peer to open all streams you allotted for them. But I still don't feel that is that big of a deal. Just don't allot for streams for the peer that you are willing to maintain at one time.

To Martin's comment of "creation isn't an observable action" why do you say that? I can't find the PR right now, but I thought there was a PR recently that allows for sending the initial STREAM frame with offset=0 and length=0. That seems to be a way to directly indicate stream opening, and in my mind, make it an observable action.

Thanks,
- Nick

-----Original Message-----
From: QUIC <quic-bounces@ietf.org> On Behalf Of Dmitri Tikhonov
Sent: Tuesday, April 3, 2018 5:07 AM
To: Martin Thomson <martin.thomson@gmail.com>
Cc: Marten Seemann <martenseemann@gmail.com>; Lucas Pardue <Lucas.Pardue@bbc.co.uk>; QUIC WG <quic@ietf.org>
Subject: Re: Implicitly opened streams and exposing stream IDs

On Tue, Apr 03, 2018 at 05:28:21PM +1000, Martin Thomson wrote:
> Requiring in-order opening is harder than it sounds.

Some more discussion here:

  https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fquicwg%2Fbase-drafts%2Fissues%2F634&data=02%7C01%7Cnibanks%40microsoft.com%7C8d1fc56b3fba4a97335308d5995b7d97%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636583540596473225&sdata=0b6u8%2FntdWlkQInAefy0%2BYOaLH3%2BnEGmmUmVZ%2BjtmSo%3D&reserved=0

  - Dmitri.