Re: [quicwg/base-drafts] loss of only two packets can lead to an unrecoverable situation (#2267)

Marten Seemann <notifications@github.com> Mon, 07 January 2019 08:05 UTC

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 66CD6130DE7 for <quic-issues@ietfa.amsl.com>; Mon, 7 Jan 2019 00:05:41 -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 Q5SUM3Q621nV for <quic-issues@ietfa.amsl.com>; Mon, 7 Jan 2019 00:05:39 -0800 (PST)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 999561271FF for <quic-issues@ietf.org>; Mon, 7 Jan 2019 00:05:39 -0800 (PST)
Date: Mon, 07 Jan 2019 00:05:38 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1546848338; bh=PfPD7b0DalFDJxmf42h4c6e9+MRNR5m5tCiYeBtJIuo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Zdx2ZTwIviU9JKvUmKchNRzf3jXix4cLwP/KKSsK0a/ajXybRkdiTOzH/igOvnKqU /V3gp63OXQZIZda+ymYz1yrUZpOIPdVVQatbNsEb8o+gIi7KrSz8ci91icHftbPvai 3S444D+9YtoLPppelBFWfQKuLPjnyDv1CHNX8CVY=
From: Marten Seemann <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab293330131ce2ae09cb48bf6e726636c41e8773e992cf00000001184aca5292a169ce1784eaec@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/451852213@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_5c3308529a43b_fa73ff7fd8d45c075193d"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: marten-seemann
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/XuXseiARnb85bsFcebVzWEauyCg>
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 08:05:41 -0000

> 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.

I agree, but it's better if the server send an ack-eliciting 1-RTT packet right after the handshake completes, since there's no uncertainty on the server's side if the client already has 1-RTT keys. In the stream-0 design team we once had a proposal fo a HANDSHAKE_DONE frame (a 1-byte ack-eliciting frame that is delivered reliably). I consider this a much cleaner solution than relying on timers which might or might not be chosen appropriately to work with a particular loss pattern.

Dropping handshake keys, and moving forward from the crypto mode in the loss recovery (so we can use the PTO timer instead of the crypto timer), is then really straightforward.

-- 
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-451852213