Re: [tcpm] Fwd: New Version Notification for draft-yang-tcpm-ets-00.txt

"Scheffenegger, Richard" <rs.ietf@gmx.at> Tue, 17 November 2020 13:19 UTC

Return-Path: <rs.ietf@gmx.at>
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 6AED13A12CD; Tue, 17 Nov 2020 05:19:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, 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=gmx.net
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 MEu0aEeuY-eV; Tue, 17 Nov 2020 05:19:18 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 764043A0EA9; Tue, 17 Nov 2020 05:18:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1605619132; bh=5h6Rx1riUkHM7q9SmGLeIicwWGDgUFKtXpbIBGuB/fg=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=fb/2r7ttZ0TpRiqbemTIcH7TjLperIEFbE29msdcghide930hb87IB11O+o2pjYkA +z7M6M/VJAkVwuaKvabfPJps+ZlWcdqHj7bXFc0nUsTreLmzFOuSzS/76updLbDYiW ap22q5XEIh2TySgQ68qWXM3Y+Q/i8TTcSZ3NTyKg=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [10.249.68.20] ([217.70.211.12]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MAfYw-1kYRIS1UBE-00B8Ex; Tue, 17 Nov 2020 14:18:52 +0100
To: Yuchung Cheng <ycheng=40google.com@dmarc.ietf.org>, Kevin Yang <yyd=40google.com@dmarc.ietf.org>
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Eric Dumazet <edumazet@google.com>, iccrg IRTF list <iccrg@irtf.org>, Neal Cardwell <ncardwell@google.com>
References: <160435977209.20839.4083263519198538783@ietfa.amsl.com> <CAK6E8=dh=kH36q0FFn4GJumSyU6cagf+rPy5UU2FAUiD+JOqbQ@mail.gmail.com> <CAAK044RKeeOhWj9P3XGpQa+qGZTyh-iKV2gXN5GnS6N39Duc8Q@mail.gmail.com> <CAPREpbYoE5sqUknUN0FJrc10T-Z-xhX4eokzLuZMmshkD1zORQ@mail.gmail.com> <CAK6E8=dgSPVhW-oRe1XeOnvZyqB4pMbQTuQGR8=9Pzm7v6xspA@mail.gmail.com>
From: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Message-ID: <adeef3ba-94e7-eb1a-ae86-838fcedf60b4@gmx.at>
Date: Tue, 17 Nov 2020 14:18:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
MIME-Version: 1.0
In-Reply-To: <CAK6E8=dgSPVhW-oRe1XeOnvZyqB4pMbQTuQGR8=9Pzm7v6xspA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:cMLsA6pS/+6A6FwhB6X5We7wYZUp/LltC/HGq58qG2vsevaHI96 r/+au8FrkqY2GBDre1AbQI/nY+y1s4jdcJHqotE0zgDDvAcb+HTaTzCf2cS+8NQVVn4r5/W t3XY3Bj1qcZuqwlK9ldPYSwFVTAndIsuH97/nJ13deSt/MfuDbRvlKS4/R9I6xEjBt7Tyzk e7db3Kmfk3bRHYysJIQKg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:qhWFIo8P1SU=:/519gkFReVuurxchLumxFW 5Rh6Wvs3b+fpVX90X7jfTX2zXbtsLKMZQHAaplG1HkdyTw4ZBiqzrys0KRwCU9ytYu3bwLhbe KI4Y3bgwaCMCwsQeY9IM0fFgqyebVIYxSGmDAAGcXfN7BEFtHTdT9LU8TNUSq+/oeAtHF2jBn +2l+lqMbv5Eqoobgv8IdepL5AIiobaPQKqtMmcvNSXb+yjZlI7VSSTDpO2pAJ8m2t/bZ/vnAO /AyFPJayz8uGqq7w1k05YhI5EP+LUdH7kBQQ3zqTVGiq1HAsHh3E/Ni6zjdOcQ5SsjWOHaUft aD+b7xTpw96b/BKHLb6Ah13atNs22GPPQpmhljNxw3eAKsXJnKWHH6vUHotI4/QcGAbRQvbOd hxkygWFgMgogB6Nibp+SbnwOQx6V42AmH2ii2O2XDhkZSVX838RDDaKKIJudYbPMyKfUghaVt NB3cqQ3oiw2KORCHpn5W7o61Hrl/jm+p+hMM6yHPDsOUaE9dsvaZdgqA2Vni4k+ODcqPvA/Rq MLn8vfAKnavenUev473Ml7jrxj/CdYjLX1WIZugHnPeFC62XWxZBBFVy7i4kAIZEuyTPaNqEJ NLqQgM5t09p1TrU/qLcIIKKLLQRL2NoBvS2E/GbuCqtOEN0Xz+B/ZVV2SJvC6ZXsho6baO1/c Inp2YUUkGYy0rWOGJgpPQyu5a4WdmtkzJHy+o0cJv1RYVHuLka5n+tBdhlLF1B0U0uM0kTvJR UxrbtwYEJPufwmQDYIVThX6OGmBwmC2P4lAB1RmJVKqUv3hy6n83mAqnbtEPNWTtoDsh8wm+/ j0kqGRYtQD0zc4J+IuV48G7LRm/FZtzdgTB04Z8nLQm/7JAmLFUEL4ROnyxsY0TaCIfoyth51 JbGZ+ope/nEBNJJIUG7Q==
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/cMsZ-jQWhx7smMs15EfIb_adWG8>
Subject: Re: [tcpm] Fwd: New Version Notification for draft-yang-tcpm-ets-00.txt
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: Tue, 17 Nov 2020 13:19:20 -0000

Just to capture what Bob and I tried to convey:

There may be a way to extend TSOpt in a backwards-compatible way,
without increasing the size of the option during the SYN handshake, nor
with the need to have both 7323 TSopt and ETSopt present simultaneously
in the SYN and SYN/ACK.

Please have a look at
https://tools.ietf.org/html/draft-scheffenegger-tcpm-timestamp-negotiation-05

Which was the signaling / handshake part to

https://tools.ietf.org/html/draft-trammell-tcpm-timestamp-interval-01

As the latter part didn't get much traction (to signal the TS
granularity and even accuracy), these two didn't move forward.


