RE: STOP_SENDING

Mike Bishop <Michael.Bishop@microsoft.com> Tue, 01 August 2017 00:29 UTC

Return-Path: <Michael.Bishop@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 85E591322D6 for <quic@ietfa.amsl.com>; Mon, 31 Jul 2017 17:29:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.031
X-Spam-Level:
X-Spam-Status: No, score=-0.031 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, 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 pkTh2fOHy7zK for <quic@ietfa.amsl.com>; Mon, 31 Jul 2017 17:29:05 -0700 (PDT)
Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0094.outbound.protection.outlook.com [104.47.40.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A8CCB13253B for <quic@ietf.org>; Mon, 31 Jul 2017 17:29:05 -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=NZs6cXuXrmtQ8er+kuY/Yh1Y+rO09b2DFEEoBFXe/qc=; b=fuXKU6sO8vdsyEXjSBK7FVHheADZt+cnF5iiR0a9c9GuobpvKs7ggacItKwWf3xGNCjv0ucDzDZAfLhgQQTXcfJN9GnH8YnoH+P77Loq5aTDksfjI2m8ML042AM5fTmPjGDFRVxQbLV61Wfaq3zib0q/OH2myBuLJrahtXIsyys=
Received: from MWHPR21MB0141.namprd21.prod.outlook.com (10.173.52.11) by MWHPR21MB0125.namprd21.prod.outlook.com (10.173.52.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1341.0; Tue, 1 Aug 2017 00:29:04 +0000
Received: from MWHPR21MB0141.namprd21.prod.outlook.com ([10.173.52.11]) by MWHPR21MB0141.namprd21.prod.outlook.com ([10.173.52.11]) with mapi id 15.01.1341.000; Tue, 1 Aug 2017 00:29:04 +0000
From: Mike Bishop <Michael.Bishop@microsoft.com>
To: Subodh Iyengar <subodh@fb.com>, Martin Thomson <martin.thomson@gmail.com>, QUIC WG <quic@ietf.org>
Subject: RE: STOP_SENDING
Thread-Topic: STOP_SENDING
Thread-Index: AQHTCZGFwh/s1ctV8UmjTeq6nd+wlKJunmsAgAADa7A=
Date: Tue, 01 Aug 2017 00:29:03 +0000
Message-ID: <MWHPR21MB01417568E2E1C6ECEA56334987B30@MWHPR21MB0141.namprd21.prod.outlook.com>
References: <CABkgnnU2N3gQvtBf-Ff3veT=f=8WApykWfNw+7aCNdZ0a3WO7Q@mail.gmail.com> <MWHPR15MB1455C9C91344082BD1EF4CAAB6B20@MWHPR15MB1455.namprd15.prod.outlook.com>
In-Reply-To: <MWHPR15MB1455C9C91344082BD1EF4CAAB6B20@MWHPR15MB1455.namprd15.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [2001:4898:80e8:e::224]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; MWHPR21MB0125; 6:I8TkrLlLIZ13zETPYlbtPcew3mAp2Hch+gPl2kZVJ88IDmy+UaWsNMWQaFWfYfMmzYZBKF3URwTr+gxHSCEgEbDf83xEYL8c3nM6e0vGNqKThiWEK4QKfx1BMe4P3pTiRXp0ZKsihHEURgiOO+WH9VvhWpl2Kparw+q7nDSR5eyrdm2rAM7bzRIoSDHrS7bTjFi3IAaHOj0Eba9OYqyytoG8kN+bCyZsb9mg87lK8xcZb36YthQvJpZz2a+PBN7EPm0kYEtpV6IspdywEoUBJ0SEnY4rwQHq60I3SdiE8Mh4rDtE5sslpA5MKGhMMQ6sBe1nAj+HCIKxzN0JGEUIdg==; 5:cOuf4/VBQG0YsOkrxp3OYy5oR4PUGE6n4egHJzmZ6fKna2qFpfn6L6eOeqZw6Sk2g5rEFDNzDjvR9lfV30IHNegvgeAkEJUB1UQtmK13eHolaByCQqskLflFDo4yS4aSUo5SChRbCQPiacPwsCNodA==; 24:SLDi9vKPza5doqWQKFcRlont/9nu7829GG11/6l9koAoTh5DMI+PKonAzzDLoWcm1RsxPPyEyzhsFJNBqG5O5isUoCs/eOVpxtIQaxBJf/4=; 7:3wq+sAU24Bx2T050qjZQ50+/CCVgpf4rbdk/07XyY8BcFE1J7zC3t0P8omJKKmPmw2CrxeWoaRy2a8XwzwnlaLEgaCrGtqITdlcfXRzJp6XIvHRbprxj1EMPGxWuBtCkItpkfSsKKRYaOjpPDHlujy2CGMGYyfLIIRnlp1tsAh3283oQ3U9D6LSnffANj7D7QzdIDQHmyLzMLCVncMH9Ott9ImlPV4nMdaWMDNu5wLY=
x-ms-office365-filtering-correlation-id: 68c844cd-c491-49c1-da85-08d4d874505a
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(48565401081)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:MWHPR21MB0125;
x-ms-traffictypediagnostic: MWHPR21MB0125:
x-exchange-antispam-report-test: UriScan:(166708455590820)(189930954265078)(219752817060721)(21748063052155);
x-microsoft-antispam-prvs: <MWHPR21MB0125ADED413F01FCE2F86CCB87B30@MWHPR21MB0125.namprd21.prod.outlook.com>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(61425038)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6055026)(61426038)(61427038)(6041248)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR21MB0125; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR21MB0125;
x-forefront-prvs: 0386B406AA
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39400400002)(39850400002)(39410400002)(39860400002)(39840400002)(39450400003)(47760400005)(377454003)(199003)(189002)(52314003)(229853002)(6116002)(102836003)(790700001)(2906002)(86362001)(5660300001)(7116003)(81156014)(3280700002)(8936002)(3660700001)(7696004)(81166006)(8676002)(6436002)(86612001)(25786009)(68736007)(7736002)(77096006)(478600001)(19609705001)(74316002)(6506006)(10090500001)(10290500003)(99286003)(55016002)(50986999)(6246003)(53936002)(6306002)(54896002)(236005)(9686003)(76176999)(189998001)(54356999)(2950100002)(97736004)(38730400002)(53546010)(606006)(39060400002)(101416001)(72206003)(8990500004)(14454004)(106356001)(105586002)(33656002)(966005)(5005710100001)(2900100001); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR21MB0125; H:MWHPR21MB0141.namprd21.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Michael.Bishop@microsoft.com;
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_MWHPR21MB01417568E2E1C6ECEA56334987B30MWHPR21MB0141namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Aug 2017 00:29:03.9988 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR21MB0125
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/snYiU4E4BrUJqhyuMsO1j1fdq6c>
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, 01 Aug 2017 00:29:08 -0000

Yeah, the retransmission piece of it is interesting.  I can see an argument for making it non-retransmittable, but having guidance to periodically resend it if you continue to receive data.  (Kind of like ACKs - you don't blindly re-send the frame, you re-evaluate what needs to be sent.)  However, that seems heavier-weight than simply sending it reliably.  Note that only STREAM frames block the transition to "closed," and even there the transition happens when you have "completed sending," which I don't read as everything having been ACK'd unless we added that definition somewhere else.

The previous RST was only somewhat bidirectional - when you sent a RST_STREAM, you didn't know the other side's final offset, so you couldn't wind down their side of the stream until they also sent a RST_STREAM.  That's still the case, but now it's more honest - the stream continues to be open in the other direction until they actually send the RST_STREAM.

Conceptually, I'd be okay with a "MUST send RST_STREAM unless the stream is already closed," but this is almost impossible to verify, even if you start tracking what streams show up in packet numbers after the ACK of the packet that contained the STOP_SENDING frame.  My general rule is that if the other party can't be certain whether you violated a MUST, it needs to be a SHOULD.

From: QUIC [mailto:quic-bounces@ietf.org] On Behalf Of Subodh Iyengar
Sent: Monday, July 31, 2017 4:58 PM
To: Martin Thomson <martin.thomson@gmail.com>; QUIC WG <quic@ietf.org>
Subject: Re: STOP_SENDING


I commented on the PR, but had a design comment

Sending one more frame type has the added burden of needing to retransmit it before we go to closed state unless we make STOP_SENDING non retransmittable. Since this frame type is advisory anyway, does it really need to be retransmittable? Also it doesn't make sense to send this if we have received the peers RST. A peer's RST might have raced with our STOP_SENDING and the peer might have got rid of state for the stream. Thus any retransmitted STOP_SENDING frames might just be ignored.



Previously we had a bidirectional RST. With this change, it makes me a bit nervous for an endpoint to rely on a peer following advisory behavior for them to be able to close their stream, for example what would we do about a client that chooses not to send a RST on STOP_SENDING, do we rely on stream limits only? close the connection? It would be much more comfortable with a client MUST send a RST when getting a STOP_SENDING.

Subodh

________________________________
From: QUIC <quic-bounces@ietf.org<mailto:quic-bounces@ietf.org>> on behalf of Martin Thomson <martin.thomson@gmail.com<mailto:martin.thomson@gmail.com>>
Sent: Sunday, July 30, 2017 5:10 PM
To: QUIC WG
Subject: STOP_SENDING

https://github.com/quicwg/base-drafts/pull/171<https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fquicwg%2Fbase-drafts%2Fpull%2F171&data=04%7C01%7Cmichael.bishop%40microsoft.com%7C296782094b2c423d21f108d4d86fefcf%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636371422734759522%7CUnknown%7CVW5rbm93bnx7IlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiT3RoZXIifQ%3D%3D%7C-1&sdata=W1OI1vIeX7yxBvszcG6lc7PJss6qtdI2k%2F0d8WG%2F%2BfY%3D&reserved=0>

As mentioned in Prague, I want to merge the PR formerly known as
DISINTEREST.  Mike has updated it and it is now ready to do.  I plan
to merge this in 48 hours, absent any substantial objections.