Re: Closing on CONNECTION_CLOSE

Christian Huitema <huitema@huitema.net> Fri, 28 July 2017 18:49 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 D085F131C99 for <quic@ietfa.amsl.com>; Fri, 28 Jul 2017 11:49:22 -0700 (PDT)
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 PtVAZJZ53pqv for <quic@ietfa.amsl.com>; Fri, 28 Jul 2017 11:49:20 -0700 (PDT)
Received: from mx44.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 A1932131E0D for <quic@ietf.org>; Fri, 28 Jul 2017 11:49:20 -0700 (PDT)
Received: from xsmtp12.mail2web.com ([168.144.250.177]) by mx44.antispamcloud.com with esmtps (TLSv1.2:AES128-SHA:128) (Exim 4.89) (envelope-from <huitema@huitema.net>) id 1dbAK6-0005zA-9o for quic@ietf.org; Fri, 28 Jul 2017 20:49:18 +0200
Received: from [10.5.2.15] (helo=xmail05.myhosting.com) by xsmtp12.mail2web.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <huitema@huitema.net>) id 1dbAK3-0000Xw-At for quic@ietf.org; Fri, 28 Jul 2017 14:49:16 -0400
Received: (qmail 6975 invoked from network); 28 Jul 2017 18:49:13 -0000
Received: from unknown (HELO [192.168.1.103]) (Authenticated-user:_huitema@huitema.net@[172.56.42.66]) (envelope-sender <huitema@huitema.net>) by xmail05.myhosting.com (qmail-ldap-1.03) with ESMTPA for <ianswett@google.com>; 28 Jul 2017 18:49:13 -0000
To: Patrick McManus <pmcmanus@mozilla.com>, Dmitri Tikhonov <dtikhonov@litespeedtech.com>
References: <CABcZeBP_Xh1QC9Qxhy5HYiMiTfknPs7Yp7+X_KnQE1O-juxJ5g@mail.gmail.com> <cb7caadd-73bd-6505-7a57-4b0271fb66d2@huitema.net> <DB5PR07MB1237960D04442972441D9B8B84BE0@DB5PR07MB1237.eurprd07.prod.outlook.com> <CAKcm_gOSSWOiY7S3KCW4674KO76PxoFmcTbFSsbO-71aQmCXHg@mail.gmail.com> <CABcZeBP3s=XrOXjzN=SvjrYkc-eSUAx8BZXTO-BFAQW-55TXzw@mail.gmail.com> <CAGD1bZYEOxSXaw3cMBZTjkdwCVyJ+cca6fhY0Rh1OaGiB0ihSA@mail.gmail.com> <20170728124951.GB2686@ubuntu-dmitri> <CAOdDvNo0v2ckD1fy9C2iofcMBtVtCBi5QzeVY9w=0D-G-TcRbw@mail.gmail.com>
Cc: Jana Iyengar <jri@google.com>, Eric Rescorla <ekr@rtfm.com>, IETF QUIC WG <quic@ietf.org>, "Swindells, Thomas (Nokia - GB/Cambridge, UK)" <thomas.swindells@nokia.com>, Ian Swett <ianswett@google.com>
From: Christian Huitema <huitema@huitema.net>
Message-ID: <e1cac200-cc18-d4b9-e600-81dead5e9eaa@huitema.net>
Date: Fri, 28 Jul 2017 11:49:09 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <CAOdDvNo0v2ckD1fy9C2iofcMBtVtCBi5QzeVY9w=0D-G-TcRbw@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------6120020CBC5E82DDF6903A3C"
Subject: Re: Closing on CONNECTION_CLOSE
X-Originating-IP: 168.144.250.177
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: ham
X-SpamExperts-Outgoing-Evidence: Combined (0.06)
X-Recommended-Action: accept
X-Filter-ID: PqwsvolAWURa0gwxuN3S5YEa3T7JuZT23fGO2rGt3ZgTCGhDnudOJ80D1c8rffxrus7BTv7Ss8cH d2IQQuvdbtM+m4WpRRDP6YzwkAPgQJbMzHFUa97P3bfY1LzB69ykND46yZLY9QyX+cRXmooQ3hum JwiT+2brWmQlzkLIcXivpIH4ag6BM/+u9ym+BA23Q5hd1fTq7VCTCYFGtegiwHLOSWf0iLpjmOrL d+JDt7tL1nlQs5YvH9FEfKO0+WwCYOEkjsX7F8KmpUaZQHV+SaoNpL7PRmmTib7l1mO88Em2G5Pj 7iQJEmtNUzH3idZ6uMF2OhyCCCV83x+RZrKIj0QqMGQOSwmEPwP4wBzM77N8GvkYGGDFjg9NrmGY yNnXsSjdYwfRhjHqxQXDsBKLpCbsjdvAic40+cHi4LtB9yD6lO4FGen962xgCFRckncKfg1XSK9P 1z/R6plfrFWGyfFtN22Lr2qS6oeGUxSJ/EjeNHk15VolAGHS5rCXQKDym+Gab6cuAPzLi/SdAxlO dgkraHgbbAuZgv0Q6mJ3vUcipz1IT62ZEk6+MmovaufbiR3bHfnMCIEU+nrglojKwMr3vOY18GvB wSXAfWcj2357kOoTgosukdyElz7rBwHENdSMuNhZC3X/nGdDKYyg+xII1yJ8udUSd8siDlV+9cBL pGLKbiMLMKI7KIsgfDrl6J1fhOzjF0b4LXcjJZ5lolwe4FDighPMMafsmwOoT6zTQwxc1Dks8jy3 XjHlpiYKxzCPlkGqIuWmcZPQhnpX0M0yU2LI0GQUDn3k/srNlrrRG8CNIo3Sx0BJZHAPrCs7tyb7 Rrgi3wKcZ6DOEZP9h2AocVYAMa9P02RGLBmw4yqe0W5l+akx4yHjJyULwyVMTRpUChnn7dZMk3sz 8NLrGw==
X-Report-Abuse-To: spam@quarantine5.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/wIY0BX9HcsD4KHNIQeCB0NJ0PDU>
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: Fri, 28 Jul 2017 18:49:23 -0000


On 7/28/2017 10:15 AM, Patrick McManus wrote:
> I disagree a little bit with (I think) Subodh and Wily regarding what
> to send when you recv data after you have sent a CLOSE. I want to
> strongly encourage implementations to have a TIME_WAIT like period of
> being able to a fully protected CLOSE (it can be a memcpy retransmit).
> public reset ought to be left as a last resort.

As Subodh pointed out, "TIME_WAIT exists in TCP is to protect us from
the local port being re-bound to another connection and the data from
the old connection interfering with the new connection." We don't have
that constraint of old packets resurfacing 30 seconds later and
interfering with a new data flow. Encryption protects against that. The
"waiting" or "draining" period would mostly be a courtesy to the peer,
to ensure that the CLOSE frame is well received, and that the peer
actually stops sending.

The normal duration of the draining period would be "sufficiently more
than 1 RTT". With the current spec, the closer knows that the CLOSE has
not been received yet if it keeps receiving packets from the peer. This
should normally last for 1 RTT after sending the CLOSE frame. If it
receives any packets more than 1 RTT after sending the CLOSE, it can
assume that the CLOSE frame was not received. It would make sense to
resend it then.

Of course, there is a question of how long to wait after 1 RTT. Probably
"some time depending on the application".

We could be tempted to specify acknowledgements, etc. But then we have
to remember the two generals...

-- 
Christian Huitema