Re: [quicwg/base-drafts] What to ack in an ACK frame (#764)
martinduke <notifications@github.com> Tue, 19 September 2017 20:55 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 31ED01321A4 for <quic-issues@ietfa.amsl.com>; Tue, 19 Sep 2017 13:55:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.299
X-Spam-Level:
X-Spam-Status: No, score=-9.299 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-2.8, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001, URIBL_BLOCKED=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 1EiWlVt5ESzt for <quic-issues@ietfa.amsl.com>; Tue, 19 Sep 2017 13:55:33 -0700 (PDT)
Received: from github-smtp2b-ext-cp1-prd.iad.github.net (github-smtp2-ext2.iad.github.net [192.30.252.193]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 993A81321CB for <quic-issues@ietf.org>; Tue, 19 Sep 2017 13:55:33 -0700 (PDT)
Date: Tue, 19 Sep 2017 13:55:32 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1505854532; bh=IuxNa7VAoSNgMwV024dF82B4hwRMniEcSkgJnrM4MG0=; h=From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=z5+jAgxAZKB6cCBPTIip6uKdQmqpphNEmd+AZn9eHM2Ofp0Qt4ZxvflXhxd9OO4qK znLJMe7qBN+gBHZlm2KFeBIIwvYIKae8dwXNycF+ZwcO3msh9NZLn4ayMG96LpI+VU ZGnBC4ZurUnjQCOGMKPwuaN/wLz065TZpQ8aptTo=
From: martinduke <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abe89317afef35c9cd0597905425fd1f160872c69092cf0000000115d9464492a169ce0f3e649b@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/764/330670706@github.com>
In-Reply-To: <quicwg/base-drafts/issues/764@github.com>
References: <quicwg/base-drafts/issues/764@github.com>
Subject: Re: [quicwg/base-drafts] What to ack in an ACK frame (#764)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_59c184447ae1f_52503fcda8f66f8416633"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinduke
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/F6WVQvF32VYZRLF2TvulL2sHhh4>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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, 19 Sep 2017 20:55:36 -0000
@janaiyengar I must not have expressed myself clearly on case (A). Here is an example. Acks for packets 1001-1200 and 1210-1300 are inflight. Then I receive (much delayed) packet 1000. The timestamp information would be quite useful, I imagine, as this will spike the rttvar. If I include all ack blocks, then largest_acked is 1300 and I have no way to express a timestamp 300 packet numbers below largest_acked. A corner case, yes. It's possible to write some intricate code to handle this case. It's much simpler to not send higher ack blocks as a matter of course. This is how I ended up on option (ii) above. Anyway, my intent is not to necessarily argue for what I did. It would be useful to get a sense of what people are doing and include an implementation note (or a SHOULD) if there's rough consensus. @ianswett In the zero-loss case there is no difference between (ii) and (iv). Comparing (ii) and (iv), each packet loss or burst loss in a window will cost me from 2 to 9 bytes of overhead in each packet. From a wire efficiency perspective, this is much worse than just sending it when the ack is lost, which when using case (ii) may require the loss of multiple acks and is generally quite improbable. OTOH, delivering the ack in < 2RTT with very high probability is good for avoiding spurious retransmissions and congestion backoff. This tradeoff doesn't seem obvious to me, but again I think the important thing is to capture the consensus. -- 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/764#issuecomment-330670706
- [quicwg/base-drafts] What to ack in an ACK frame … janaiyengar
- Re: [quicwg/base-drafts] What to ack in an ACK fr… martinduke
- Re: [quicwg/base-drafts] What to ack in an ACK fr… janaiyengar
- Re: [quicwg/base-drafts] What to ack in an ACK fr… martinduke
- Re: [quicwg/base-drafts] What to ack in an ACK fr… ianswett
- Re: [quicwg/base-drafts] What to ack in an ACK fr… martinduke
- Re: [quicwg/base-drafts] What to ack in an ACK fr… ianswett
- Re: [quicwg/base-drafts] What to ack in an ACK fr… MikkelFJ
- Re: [quicwg/base-drafts] What to ack in an ACK fr… ianswett
- Re: [quicwg/base-drafts] What to ack in an ACK fr… ianswett