[quicwg/base-drafts] Simplify TLP and RTO into Probe Timeout (#2114)

janaiyengar <notifications@github.com> Tue, 11 December 2018 15:57 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 A818812DDA3 for <quic-issues@ietfa.amsl.com>; Tue, 11 Dec 2018 07:57:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.46
X-Spam-Level:
X-Spam-Status: No, score=-4.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_NONE=-0.0001, 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 dWfguaqWo1VA for <quic-issues@ietfa.amsl.com>; Tue, 11 Dec 2018 07:57:25 -0800 (PST)
Received: from o7.sgmail.github.com (o7.sgmail.github.com [167.89.101.198]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A9A6B130DDB for <quic-issues@ietf.org>; Tue, 11 Dec 2018 07:57:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=g0sIdVPFdygZDJc1wLt54eDkudY=; b=woFT66dIBQg1SxEN PPw2BpJXM+8CfvFQ5yhTmfQ7pfd8HYUXbIJTWA4ZJYPwDhsYGsFCS1stylv17jl7 O99CZiiup2iqBozqhDLDHbxGcqdJau6O8H7XUZFgOGeutDg6cb8VD3ZKlMp+EdMh uuv9ey92K0zjrHxA6HJXCH6btdg=
Received: by filter1103p1las1.sendgrid.net with SMTP id filter1103p1las1-23935-5C0FDE64-E 2018-12-11 15:57:24.373953571 +0000 UTC m=+60379.351978666
Received: from github-lowworker-baaab27.cp1-iad.github.net (unknown [192.30.252.33]) by ismtpd0015p1iad2.sendgrid.net (SG) with ESMTP id GZN8AjeXT2664_rP0RZEGg for <quic-issues@ietf.org>; Tue, 11 Dec 2018 15:57:24.236 +0000 (UTC)
Received: from github.com (localhost [127.0.0.1]) by github-lowworker-baaab27.cp1-iad.github.net (Postfix) with ESMTP id 3FC03804A5 for <quic-issues@ietf.org>; Tue, 11 Dec 2018 07:57:24 -0800 (PST)
Date: Tue, 11 Dec 2018 15:57:24 +0000
From: janaiyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab56e6aad80564a2da48e06151de38a7ab266f9f4792cf000000011827a06492a169ce173c5dcf@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2114@github.com>
Subject: [quicwg/base-drafts] Simplify TLP and RTO into Probe Timeout (#2114)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c0fde643e6fd_3c773f9b51ad45b843964"; 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
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak2kOA9aF9gCH1hGY4QkVKdYycfgEciqKPJYjK m4I34vN09RmBQZON+AzwEQSWbmJkUWR/jTvd0q+2xlnXTvaee5sHKx6Ut4XWsZFVg9ncb1nGGmCuU/ faz1v4uXKI6Zk1LXWlkjzTdw/O76J/P+qmbWSWrA0yRwuva6BtbAf7XrqgsKaomMPa2WZzEUkaki3Y 8=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/FpgmTUMfIcoZjnLx5_16DFR9ue0>
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, 11 Dec 2018 15:57:28 -0000

This PR simplifies QUIC's timeout-based loss detection mechanisms. Unfortunately, this PR cuts through text is many places, so I'm summarizing the key changes here.  The compiled version of the draft, [here](https://quicwg.org/base-drafts/pto/draft-ietf-quic-recovery.html), might be easier to read than the diffs.

- TLP and RTO are combined into a single "Probe Timeout" (PTO). Consecutive PTOs are exponentially longer, just like RTO used to be.  The rationale for calling this a "Probe" Timeout is that loss detection in QUIC only happens when an ack is received, and this timer and timeout only cause probe packets to be sent out to elicit acks.

- Min TLP, RTO, crypto timeout values are now removed. We had a minTLP of 10ms (which was used as a min for the crypto timeout as well) and a minRTO of 200ms.  The number of 10ms was a bit arbitrary, and based on a long-expired TCP TLP individual draft. We discussed the minRTO in #1017, and there was general agreement that adding a max_ack_delay should allow us to remove the minRTO. max_ack_delay is now present and included in the PTO computation.

- Clock granularity is added for both crypto and PTO timeouts, ensuring that even when the computed network RTT might be too small and represented as 0, timeouts are set for at least 1 clock tick. This is in keeping with use of granularity in TCP (RFC 6298). A min granularity of 1ms is recommended.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/2114

-- Commit Summary --

  * sync
  * first cut of mechanism
  * complete text
  * pseudocode changes

-- File Changes --

    M draft-ietf-quic-recovery.md (251)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2114.patch
https://github.com/quicwg/base-drafts/pull/2114.diff

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