Re: [quicwg/base-drafts] MUST ACK each ack-eliciting packet once (#3092)

Martin Thomson <> Tue, 22 October 2019 23:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 93B4712006A for <>; Tue, 22 Oct 2019 16:43:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.596
X-Spam-Status: No, score=-6.596 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_28=1.404, 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 HFxPJ7D_3YDV for <>; Tue, 22 Oct 2019 16:43:19 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 042CD12001E for <>; Tue, 22 Oct 2019 16:43:19 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 2DC6752000C for <>; Tue, 22 Oct 2019 16:43:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1571787798; bh=WznhvGbTm2rRrVryqW7a1qKFqgWrdCrjTCUT5dm85pg=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=qur/GreVcW+pt1iREL1YxKRauEJUU3OVjjJFOgQieIN0OFQCQ7Un61Bf92/GhDQnx 4sTQTVwpvwyoGx7mJ52TmIOs10s0Mo8axHXiBhb5IKaZNNHAhzlFER+UqjqpTt6QZq QtvHoqQoFfQbiFEnB1yM6QWHqif/HjEHX4ZlCFm8=
Date: Tue, 22 Oct 2019 16:43:18 -0700
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/3092/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] MUST ACK each ack-eliciting packet once (#3092)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5daf94161d8b0_7b143f90894cd96c3684b"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
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: Tue, 22 Oct 2019 23:43:21 -0000

martinthomson commented on this pull request.

> +Every packet SHOULD be acknowledged at least once, and ack-eliciting packets
+MUST be acknowledged at least once within the maximum ack delay. An endpoint

We have a memory limit too, but that doesn't mean that we don't send acknowledgments.  We just send packets more often as a result.

As for untestable, that's true for a bunch of things we require.  The point is to require actions that produce an interoperable, functional protocol.  In the general case, ignoring this requirement would be bad.  At insane incoming packet rates, maybe this breaks down, and that's probably not ideal, but I find it hard to believe that you can't generate enough packets outbound to acknowledge every inbound packet at least once.  Even if you only receive every other packet, you are only spending two bytes per packet to acknowledge them.  That's almost a 600:1 advantage to the receiver.

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