Re: [tcpm] TARR - the two options for R

Carles Gomez Montenegro <carlesgo@entel.upc.edu> Wed, 06 July 2022 17:16 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 7E516C15A745 for <tcpm@ietfa.amsl.com>; Wed, 6 Jul 2022 10:16:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tRPaSOz1Mtb8 for <tcpm@ietfa.amsl.com>; Wed, 6 Jul 2022 10:16:43 -0700 (PDT)
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 20094C14F73F for <tcpm@ietf.org>; Wed, 6 Jul 2022 10:16:42 -0700 (PDT)
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.1) with ESMTP id 266HGTCW050822; Wed, 6 Jul 2022 19:16:30 +0200
Received: from webmail.entel.upc.edu (webmail.entel.upc.edu [147.83.40.6]) by entelserver.upc.edu (Postfix) with ESMTP id AC7EB1D53C1; Wed, 6 Jul 2022 19:15:22 +0200 (CEST)
Received: from 79.159.90.85 by webmail.entel.upc.edu with HTTP; Wed, 6 Jul 2022 19:16:33 +0200
Message-ID: <948423e4970471425cd1b73cfb54542d.squirrel@webmail.entel.upc.edu>
In-Reply-To: <E6A836D4-5590-4AA8-ACCA-EAB6D2DC11F4@fh-muenster.de>
References: <8D68AD5E-F8F1-47D9-900C-B15C539D6C25@gmail.com> <CACS3ZpBtoqQ0tetcRamp5TmAZMAXn01dqF79X90u_CO4nCA_kw@mail.gmail.com> <cb162890d51d191b4e40ad407020e8bb.squirrel@webmail.entel.upc.edu> <E6A836D4-5590-4AA8-ACCA-EAB6D2DC11F4@fh-muenster.de>
Date: Wed, 06 Jul 2022 19:16:33 +0200
From: Carles Gomez Montenegro <carlesgo@entel.upc.edu>
To: tuexen@fh-muenster.de
Cc: tcpm IETF list <tcpm@ietf.org>, jon.crowcroft@cl.cam.ac.uk
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.103.6 at violet
X-Virus-Status: Clean
X-Greylist: Delayed for 27:08:18 by milter-greylist-4.3.9 (violet.upc.es [147.83.2.51]); Wed, 06 Jul 2022 19:16:30 +0200 (CEST)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/m-awz7Q8gixHlgw5JP0K7692pyM>
Subject: Re: [tcpm] TARR - the two options for R
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
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: Wed, 06 Jul 2022 17:16:47 -0000

Hi Michael,

Many thanks for your response!

Please find below my inline comments:

<snip>

>> Are there other opinions?

> Hi Carles,
>
> I would like to give some feedback as an individual.
>
> This feedback is based on using your draft in one of my courses
> at university resulting in a prototype implementation for FreeBSD
> and packetdrill.

This is great news!
Your implementation-based feedback is highly appreciated.

> Here are some points:
>
> 1. You might want to say which kind (253 or 254) is used on the
>    sender side and on the receiver side. The prototype accepts
>    both on the receiver side and uses only one on the sender side.
>    Which one is used on the sender side is compiled into the code.

Yes, there is a TBD currently in the draft (-04). For -05, our current
proposal is to use 254.

> 2. Regarding the encoding of R: I prefer option 1.
>    This allows to use the value of 0 to be used to signal that
>    an ACK for this segment should be sent immediately, but no
>    persistent change of the ACK ratio should be performed.

I see. In this case, R=0 would be a special case (i.e., an exception),
since by default the ACK rate would be the one requested with values of R
different from zero.

> 3. If the range 1 - 127 is considered too small, one might consider
>    using two bytes for the option value. Currently, the length of
>    the option is odd, and therefore TCP implementations might add
>    some padding (NOP) anyway, since other options used after the
>    connection establishment like the timestamp or the sack option
>    have an even length.

If some padding would typically be added by implementations to produce an
even option length, then we can use your suggestion and define a two-byte
field for R (perhaps keeping some reserved bit(s)).

With this approach -let's call it OPTION 3-, we could use a simple binary
encoding for R. Probably, one detail to figure out (and, probably,
discuss) then would be which would be the maximum value for R...

Any further thoughts?

> 4. If SYN cookies are used and one is not willing to not spend another
>    bit for representing TARR support, you might want to specify that the
>    client sends the TARR option on the ACK of the three way handshake.
>    That way a server willing to support the TARR option can "learn"
>    from the client that it is OK to send the TARR option by observing
>    that the client sends it. It can also be learned later...

If I recall correctly, Bob suggested this same idea. In IETF 113, Martin
asked if sending the TARR option in this way (on the ACK), and thus not
reliably, could be a concern.

If there is lack of SYN space, perhaps one approach could be to learn it
later as you suggest, and/or to allow sending the TARR option on the ACK
but explaining the mentioned caveat...

Once again, many thanks for your input and for the prototype
implementation work!

Cheers,

Carles


> Best regards
> Michael