Re: [tcpm] some comments on draft-gomez-tcpm-ack-rate-request-02.

Carles Gomez Montenegro <carlesgo@entel.upc.edu> Fri, 05 March 2021 12:35 UTC

Return-Path: <carlesgo@entel.upc.edu>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 314FB3A24A5 for <tcpm@ietfa.amsl.com>; Fri, 5 Mar 2021 04:35:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.917
X-Spam-Level:
X-Spam-Status: No, score=-1.917 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 j9XOb2z3hQSx for <tcpm@ietfa.amsl.com>; Fri, 5 Mar 2021 04:35:03 -0800 (PST)
Received: from violet.upc.es (violet.upc.es [147.83.2.51]) (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 DCB093A24A4 for <tcpm@ietf.org>; Fri, 5 Mar 2021 04:35:02 -0800 (PST)
Received: from entelserver.upc.edu (entelserver.upc.es [147.83.40.4]) by violet.upc.es (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id 125CYugM024295; Fri, 5 Mar 2021 13:34:56 +0100
Received: from webmail.entel.upc.edu (webmail.entel.upc.edu [147.83.39.6]) by entelserver.upc.edu (Postfix) with ESMTP id A7A7F1D53C1; Fri, 5 Mar 2021 13:34:55 +0100 (CET)
Received: from 83.53.211.205 by webmail.entel.upc.edu with HTTP; Fri, 5 Mar 2021 13:34:56 +0100
Message-ID: <47ab7d08978d2cc4f040de300d806212.squirrel@webmail.entel.upc.edu>
In-Reply-To: <CAAK044TYfw=N0JwSRv5xMBqfR9BeDF6LqPRNXFCvd-Hxq+oDDw@mail.gmail.com>
References: <CAAK044TYfw=N0JwSRv5xMBqfR9BeDF6LqPRNXFCvd-Hxq+oDDw@mail.gmail.com>
Date: Fri, 05 Mar 2021 13:34:56 +0100
From: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
To: Yoshifumi Nishida <nsd.ietf@gmail.com>
Cc: jon.crowcroft@cl.cam.ac.uk, "tcpm@ietf.org Extensions" <tcpm@ietf.org>
User-Agent: SquirrelMail/1.4.21-1.fc14
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
X-Virus-Scanned: clamav-milter 0.100.3 at violet
X-Virus-Status: Clean
X-Greylist: ACL matched, not delayed by milter-greylist-4.3.9 (violet.upc.es [147.83.2.51]); Fri, 05 Mar 2021 13:34:57 +0100 (CET)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/ie-oazz5kw9tmTpHoo7HMDR5EkA>
Subject: Re: [tcpm] some comments on draft-gomez-tcpm-ack-rate-request-02.
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Mar 2021 12:35:05 -0000

Hi Yoshi,

Thanks a lot for your insightful comments!

Also, sorry for the late response.

Please find inline responses to your comments below:

> Hi,
> I've read the draft. I like the basic concept of the draft and think it's
> useful in some ways. I put some comments belows.
>
> 1: In general, I would like to see some more example usages or guidances
> of
> the features described in the draft.
>     For example, one of my naive questions is how often we want to change
> the frequency of ACKs.
>     In 'small' or 'large' scenarios in the draft, it seems to me that it
> might be sufficient to use the same ACK frequency during the connection.
>     It would be good if the draft describes the needs of changing
> frequency.

Agreed, we will add some guidance in this regard.

Yes, in many scenarios it may make sense to just set the ACK frequency
once during the connection.

We'll think further about whether there could be particular scenarios
where the ACK frequency might need to be changed during the connection
lifetime.

> 2:  "a TARR-option-capable receiving TCP MUST modify its ACK rate to one
> ACK every R full-sized received data segments from the sender, as long as
> packet reordering does not occur"
>     -> Do this mean if recorder happens, TARR option will be ignored?
>         Let's say if you send packet 1 with TARR and packet 2 without
> TARR,
> if packet 2 arrives earlier than packet1, the TARR option in packet1 will
> be ignored?
>         How about storing the highest seqno that carries TARR and compare
> it when you receive packets with TARR?

Well, yes, the phrase "as long as packet reordering does not occur" might
not be clear enough here. The intent was to say that one ACK will be sent
every R full-sized received data segments, but if there is reordering,
then a different amount/rate of ACKs may be sent for a while.

Anyway, your suggestion is very useful, since the behavior in a scenario
like the one in your example needs to be clear as well.

Therefore, we take two action points from this comment: clarifying the
text, and also incorporating your suggestion.

> 3:  "If all bits of this field are set to 0, the field indicates a request
> by the sender for the receiver to trigger one or more ACKs immediately. "
>     -> For me, this might be read as if it can request to send back
> multiple ACKs immediately. How about changing it 'without delay' or
> something?

Agreed, we will edit the text.

> 4:  "Otherwise, the field carries the binary encoding of the number of
> full-sized segments"
>     -> I'm not sure about the meaning of binary encoding here. does it
> mean storing 1-255 values or else?

Yes, that is the intended meaning (well, for 1-127 values with the new
field size).

The original intent was to be clear on how to represent the value, but is
perhaps "binary encoding" misleading?

> 5: I have some concerns on ignoring reorder.
>     In case of QUIC, even if reorder is ignored, timer-based loss
> detection
> scheme can still find packet losses.
>     However, in TCP, RACK might not be always supported, so it might take
> significant amount of time to find losses if this feature is enabled.
>     I think the doc needs to discuss this point and it would be good to
> have some guidelines here.

Agreed!

> 6: Similar to 1:, I am a bit wondering about the use case of N field in
> TARR option.
>    I can imagine this would be useful if an endpoint uses Hystart++ or
> similar approach.
>    However, is it still useful for other cases such as plain slow-start
> algorithm?
>    I think it would be better to have some usage guidelines for N as well.

Agreed. We will add this guidance.

>    Also, since N looks finite number, I'm wondering how to set R=0 for the
> entire connection. Or, we shouldn't do such a thing?

Good point!

Perhaps we can define a special value for N meaning "infinity".

There are also considerations similar to the earlier question on whether
the expected behavior would be the same for the whole connection lifetime.
Perhaps, in some cases, setting N to "infinity" might represent an
improvement (since the option would only be sent once). However, if this
can represent any potential issue, a different setting should be chosen
for N.

Let's provide guidance on this.

We will incorporate your comments in our next draft update.

Thanks!

Cheers,

Carles



> Thanks,
> --
> Yoshi
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm