Re: [quicwg/base-drafts] Change PTO to be per packet number space (#3066)

Junho Choi <> Wed, 30 October 2019 22:01 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 64FA312011C for <>; Wed, 30 Oct 2019 15:01:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8
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: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id KxQXD6L4Ta6H for <>; Wed, 30 Oct 2019 15:01:12 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 589DC1200CC for <>; Wed, 30 Oct 2019 15:01:12 -0700 (PDT)
Date: Wed, 30 Oct 2019 15:01:11 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1572472872; bh=Pzy00lK8oOIpnKge0w4MbKEbyCz/rA8DdTpTMRzOrt4=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=qobtojT2cjrgdT01x2Djk6vV2xjhXP2mXaSnzZWRIr8cRQvXTgJp9ePWlIPrVL/By ttaDJH6yKVU4UXb86BUE8UZoGNK+ybaq+hi1GEreZTN9MfzYf/vTecSKWp+rfwWm05 EyOfxzuU94nmgS92evDHDbkUS+/VOggdzSAlhLQE=
From: Junho Choi <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3066/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Change PTO to be per packet number space (#3066)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5dba0827ac3dd_11723f817f0cd95c14876e"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: junhochoi
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 30 Oct 2019 22:01:16 -0000

junhochoi commented on this pull request.

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

If I understand correctly,
When Initial PTO is 10ms and Handshake PTO is 15ms:
  when Initial PTO expires, Initial PTO becomes 10ms and Handshake PTO becomes 30ms

Does it means Handshake PTO need to be re-armed at the point of Initial PTO expiration?
It may mean that Handshake PTO never be fired if Initial PTO keeps firing. There is other
text L544 saying that Initial and Handshake ack-eliciting packet should be sent at
Initial PTO expires. Then probably Handshake PTO need to be rearmed because we sent
Handshake ack-eliciting packet.
So for me it looks like now Initial PTO dominates Handshake PTO until Initial phase is complete.
Is my understanding correct?

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: