Re: [quicwg/base-drafts] Change PTO to be per packet number space (#3066)
Jana Iyengar <notifications@github.com> Fri, 01 November 2019 18:02 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 13E73120EA6 for <quic-issues@ietfa.amsl.com>; Fri, 1 Nov 2019 11:02:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level:
X-Spam-Status: No, score=-8 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, 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 e4saLC5-IsvU for <quic-issues@ietfa.amsl.com>; Fri, 1 Nov 2019 11:02:02 -0700 (PDT)
Received: from out-24.smtp.github.com (out-24.smtp.github.com [192.30.252.207]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 879CD120EA1 for <quic-issues@ietf.org>; Fri, 1 Nov 2019 11:02:02 -0700 (PDT)
Received: from github-lowworker-a6a2749.va3-iad.github.net (github-lowworker-a6a2749.va3-iad.github.net [10.48.16.62]) by smtp.github.com (Postfix) with ESMTP id AFA216A1224 for <quic-issues@ietf.org>; Fri, 1 Nov 2019 11:02:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1572631321; bh=QkcYFBKHogaTDxdLPk2KCV41EmT7GTcnrgIy5tfNBIM=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=xdhajzlZPMEeL3DvjdghxkEphf263CiuJ55QumuienJoIaT6ipg7KtHO2s67xJk1J 2YlxWfXOQ6lfvZVuquNY+s/eWO5wNG8xcqfGYTjJgUl+eC1NpwKcWVgcJpU3ZFqTL5 K2XmIB9QjJeJg5TrpfgXVEBm0UJaju7c5vwismN0=
Date: Fri, 01 Nov 2019 11:02:01 -0700
From: Jana Iyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK7F6CN7LYSTR5PKYCF3ZGZ2TEVBNHHB3LP3EA@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3066/review/310606049@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3066@github.com>
References: <quicwg/base-drafts/pull/3066@github.com>
Subject: Re: [quicwg/base-drafts] Change PTO to be per packet number space (#3066)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5dbc7319a0fb1_7893fecee2cd95c1624de"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
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/rne9Zy8DBsAyrPDcm2kvYIi03DI>
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: Fri, 01 Nov 2019 18:02:05 -0000
janaiyengar commented on this pull request. > @@ -461,21 +464,34 @@ The PTO period is the amount of time that a sender ought to wait for an acknowledgement of a sent packet. This time period includes the estimated network roundtrip-time (smoothed_rtt), the variance in the estimate (4*rttvar), and max_ack_delay, to account for the maximum time by which a receiver might -delay sending an acknowledgement. +delay sending an acknowledgement. When the PTO is armed for Initial or +Handshake packet number spaces, the max_ack_delay is 0. "The endpoint may not have the peer's max_ack_delay when sending Initial or Handshake packets. The endpoint SHOULD set the max_ack_delay to 0 when arming a PTO for Initial or Handshake packet number spaces." This brings up a question: I don't think transport params are available until the handshake is completed. I think we need tighter text around this to say that max_ack_delay needs to be assumed 0 until transport params are available. I'll file a separate issue for that. > The PTO value MUST be set to at least kGranularity, to avoid the timer expiring immediately. +A sender computes its PTO timer every time an ack-eliciting packet is sent. +When ack-eliciting packets are in-flight in multiple packet number spaces, +the timer MUST be set for the packet number space with the earliest timeout, +except for ApplicationData, which MUST be ignored until the handshake +completes; see Section 4.1.1 of {{QUIC-TLS}}. Not arming the PTO for +ApplicationData prioritizes completing the handshake and prevents the server +from sending a 1-RTT PTO packet before it has the keys to process a 1-RTT "from sending a 1-RTT packet in response to a PTO expiration before ..." > The PTO value MUST be set to at least kGranularity, to avoid the timer expiring immediately. +A sender computes its PTO timer every time an ack-eliciting packet is sent. +When ack-eliciting packets are in-flight in multiple packet number spaces, +the timer MUST be set for the packet number space with the earliest timeout, +except for ApplicationData, which MUST be ignored until the handshake +completes; see Section 4.1.1 of {{QUIC-TLS}}. Not arming the PTO for +ApplicationData prioritizes completing the handshake and prevents the server +from sending a 1-RTT PTO packet before it has the keys to process a 1-RTT +packet. When probe packets from two different packet number spaces are sent +when the PTO fires and both spaces have in-flight packets, this simplifies to +setting the PTO on the lowest active packet number space. Can you reword this sentence? It's got two "when"s and it is a mouthful > When a PTO timer expires, the PTO period MUST be set to twice its current value. This exponential reduction in the sender's rate is important because the PTOs might be caused by loss of packets or acknowledgements due to severe -congestion. The life of a connection that is experiencing consecutive PTOs is -limited by the endpoint's idle timeout. +congestion. Even when there are ack-eliciting packets in-flight in multiple +packet number spaces, the exponential increase in probe timeout occurs across +all spaces to prevent excess load on the network. For example, a timeout in +the Initial packet number space doubles the length of the timeout in the +Handshake packet number space. Are all timers restarted at this point? -- 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/pull/3066#pullrequestreview-310606049
- [quicwg/base-drafts] Change PTO to be per packet … ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… David Schinazi
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Martin Thomson
- Re: [quicwg/base-drafts] Change PTO to be per pac… Kazuho Oku
- Re: [quicwg/base-drafts] Change PTO to be per pac… MikkelFJ
- Re: [quicwg/base-drafts] Change PTO to be per pac… Marten Seemann
- Re: [quicwg/base-drafts] Change PTO to be per pac… martinduke
- Re: [quicwg/base-drafts] Change PTO to be per pac… martinduke
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… Martin Thomson
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… martinduke
- Re: [quicwg/base-drafts] Change PTO to be per pac… Marten Seemann
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… David Schinazi
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… martinduke
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… martinduke
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… martinduke
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… martinduke
- Re: [quicwg/base-drafts] Change PTO to be per pac… Martin Thomson
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Junho Choi
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Marten Seemann
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Marten Seemann
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Marten Seemann
- Re: [quicwg/base-drafts] Change PTO to be per pac… Marten Seemann
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… Jana Iyengar
- Re: [quicwg/base-drafts] Change PTO to be per pac… Marten Seemann
- Re: [quicwg/base-drafts] Change PTO to be per pac… ianswett