As the SYN TSopt ecr value is currently unused, and the client knows the
initial value for TSval (which should be reflected in the SYN/ACK from
the server), you can use 32 bits there for a feature declaration and
negotiation.

The high level approach there was to use the unused TSecr field (should
be 0 for 7323/1323), and overlay (xor) in the SYN/ACK's TSopt ecr field
the client's TSopt val with the servers 32-bit negotiation field... As
the client can retain knowledge of the initial TSopt value (there should
be a randomized initial value), the client can extract the server side
options by xor'ing it's known initial value when the SYN/ACK is
received. Or fall back to default 7323 operation, if the result of the
XOR is zero...


The major issue would be that TSopt with a length != 10 may be
removed/blocked by certain middleboxes, but a new TCP option has similar
deployment issues.

As Bob mentioned in another thread just now, TCP SYN option space is a
very scarce resource, and making efficient use of it should matter...


Other comments: Graph1 (page 4) has "TSval=X" rather than "ETSval=X".
Unless you plan to reuse the TSopt in an extensible way (with the same
codepoint, but differentiated by the length of the option), that may
need to be addressed to disambiguate things; You may also want to have
both ETSopt and TSopt in the SYN present, for backwards compatibility if
a separate codepoint is used.

If you want to make use of the timestamp-negotiation design, all of the
extra data shown on page 6 can be stuffed into the TSecr or ETSecr
field, alleviating the need of 4 additional SYN option bytes.

It could be used almost as a drop-in use of timestamp-negotiation, as
long as it can be guaranteed, that at least one bit is set in the 32bit
field (e.g. setting the reserved bit to 1).

