[quicwg/base-drafts] Crypto Retransmission Timeout interacts poorly with Congestion Control (#2886)

Marten Seemann <notifications@github.com> Tue, 09 July 2019 17:20 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 B38C31202C7 for <quic-issues@ietfa.amsl.com>; Tue, 9 Jul 2019 10:20:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.382
X-Spam-Level:
X-Spam-Status: No, score=-6.382 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_IMAGE_ONLY_24=1.618, 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 oCSneuaJGcYQ for <quic-issues@ietfa.amsl.com>; Tue, 9 Jul 2019 10:20:46 -0700 (PDT)
Received: from out-23.smtp.github.com (out-23.smtp.github.com [192.30.252.206]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EA1181201F1 for <quic-issues@ietf.org>; Tue, 9 Jul 2019 10:20:45 -0700 (PDT)
Date: Tue, 09 Jul 2019 10:20:44 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1562692844; bh=ddaoYXfcXq1LJzslh28vRc/4w0J6cN/2a93hgj6fa2A=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=A6+LcZUh6PG1+QtA56Y4tUDH6lmSp1eHMvqFHsRayVsjR7dYOP0qNw8iZ1jh/N0JQ yVfnQ4hoZucYs4NXYRMHTYXverGm8cAnh+7YKbXQC1ryPTYW81yiibKAX5C+cEtgJe gzxCSatevSe0yZ1oYlrf3iqZiU2418AxpYaseKQU=
From: Marten Seemann <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJKYMCDIWR3DAPULM2CN3GH7WZEVBNHHBXRIJFY@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2886@github.com>
Subject: [quicwg/base-drafts] Crypto Retransmission Timeout interacts poorly with Congestion Control (#2886)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d24ccece0550_462c3fef4e0cd96044171f"; 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/R6uU9v2VbFJLPvZVFt27t8rXDhg>
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, 09 Jul 2019 17:20:48 -0000

The crypto retransmission timeout works similar to the PTO timeout. On each timer expiration, you are supposed to send some data, and do an exponential backoff.
However, there's an important difference: PTO packets are not blocked by the congestion controller, whereas crypto retransmissions are. 

This can lead to a deadlock: Consider the case where the CFIN is lost, and the client sends all the available window of application data. When the crypto retransmission timer fires, the client would be supposed to retransmit the CFIN, but the congestion controller will not allow that. Furthermore, since the CFIN was lost, the server won't be able to read any of the 1-RTT packets, so cwnd will never be cleared.

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