Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id B3DAF12D4E9
 for <quic-issues@ietfa.amsl.com>; Sun,  6 Jan 2019 23:16:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.065
X-Spam-Level: 
X-Spam-Status: No, score=-8.065 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.065, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001,
 MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001]
 autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
 header.d=github.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 rO6U3YzAOi5D for <quic-issues@ietfa.amsl.com>;
 Sun,  6 Jan 2019 23:16:48 -0800 (PST)
Received: from out-4.smtp.github.com (out-4.smtp.github.com [192.30.252.195])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 2175B126BED
 for <quic-issues@ietf.org>; Sun,  6 Jan 2019 23:16:48 -0800 (PST)
Date: Sun, 06 Jan 2019 23:16:46 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com;
 s=pf2014; t=1546845406;
 bh=4faZZJW7xlzO259pBs5mYAiKEhytPwJ9cvjVudQ32pY=;
 h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID:
 List-Archive:List-Post:List-Unsubscribe:From;
 b=qy9TEiawAi7vL2C/MP+oo3XcMTuU67/Xrbvb5+lrNQ10BmSRskoM+9piWIFFxaaQE
 r8R1qVN0Wl1gBodU9mThjFf0XrtMLh1HxRbTiswbjGkFnc1HJ3sYfLILi2vaEeyjWP
 hY/GlkVpr7J6MaROpURjV+KLWy+zADHgX0ZdfRgI=
From: Christian Huitema <notifications@github.com>
Reply-To: quicwg/base-drafts
 <reply+0166e4ab72a415e1c06fecdc936894664238ec604a0cedfe92cf00000001184abede92a169ce1784eaec@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2267/451842773@github.com>
In-Reply-To: <quicwg/base-drafts/issues/2267@github.com>
References: <quicwg/base-drafts/issues/2267@github.com>
Subject: Re: [quicwg/base-drafts] loss of only two packets can lead to an
 unrecoverable situation (#2267)
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_5c32fcdee8abe_2b0d3fe214cd45c07812b7";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: huitema
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/68iBGgiKKgRUXjUzrYfYYzehYhE>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG
 <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>,
 <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Jan 2019 07:16:50 -0000


----==_mimepart_5c32fcdee8abe_2b0d3fe214cd45c07812b7
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

I think this issue is an indirect justification for implicit ACK. The server may have dropped the handshake key, but it can send and receive 1-RTT packets. So can the client. If the client sends an 1-RTT packet after sending the CFIN, it should receive an ACK from the server. At that point, it knows there is no point in retransmitting the CFIN. If neither the 1-RTT not the CFIN handshake are acked, both can be repeated. If the handshake CFIN was received but the ACK lost, as @marten-seemann envisages, the server may not be able to process handshake packets anymore, but it can receive and ACK the 1-RTT packet.

Of course, that falls apart if the handshake and 1-RTT packets are coalesced. Maybe we need a warning there... 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2267#issuecomment-451842773
----==_mimepart_5c32fcdee8abe_2b0d3fe214cd45c07812b7
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<p>I think this issue is an indirect justification for implicit ACK. The =
server may have dropped the handshake key, but it can send and receive 1-=
RTT packets. So can the client. If the client sends an 1-RTT packet after=
 sending the CFIN, it should receive an ACK from the server. At that poin=
t, it knows there is no point in retransmitting the CFIN. If neither the =
1-RTT not the CFIN handshake are acked, both can be repeated. If the hand=
shake CFIN was received but the ACK lost, as <a class=3D"user-mention" da=
ta-hovercard-type=3D"user" data-hovercard-url=3D"/hovercards?user_id=3D14=
78487" data-octo-click=3D"hovercard-link-click" data-octo-dimensions=3D"l=
ink_type:self" href=3D"https://github.com/marten-seemann">@marten-seemann=
</a> envisages, the server may not be able to process handshake packets a=
nymore, but it can receive and ACK the 1-RTT packet.</p>
<p>Of course, that falls apart if the handshake and 1-RTT packets are coa=
lesced. Maybe we need a warning there...</p>

<p style=3D"font-size:small;-webkit-text-size-adjust:none;color:#666;">&m=
dash;<br />You are receiving this because you are subscribed to this thre=
ad.<br />Reply to this email directly, <a href=3D"https://github.com/quic=
wg/base-drafts/issues/2267#issuecomment-451842773">view it on GitHub</a>,=
 or <a href=3D"https://github.com/notifications/unsubscribe-auth/AWbkq3bn=
hM0RO5EpVSE0y6aCX35uxXseks5vAvRegaJpZM4ZjodA">mute the thread</a>.<img sr=
c=3D"https://github.com/notifications/beacon/AWbkq8lmr-esJHJIiBnEfsJBIZIj=
lNzaks5vAvRegaJpZM4ZjodA.gif" height=3D"1" width=3D"1" alt=3D"" /></p>
<script type=3D"application/json" data-scope=3D"inboxmarkup">{"api_versio=
n":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name"=
:"GitHub"},"entity":{"external_key":"github/quicwg/base-drafts","title":"=
quicwg/base-drafts","subtitle":"GitHub repository","main_image_url":"http=
s://github.githubassets.com/images/email/message_cards/header.png","avata=
r_image_url":"https://github.githubassets.com/images/email/message_cards/=
avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/q=
uicwg/base-drafts"}},"updates":{"snippets":[{"icon":"PERSON","message":"@=
huitema in #2267: I think this issue is an indirect justification for imp=
licit ACK. The server may have dropped the handshake key, but it can send=
 and receive 1-RTT packets. So can the client. If the client sends an 1-R=
TT packet after sending the CFIN, it should receive an ACK from the serve=
r. At that point, it knows there is no point in retransmitting the CFIN. =
If neither the 1-RTT not the CFIN handshake are acked, both can be repeat=
ed. If the handshake CFIN was received but the ACK lost, as @marten-seema=
nn envisages, the server may not be able to process handshake packets any=
more, but it can receive and ACK the 1-RTT packet.\r\n\r\nOf course, that=
 falls apart if the handshake and 1-RTT packets are coalesced. Maybe we n=
eed a warning there... "}],"action":{"name":"View Issue","url":"https://g=
ithub.com/quicwg/base-drafts/issues/2267#issuecomment-451842773"}}}</scri=
pt>
<script type=3D"application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/quicwg/base-drafts/issues/2267#issuecomment=
-451842773",
"url": "https://github.com/quicwg/base-drafts/issues/2267#issuecomment-45=
1842773",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>=

----==_mimepart_5c32fcdee8abe_2b0d3fe214cd45c07812b7--

