Re: New Version Notification for draft-huitema-quic-ts-05.txt

Lucas Pardue <lucaspardue.24.7@gmail.com> Thu, 18 March 2021 05:11 UTC

Return-Path: <lucaspardue.24.7@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CEBBA3A1E6F for <quic@ietfa.amsl.com>; Wed, 17 Mar 2021 22:11:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.847
X-Spam-Level:
X-Spam-Status: No, score=-1.847 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 XJW_uQSjmoHF for <quic@ietfa.amsl.com>; Wed, 17 Mar 2021 22:11:45 -0700 (PDT)
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) (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 E2D203A1E6D for <quic@ietf.org>; Wed, 17 Mar 2021 22:11:44 -0700 (PDT)
Received: by mail-ed1-x52f.google.com with SMTP id u4so5006901edv.9 for <quic@ietf.org>; Wed, 17 Mar 2021 22:11:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3is5EpnlzXfMijVRxxzTroFUA0jbAQ2NnVVkl+Z6rRQ=; b=GfB5Er8Uxlcp1XPOYb1UC+WrW3ZKXq+/bXxtva4p0V9fynKI04YvlNdnShIgnyl8RS IOU3QtsA3vEFL/7MV4RygsT0AtSs3Wo2ElP6FnEnwqPmogjBnWWD19+++yoJRr/Pk77O ZD430Ykpvur4BxsQeiCiP/+sRBibFe5IitoyhHfBR+ZLwcih9ZnxCu5Sox9t0BNLTbrI FBtsHLTsWl1S7mqNdNr8TB0aupBuAjuo0VbwmXI5uYB39AM6i2b5jq1QTpQAvtrB9Bmo dXRS7EmAE2T3BdEdX4kkyuylBh85KIyZW1RAf6r79FV6bLZ4EbSsa6/c/AvQBkB0XoPw RPcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3is5EpnlzXfMijVRxxzTroFUA0jbAQ2NnVVkl+Z6rRQ=; b=tUg4dpogCgd4+hiKSHq2X22ZSaivlg36aIxldCMoZd1SUjU0J/5m2h0QEufrmNgcGv 6lFdUcShbTCkvGG6EOuuHIMD8WYGo4QDwfSei1X0MbOiY+PXE7oAcPS1/FxIuc8o2unW WkdiAEayu/SJ0QEoKEly0GtzGAb7vasOTN110AAiYZTtHvCgzvZwJTKpnXUEB97fEpPQ QQXvHFfEsYLjv/41POxIV533r1qRKhAZxTlJUF/CAWZ8Qp5xvhfWdViJmeVzOsZKlW0C PJXVkyAwKg0/ehTuNxWlduA0Xad9JYH/FxN4czFPDXW3Dktf6lYIrpLDoQAAqNGzcZ7U qzfA==
X-Gm-Message-State: AOAM5310cBs3Q67YY/ifQ94tC7x2hC+YMR9wf0FtyJPSYlvHlzyhaMvU d+/uHBTsW5tHDxjPLymYKqIZGl2g91s3TfmlI6U=
X-Google-Smtp-Source: ABdhPJwB/bgfYuV9XXnVtXCZaRc1xnbqHf52BeDsW4bM4lpjcVh745HsmBv7Uyk+Z9GQIOp+Arct14DJ9IW09wsyvos=
X-Received: by 2002:aa7:c983:: with SMTP id c3mr1342017edt.185.1616044302432; Wed, 17 Mar 2021 22:11:42 -0700 (PDT)
MIME-Version: 1.0
References: <161602961576.29713.5556006395853657310@ietfa.amsl.com> <a5d9bbf2-227d-90b6-fd22-52e05895713b@huitema.net> <2F127CC0-5D13-4DEB-9B4D-4EF89C8D9E0F@apple.com> <71a72a2c-b6eb-7640-391c-663d21afa8da@huitema.net>
In-Reply-To: <71a72a2c-b6eb-7640-391c-663d21afa8da@huitema.net>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Thu, 18 Mar 2021 05:11:33 +0000
Message-ID: <CALGR9oZ-RHaK2sYoypqAfQvBXHmsfTrGOLCJKL4yfdRWkUkYDA@mail.gmail.com>
Subject: Re: New Version Notification for draft-huitema-quic-ts-05.txt
To: Christian Huitema <huitema@huitema.net>
Cc: Vidhi Goel <vidhi_goel=40apple.com@dmarc.ietf.org>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000967a1805bdc8a29b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/WBZ-xwN9ba05IgFeetbDYILy9Mw>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Mar 2021 05:11:49 -0000

HI Christian,

Thanks for sharing the idea. I don't profess to be a CC guru but the I-D
and the discussion made me wonder something. Now that you decoupled the
timestamp from ACK, how coupled are the remaining elements? There's a frame
with a field where the value is unilaterally set, some calculations based
on the values, and some choices about how to pack.

TIMESTAMP reminds me a little of DATAGRAM. So my curve ball thought is that
one could define a container frame for the transport layer signalling that
is unreliable and not flow or congestion controlled. We solve the problem
once. Then different use cases, like 1WD, could just define a parameter in
a container, along with some tips on how/when to packetize it.

I can predict some downsides with that approach but curious if others think
that make QUIC more pluggable.

Cheers
Lucas

On Thu, 18 Mar 2021, 04:40 Christian Huitema, <huitema@huitema.net> wrote:

> Thanks for the review, Vidhi.
>
> A few comments in line.
>
> On 3/17/2021 8:44 PM, Vidhi Goel wrote:
> > Thanks Christian.
> >
> > I have some comments.
> >
> > 1. Abstract - QUIC is not used as an acronym.
> Yes. I don't use it as an acronym either. But I realize I wrote "Quic"
> instead of "QUIC". I wonder whether WG members have strong feelings
> about that.
> >
> > 2. Introduction:
> >   An example would be the Low Extra Delay Background Transport (LEDBAT)
> >     [RFC6817 <https://tools.ietf.org/html/rfc6817>] which uses
> variations in transmission delay ….
> >
> > I think you meant to say queuing delay here.
> No. I do mean transmission delay, because that's what the LEDBAT
> implementations use. There is an assumption that the variations of
> transmission delays correspond to variations of queuing delays, but
> that's just an hypothesis.
> >
> > 3. Introduction:
> > Using 1WD solves these
> >     issues.  Similar argument can be made for most delay-based
> >     algorithms.
> >
> > I disagree that it can be said for most delay based CCAs. LEDBAT++ and
> Receive LEDBAT don’t use OWD.
> > For delay based algorithms, I am of the opinion that we should consider
> RTT (instead of 1WD) as we should also be mindful of the ACK traffic on the
> return path, if it is congested and we can do that by slowing down the
> sender.
>
> Well, I am on the opinion that LEDBAT++ should use one-way-delay when
> timestamps are available. It does fallback to RTT when timestamps are
> not available, but that's a fallback mechanism, not a design goal. In
> fact, section 4.5 of the LEDBAT++ draft
> (
> https://tools.ietf.org/html/draft-irtf-iccrg-ledbat-plus-plus-01#section-4.5)
>
> acknowledges that using RTT instead of one-way-delays "can lead to
> unnecessary slowdowns". The text in that section goes on explaining how
> they mitigate that, but using one-way-delays would definitely be cleaner
> than relying on mitigations.
>
> And yes, it is worth monitoring congestion on the return path, but the
> proper response there is not to "do as if the direct path was
> congested." Other mechanisms are available, such as sending fewer ACKs
> or fewer data on that path.
>
>
> >
> > 4. Section 2.1
> > 2 or 3 MUST NOT send these frames if the other
> >     peer does not announce advertise
> >
> > Typo  - either announce or advertise
> Yes. Will fix that in the next iteration.
> >
> > 5. Section 2.2
> >
> > Following successful sending negotiation…
> >
> > “Sending” is probably extraneous here.
> Yes. Will fix that too.
> >
> > 6. Section 2.2
> >   They MAY be sent either before or after the ACK frame.
> >
> > I think replacing “sent” with “added” would be better here.
> Yes.
> >
> > 7. Section 2.3
> > For congestion control, TIMESTAMP frames are treated like ACK frames.
> >
> > I don’t understand why this should be the case. I think TIMESTAMP frame
> should be guarded by CC limits.
>
> This text is based on a suggestion by Ian Swett, `The draft says
> "TIME_STAMP frames are not ack-eliciting. Their loss does not require
> retransmission." I (Ian)  believe the draft should clarify whether
> adding a TIME_STAMP frame to a packet causes it to count as in-flight as
> PADDING would, or not in-flight as an ACK frame would. I (Ian) believe
> treating it like an ACK frame is the ideal option, personally.`
>
> The whole point of adoption by the WG is that we can discuss this issue
> in the WG.
>
> > 8. Section 2.3
> > The same applies to packets
> >     containing only TIMESTAMP frames
> >
> > For my curiosity, when do you think packets containing only TS frame
> would be useful? Also, based on Section 2.6, such a packet wouldn’t be used
> for 1wd computation.
> > Is it better to prohibit such a packet?
>
> I would rather not introduce another failure condition. I have at least
> one use case, measuring one way delays on seldom used paths in a
> multi-path configuration. It is not exactly compelling, but at the same
> time there is no strong reason to prohibit it.
>
> >
> > 9. Section 2.6
> >   latest_1wd = timestamp - send_time_of_largest_acked - phase_shift
> >
> > I think ack_delay should also be subtracted to remove the processing
> delay from the 1wd.
> >
> > Alternatively, one could change how timestamp is encoded. The current
> text in Section 2.3 says
> >
> > "The timestamp encodes the number of microseconds since the beginning
> >     of the epoch, as measured by the peer at the time at which the packet
> >     is sent.”
> >
> > This could be changed to “time at which the packet was received by the
> peer”. That would eliminate the processing delay.
>
> Good point.  I think the computation should mention the ACK delay.
>
> I like the timestamp being exactly the time at which the packet is sent,
> because that keeps the specification very clean. It also helps scenarios
> in which the timestamp is used with something else than an ACK --
> challenge response comes to mind, but there are probably other
> possibilities when composing timestamps with other frames. Maybe
> composing timestamps and datagrams in real time applications.
>
> > Thats all for now. Will let you know if something else comes to mind.
> >
> Thanks for the feedback!
>
> -- Christian Huitema
>
>
>