Re: [quicwg/base-drafts] Extension frames and congestion/flow control (#1811)

Rui Paulo <notifications@github.com> Mon, 01 October 2018 16:15 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 A9AFF130E05 for <quic-issues@ietfa.amsl.com>; Mon, 1 Oct 2018 09:15:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.999
X-Spam-Level:
X-Spam-Status: No, score=-7.999 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, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-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 FRZbAvPLVWjt for <quic-issues@ietfa.amsl.com>; Mon, 1 Oct 2018 09:15:17 -0700 (PDT)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8F118130DFE for <quic-issues@ietf.org>; Mon, 1 Oct 2018 09:15:17 -0700 (PDT)
Date: Mon, 01 Oct 2018 09:15:16 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1538410516; bh=6c7dzf/nSyq3C+6oUWXyaefpyqpFI5U+beBXMabbbHc=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=2OD69YD/v3UhqqhxDLYRea5MWFUXNsBruayAXSxx1pRVXI3+jhofJCcKUiLTfr296 GZK8pBte0PNWbygUbDLgtRnAzo9e10SgY6uIYX+VbeSMz5AZ9x9LML35Jw9BiSwPwl 80o1mJmut+MoL47LM29kMqDzduqJyhnrWKKCdF8M=
From: Rui Paulo <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abb140fb8f1d6cc583cd77025ba79cec760760e28192cf0000000117ca0a1492a169ce15bedb09@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1811/c425967750@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1811@github.com>
References: <quicwg/base-drafts/pull/1811@github.com>
Subject: Re: [quicwg/base-drafts] Extension frames and congestion/flow control (#1811)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bb24814205e2_4f8e3fd0f2ed45c483146b"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: rpaulo
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/rDK-3pYssfkuOHgGR5feOqcfRU8>
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: Mon, 01 Oct 2018 16:15:20 -0000

Yes, I'm not talking about ACKs for ACKs.

I believe there are two cases for unreliable streams:

1) Send and forget about the data itself but save metadata in memory: this is the case you're talking about and it's used to grow the cwnd when an ACK arrives.  It increases  bytes_in_flight.

2) Send and forget about everything: this is the more basic approach where sending doesn't elicit an ACK. I'm not sure if it should increase bytes_in_flight, but it should respect cwnd.  

Obviously 1) is better and I also prefer it for DATAGRAM streams.

I'm just wondering if the text isn't too restrictive since we're really talking about an extension.  Imagine an extension that improves the ACK frame but doesn't replace it (ACK_ECN comeback? :-)).

It's true that implementations can break these rules and implement private extensions that don't require ACKs.

P.S.: It looks like PADDING increases bytes_in_flight. This is confusing because bytes_in_flight will increase but nothing prevents a QUIC stack from just sending PADDING in one packet which would never be ACK'ed and bytes_in_flight won't ever be zero again. This would put us in perpetual loss detection mode.  Does that make sense?

-- 
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/1811#issuecomment-425967750