EcrDelUnit: I think the codepoint assignment could be improved (but this
is really nit-picking; just that a broken implementation may send out
TSopt with len=12, but initialized-to-zero superflous bytes...
0: invalid
1: milliseconds [2^20 nanoseconds?]
2: microseconds [2^10 nanoseconds?]
3: reserved (nanoseconds)

MaxAckDel: 16 bits/microseconds gives a maximum of 65.5 ms; some (older)
stacks are using values as high as 200ms; If such a stack is updated, it
is a good reason to reduce the DelAck value used in that stack, so this
range appears properly selected (FreeBSD recently reduced from 100ms to
40ms).



Best regards,
    Richard


Am 14.11.2020 um 20:35 schrieb Yuchung Cheng:
> On Sat, Nov 14, 2020 at 8:45 AM Kevin Yang
> <yyd=40google.com@dmarc.ietf.org> wrote:
>>
>> Thank you Yoshi, very good questions.
>>
>> 1: Our goal is to substitute the TSopt. So we design this new ETSopt not to depend on TSopt.
>>      I guess this also answers your question 4, the intent is for the standard track.
>>
>> 2: I think we should only update TS.recent when we assume the incoming segment is valid.
>>      Otherwise, if the incoming is a real old one, we discard it but update TS.recent;
>>      then a new segment arrives, we may reject this new seg because TS.recent > seg.TSval.
>>
>> 3: Your understanding is correct, and in the draft we are not suggesting to use NetworkRTT
>>      measurements for RTO calculation.
>>
>> 4: answered by 1.
> We'll clarify better in the upcoming draft revision: the draft
> intends to transition from exp-id to  an official option kind number
> from IANA upon becoming
> an RFC. But we're following the advice of
> https://tools.ietf.org/html/rfc6994 to allow larger scale experiments
> for hosts not completely under control of a single entity/network. For
> example guest VM TCP communications inside Cloud Data-center networks.
>
>
>>
>> Kevin
>>
>> On Sat, Nov 14, 2020 at 7:13 AM Yoshifumi Nishida <nsd.ietf@gmail.com> wrote:
>>>
>>> Hi,
>>> Thanks for preparing the draft. I basically like the idea in the docs and have several comments.
>>>
>>> 1: I am wondering if we really need to have 32 bits TSval and TSecr in ETS option in SYN when TSopt is also sent?
>>>      For example, If TSopt has 1 ms granularity, I think ETS option will need to carry only small fractions of timestamp.
>>>
>>> 2: "To prevent a false positive PAWS rejection of a valid segment, an ETS receiver MUST skip the PAWS check"
>>>      -> This is one possible approach, but just skipping PAWS doesn't sound very good to me.
>>>           How about discarding the segment while updating TS.recent as an alternative? If the segment is not an old one, it will be retransmitted and accepted.
>>>           I think this is a bit more conservative.
>>>
>>> 3: It is not very clear for me how measuring NetworkRTT can contribute to improving RTO.
>>>      Or, are there some other ways to utilize NetworkRTT?
>>>
>>> 4: Just out of curiosity, is intended status standard track or experimental? ExID is usually used for exp or info docs.
>>>
>>> Thanks,
>>> --
>>> Yoshi
>>>
>>> On Mon, Nov 2, 2020 at 4:26 PM Yuchung Cheng <ycheng=40google.com@dmarc.ietf.org> wrote:
>>>>
>>>> Hi tcpm & iccrg,
>>>>
>>>> We are proposing a new TCP timestamp option to measure the network delay more precisely (e.g. excluding delayed ACK effects) for congestion control, e.g. Swift published SIGCOMM 2020. The precision of the measurements can potentially be further enhanced by NIC hardware timestamps. We are working on a reference implementation for Linux as well.
>>>>
>>>> We'll also present it in the upcoming tcpm meeting. Feedbacks are very welcome.
>>>>
>>>> ---------- Forwarded message ---------
>>>> From: <internet-drafts@ietf.org>
>>>> Date: Mon, Nov 2, 2020 at 3:29 PM
>>>> Subject: New Version Notification for draft-yang-tcpm-ets-00.txt
>>>> To: Eric Dumazet <edumazet@google.com>, Yuchung Cheng <ycheng@google.com>, Neal Cardwell <ncardwell@google.com>, Kevin Yang (Yudong) <yyd@google.com>
>>>>
>>>>
>>>>
>>>> A new version of I-D, draft-yang-tcpm-ets-00.txt
>>>> has been successfully submitted by Kevin (Yudong) Yang and posted to the
>>>> IETF repository.
>>>>
>>>> Name:           draft-yang-tcpm-ets
>>>> Revision:       00
>>>> Title:          TCP ETS: Extensible Timestamp Options
>>>> Document date:  2020-11-02
>>>> Group:          Individual Submission
>>>> Pages:          13
>>>> URL:            https://www.ietf.org/archive/id/draft-yang-tcpm-ets-00.txt
>>>> Status:         https://datatracker.ietf.org/doc/draft-yang-tcpm-ets/
>>>> Htmlized:       https://datatracker.ietf.org/doc/html/draft-yang-tcpm-ets
>>>> Htmlized:       https://tools.ietf.org/html/draft-yang-tcpm-ets-00
>>>>
>>>>
>>>> Abstract:
>>>>     This document presents ETS: an Extensible TimeStamps option for TCP.
>>>>     It allows hosts to use microseconds as the unit for timestamps to
>>>>     improve the precision of timestamps, and advertise the maximum ACK
>>>>     delay for its own delayed ACK mechanism.  Furthermore, it extends the
>>>>     information provided in the [RFC7323] TCP Timestamps Option by
>>>>     including the receiver delay in the TSecr echoing, so that the
>>>>     receiver of the ACK is able to more accurately estimate the portion
>>>>     of the RTT that resulted from time traveling through the network.
>>>>     The ETS option format is extensible, so that future extensions can
>>>>     add further information without the overhead of extra TCP option kind
>>>>     and length fields.
>>>>
>>>>
>>>>
>>>>
>>>> Please note that it may take a couple of minutes from the time of submission
>>>> until the htmlized version and diff are available at tools.ietf.org.
>>>>
>>>> The IETF Secretariat
>>>>
>>>>
>>>> _______________________________________________
>>>> tcpm mailing list
>>>> tcpm@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/tcpm
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>