[quicwg/base-drafts] PTO after handshake completion is not well-defined (#3831)

Marten Seemann <notifications@github.com> Tue, 07 July 2020 07:28 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 0046F3A099B for <quic-issues@ietfa.amsl.com>; Tue, 7 Jul 2020 00:28:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.483
X-Spam-Level:
X-Spam-Status: No, score=-1.483 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_24=1.618, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, 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 orSjGX0rF6lH for <quic-issues@ietfa.amsl.com>; Tue, 7 Jul 2020 00:28:51 -0700 (PDT)
Received: from out-28.smtp.github.com (out-28.smtp.github.com [192.30.252.211]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F2923A09A2 for <quic-issues@ietf.org>; Tue, 7 Jul 2020 00:28:39 -0700 (PDT)
Received: from github-lowworker-f045d1f.ac4-iad.github.net (github-lowworker-f045d1f.ac4-iad.github.net [10.52.19.54]) by smtp.github.com (Postfix) with ESMTP id 646278C0DE0 for <quic-issues@ietf.org>; Tue, 7 Jul 2020 00:28:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1594106918; bh=OcJLOyRy5L+Y+2pgRJKOL25O5aphqkeMV8TdmF5C7YM=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=xdlYBxdL95DEJDlgqkToujlvidBZNKtTEO9RUE911TC8vZ8UIxB801XfyWSoE9yjp LmrCakELOkNmDhf8jsZUxDjbQFff0i7yhAdUlVeHZaXrMcEf084ydJwZFlT4+pZwDH PHpSoNIhT8lRywZLQauIGUbUfNiZi6O123By5qx8=
Date: Tue, 07 Jul 2020 00:28:38 -0700
From: Marten Seemann <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK5TDDB7SKI62YLMVP55CACSNEVBNHHCNXO66A@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3831@github.com>
Subject: [quicwg/base-drafts] PTO after handshake completion is not well-defined (#3831)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5f04242654eb4_75d33f86ff2cd95c2102f6"; 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/hraHHXzWZJxtE68RdJByWo6hLCo>
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: Tue, 07 Jul 2020 07:28:53 -0000

Assume the following situation: The server sends 0.5-RTT data, but never receives an acknowledgement for that packet. When the handshake completes, the only outstanding packet is that 0.5-RTT packet. The server now needs to arm a PTO timer.

> A sender recomputes and may need to reset its PTO timer every time an ack-eliciting packet is sent or acknowledged, when the handshake is confirmed, or when Initial or Handshake keys are discarded.

This seems to imply that the timer should be set to `handshake_completion_time + PTO`, whereas 

> This ensures the PTO is always set based on the latest RTT information and for the last sent packet in the correct packet number space.

seems to imply that the timer should be set to `outstanding_0.5RTT_packet_sent_time + PTO`.

I think I'd prefer the former interpretation of the latter one. For example, if the entire first flight is lost, the server won't retransmit the Initial for 1s. When the handshake then completes, the RTT is most likely << 1s, which would mean that the timer is set to a time in the past, if we base it on the time the 0.5-RTT packet was sent.

-- 
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/3831