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

"Scheffenegger, Richard" <rs.ietf@gmx.at> Tue, 24 November 2020 13:23 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 1CFCC3A0CD0; Tue, 24 Nov 2020 05:23:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level:
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[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] 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 hsziFYaSnuol; Tue, 24 Nov 2020 05:23:01 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (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 098593A0CD8; Tue, 24 Nov 2020 05:23:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1606224174; bh=gwBLMDOH1k4ygv4CcVVdLFQg4My6RbPXb3qTBPCxscs=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=Lz3qbjrN1iqglggOa7hcM2qKO3KtOetR8wMab8MmiEMmJCt61DGw5pfDx1KKU/XHR ZVt9xUNLpwDlAfhe4dEcXBBddZGpHW223cZOak2FC3gcnTRrDzDdrKBcDQCajugtbv k1f2vPDgUHHCKGE2WWaoBMSXvVwWRkAFymeR8cSE=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [10.249.68.57] ([217.70.211.16]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mxm3K-1kJ1eK0lfq-00zFpa; Tue, 24 Nov 2020 14:22:54 +0100
To: Kevin Yang <yyd@google.com>
Cc: Yuchung Cheng <ycheng@google.com>, "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> <adeef3ba-94e7-eb1a-ae86-838fcedf60b4@gmx.at> <CAPREpbYQVkPCdizqUbSXOjHwu-mVfL1cCc=R2Rtr3K48Hq2O=A@mail.gmail.com>
From: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Message-ID: <8b5b8012-0914-c833-6390-0e98a97074ad@gmx.at>
Date: Tue, 24 Nov 2020 14:22:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0
MIME-Version: 1.0
In-Reply-To: <CAPREpbYQVkPCdizqUbSXOjHwu-mVfL1cCc=R2Rtr3K48Hq2O=A@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:WYgCs+QDkJAIx993BpbNafeFXUNw1tZ/SwiKlD0v1spwYbWc44F mbk9sn7lePa9SB2vMA1P8qYNqwIQhZ341Ck0LntN+0MOIFW0K7IhSpRTHyw9NMgUUVCHeQj Ykx0uqiAfg2VGfKbEK5ilRtvVFb+vzKiEe4usXXAxRnmA+hoGHNLJdFHunr9AZlghPp1mxX V+AahwUL++xYcJL6MRiSg==
X-UI-Out-Filterresults: notjunk:1;V03:K0:fu2x13jebEY=:yDYBfVvkvBklPBMfjKA4vc 2uY4z87VaTLw0BQZpa2qOs0hKd41phafoa9iqr587PnV4TvgNh6dS7MAVfmr37az0Dxh11oSU tMjlX9O7nMS4hfM5zS9xLH1X8fY1mtkhMxoUP78nKi2CRcTpw+ZZunJEqkGY52k4LsVPChaEo ukJ7NTwSNng1NAoVluogkAIrIcFJPLk+eoQvQ2D0MWfiGlNisl9CYLGqIsbyp6HaWVEwWWk2c zDLv3gGf6GjjluYfT3uX5TpULXvmoJ2m82LuhY+AramOnjoVtXkjj90/K3Rcu8Ee6e/DpLM/k eRJCWZCWBWOBdBq6ExrBPlo9izLtCHGH4mhPMJyR+2Elu7y4hPGqjkbvPKx0XaFvIRwzic9St WvmMpeGi6UbXcvuW1QiczRj47XMhPk1gwIWI0hleu1pwh462AEtvm1QlP8bFCLfH837pfxP5T A6RMfD/ftY8e5GLPcvmj+nwxm29ZIJrsIeBOfiufoZbdibyA/rCI2P31bDUNpMxamAWBgRbJY u95e2rP08SWWeorbvdFbGUUtTK0KoInRk/Th1A6DKWhrh8bFSQbaa9sI/EytnhtykZbgiyi4X o58pFbgVNqpPhv0QimOeDid1jAhjIEWOd+PyDIH8jvQnw/1PglphWYQ3UWZ66DitViSIrEHkQ SZJGA8t5Wz9CpFOEY3IDEm9jNh19CIOlUljHln8NeeUO6fAYmhOIRWy6u+7lGdGbNKLq1whtb inT2gCstBGBHKFCJ2gRbWAqXW7RIGM5FHywHArClLr7KmB6jxGUuS5Y1ld+M5UHdfimQhZIRf qN2clBvUIvNS/akSNDqnGkIfYOjvJc4jgPRj9uoJkSoZVuB3VXE4QT4MMHkRs4yBE3adej0SD mzcepYtfWk1RB2BRCjfQ==
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/v8JhacxsE9IHXIRExCh4nGTAg4g>
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, 24 Nov 2020 13:23:03 -0000


Am 23.11.2020 um 02:47 schrieb Kevin Yang:
>> 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...
>>
>
> I agree that the TSecr in <SYN> might be used for other purposes. But I'm
> not sure if we can alter the TSecr in <SYN,ACK> by XOR other info.
> One specific example I came up with is that a sender may send out many
> SYNs because of timeout,
> then when it receives a <SYN,ACK>, it does not know which TSval should
> be used for xor op.

(E)TS opt is not necessarily the old differentiation between subsequent
SYN packets; extending some reserved bits (during the SYN handshake) may
be another easy way to have sufficient differentiation available.

E.g. The EcrDel value may be restricted to no less than 4 or 8 usec (any
lower value rounded up), yielding sufficient bits which would expected
to be zero in the SYN,ACK; The TSval offset can then be selected by the
sender in such a way, to change at these locations for each
retransmission of the SYN, allowing the sender to disambiguate which SYN
a particular SYN,ACK pairs up with...



>> 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).
>
> In this way we need to add another "ETSval'' in usec if we use the
> RFC7323/1323 TSopt,
> the reason is explained above.

As long as some more coarse time resolution is acceptable during the
(special case handling) 3WHS, all you need is a few bits to disambiguate
retransmitted SYN packets. We did spent some thought on the
retransmitted SYN problem during the TS-nego design phase. A single
reserved bit is not sufficient, though;

>
>> 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)
>
> Thanks for the nice suggestion. I agree we probably should have
> all-zero codepoint to be
> "no information". For 2^k nanosec unit, I guess that is for bit-op
> convenience and performance?

Yes, simple binary shift operations instead of multiply/divide, and
internally representing timestamp values in nanoseconds
(timespec/tv_nsec). The error when using timeval/tv_usec may even be
small enough to not matter in many environments (eg. simply use a
"microsecond 2^10" value directly, without adjusting for the 2.4% error,
as you are interested in deltas on short timescales, not across long
timespans?