Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn-ext-00.txt
"Scheffenegger, Richard" <rs.ietf@gmx.at> Mon, 08 February 2021 21:47 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 CD4FF3A163A
for <tcpm@ietfa.amsl.com>; Mon, 8 Feb 2021 13:47:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.6
X-Spam-Level:
X-Spam-Status: No, score=0.6 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, NICE_REPLY_A=-0.001,
RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_SORBS_WEB=1.5, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 acAswoxe54rJ for <tcpm@ietfa.amsl.com>;
Mon, 8 Feb 2021 13:47:00 -0800 (PST)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.22])
(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 1F0DD3A1639
for <tcpm@ietf.org>; Mon, 8 Feb 2021 13:46:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
s=badeba3b8450; t=1612820809;
bh=slbcVXbUF9lBJYcA2d2TU98nmQVPH8urCGjjRaeu5aM=;
h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To;
b=TpxxrW0nVAU/svt9/kyCP3na5sfQ957w3ty6SuAIo2qcOzIGoDL88H3O2uw/dPPo8
L2NbIo3LKWncGH2mkrwb6fGORmbOH1xH9CGZG7j0F7QOsjAd/5tZhIt/A0joVWmeBj
Ck7LqU6TSP4vQL8eEKFYlEhBGsED/uTo/ZTxBpCM=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.199] ([178.165.131.138]) by mail.gmx.net (mrgmx105
[212.227.17.168]) with ESMTPSA (Nemesis) id 1Mkpap-1ld2wx2RYN-00mI3J; Mon, 08
Feb 2021 22:46:49 +0100
To: Yoshifumi Nishida <nsd.ietf@gmail.com>, Joseph Touch <touch@strayalpha.com>
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
References: <161233469809.31214.294457730576935197@ietfa.amsl.com>
<CAAK044QYBiGXKm+D+=edc8TWhjzAadBxER5VRFmJOdW8hdXFKg@mail.gmail.com>
<244FE3E7-7B83-4884-B11B-028F7167B549@strayalpha.com>
<CAAK044RKtJ_PpDXH9pmS90wqUZNK9unDggiDjVLUBK00cxhYnA@mail.gmail.com>
<8C6762C8-2A22-4CC7-AF53-1D13FC3DC268@strayalpha.com>
<C591EED6-210A-4AEB-94D6-D3B77130596E@strayalpha.com>
<CAAK044SxMF1p-BzyOYWYkhYYrToLg+8Ybx8ZB-GeADGkayexGQ@mail.gmail.com>
From: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Message-ID: <274785c8-004e-71bb-828b-8d8d0ee95af8@gmx.at>
Date: Mon, 8 Feb 2021 22:46:45 +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: <CAAK044SxMF1p-BzyOYWYkhYYrToLg+8Ybx8ZB-GeADGkayexGQ@mail.gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:ahbjLN2VdfX+WJfEVlQUYznJ7i2DJJgO03gawldn52u6fDaAJ5W
IK5JLVg41ySa16zjm9SbVsRLrMJ/CLThxj+SRZc+/cjCHrxOKgsBTm8Etc24h/+6WDURs7M
KtH/uWM3lDVj24WgBneOyTj1SFBrllrSILTJakRo3gDwhTHidHevKRAV6yNl/Ejy7ShlVJV
52YNj0Q2Kh2NRaJvhtCpw==
X-UI-Out-Filterresults: notjunk:1;V03:K0:4lwHCm/8UME=:fohzwnqFwpjOcBwpTX+sgT
bFziw/HjTVSxJXne8eJmpe6+0uQCbPF/WLdnSdzWB0WrmamE88dCBV65Wiru3dgMROM42SMpP
rEWNzuKgvR4MUOydq9aKrZH+PHGN+5jciiRsOd3ipFABvpm3FX9AXgLLsGrZlhI9rjSi1N9vW
IbtBW0qvWF4Gq7CpdhenMgx/LcyKr/vW2bAldm4kBMfVK/eRTkYhyRghnb58iCBEDS8EtZs4d
r/dw6cmTG7o8tjOaXdqMoCVCpTtlGqzPOxKB1mOrmp/LhlnhHrKc142+ziWOICygCvEJIzBhg
R5QEOIhN8W2JRedsGDzafNGAslJGrIUlEnmomtFwmNAvhg56mwyf7afhkRbINru8cDp4qHIhG
17pvc8zxVPi78g8pGYuMCZ/ninO4feEZt7j3J86emdQ6JeyZjfqEM7IjE3CKjXowv+QEUlomT
fzcNiBI6wkLNxmNzbKupVLRHOj09v7ahqRA4m7/L0GqFs8drLu6V+GTuM6REAG4RsaX1mmZLH
PUD2vURIwfUhtDvYytYlxVaVnO3q1ee7aoOjSzuU0iVWjfY/Xunn5xeNNfMAeqyQnE12H0GGt
bFysdGUcNMWbFbfExFB4mgIddw5Pvpd7RjKc+LkbKMuqWH4oI6KlVefFYoGuHFcieoe5d5g3H
37c925B8/Zsaf8G1+CjdsHh6z1t1gLFOfhpOqqo89EoMCmKutyXTMZYWSk3Pwr2JLEovilWj6
KmgejVK1H9WL0Eni/2VZ1xQxQSQEG+59Z9STv+5ecG170Bf514pOxScuGZ/L5zyTMfqlwC2Hh
4PSd2gMDfcNoRiJOltwMwJLvGvMBfxZrL3a7vlmRcFYzlLNwam8979IDzJ9mOHdex9tbwG1o8
F67hFzSceDkn99zp71Bg==
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/O-ZtrlB2AfFm-uiKQCNzG3er2-I>
Subject: Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn-ext-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: Mon, 08 Feb 2021 21:47:03 -0000
Hi Yoshi,
Sorry to nitpick - in your draft, you mention that some hosts reflect
back unknown tcp options, which is why you are using different GID
mappings between SYN and SYN,ACK.
I did read about this behavior concerning TCP header flags / reserved
bits - but have not come across a paper where this behavior is described
for unknown TCP options (or I may have missed that aspect in the various
studies around TCP option investigations done by MPTCP and other groups).
Also, I am lost in seeing how changing the GID association helps prevent
a misinterpretation.
if the client sends out SYN [GID1, GID2] and the suggested unknown
option reflector comes back with SYN,ACK [GID2, GID3] (with the same GID
bits), you still have an overlap and a potential false negotiation, not?
The main issue about backwards compatibilty that Joe mentioned, still
persists; this approach may have some utility when two hosts have
repeated connections with each other, so that on subsequent connections,
only the abbreviation is exchanged.
Best regards,
Richard
Am 05.02.2021 um 07:50 schrieb Yoshifumi Nishida:
> Hi Joe,
>
> On Thu, Feb 4, 2021 at 12:35 PM Joseph Touch <touch@strayalpha.com
> <mailto:touch@strayalpha.com>> wrote:
>
> FWIW, I would have called this more “delayed option negotiation”
> than its current title.
>
>
> OK. It seems it makes sense. Thanks for the suggestion. I will think
> about updating the title.
> I also would like to hear from people if there're other thoughts.
>
> The core issue as I see it is atomicity of options; there are many
> options that interact with others that cannot be delayed this way.
> And if option negotiation is delayed, the issue of what to do with
> data in the meantime.
>
> So overall, it could be a generally useful addition, but is quite
> distinct in capability and impact on both options and TCP than the
> previous attempted solutions.
>
>
> I basically agree with you here.
> In my view, the previous approaches such as yours try to provide
> complete solutions to SYN option space, which can lead to very long
> discussions from my observations.
> Instead, the draft tries to provide a solution that has several
> limitations, but it can reduce complexity and the risk of middlebox
> issues. Also, we have similar precedence for this approach.
>
> The main focus of the draft is to support newly defined options rather
> than existing options. Especially, the ones that use EXID as they tend
> to consume more space.
> One of my concerns is scarce SYN option space discourages people from
> developing and using new features.
>
> As you mentioned, some options are difficult to be delayed. Section 5.3
> describes this limitation and explains that TFO or AO cannot be
> supported with this.
> But, I think this approach is still useful as some options will not be
> affected even though the negotiations are delayed a bit.
> For example, if you want to send special feedbacks on some events by
> using a certain options, you don't need to hold data transfer for the
> feature.
> Or, in some cases, delays can be acceptable in order to use new features.
>
> Thanks,
> --
> Yoshi
>
>
>> On Feb 4, 2021, at 12:07 PM, Joseph Touch <touch@strayalpha.com
>> <mailto:touch@strayalpha.com>> wrote:
>>
>> Hi, Yoshifumi,
>>
>>> On Feb 3, 2021, at 11:02 PM, Yoshifumi Nishida
>>> <nsd.ietf@gmail.com <mailto:nsd.ietf@gmail.com>> wrote:
>>>
>>> Hi Joe,
>>>
>>> Thanks for reading the draft. I put my comments in lines.
>>>
>>> On Wed, Feb 3, 2021 at 4:46 PM Joseph Touch <touch@strayalpha.com
>>> <mailto:touch@strayalpha.com>> wrote:
>>>
>>> Hi, Yoshi,
>>>
>>>> On Feb 2, 2021, at 11:12 PM, Yoshifumi Nishida
>>>> <nsd.ietf@gmail.com <mailto:nsd.ietf@gmail.com>> wrote:
>>>>
>>>> Hi folks,
>>>>
>>>> I prepared a draft for SYN option space extensions.
>>>> I know this is a difficult issue in TCP and has been
>>>> discussed for a long time.
>>>> But, I'm thinking that it might be a good time to discuss it
>>>> again.
>>>
>>> The proposal has two parts, which are (AFAICT) separable:
>>> A. Aggregated options
>>> B. Adding more option space in the 3rd packet of a 3WHS
>>>
>>>
>>> Right. both can be used supplementarily.
>>>
>>> (A) is fine, although the most significant issue is legacy
>>> interaction.
>>>
>>> (B) is no longer extending the SYN; it’s actually just
>>> post-SYN activation of new options.
>>>
>>>
>>> In my view, all options are negotiated during SYN exchange.
>>> There's no post SYN activation.
>>> They are just additional information for the features already
>>> negotiated during SYN exchanges.
>>
>> I disagree; you’re suggesting putting NEW options in packets that
>> don’t have a SYN. In that sense, it’s similar to my proposal,
>> which uses a segment with no SYN and no ACK bit (the out-of-band
>> segment).
>>
>> However, the problem is with the first SYN-ACK you send back. That
>> is typically a confirmation of all options supported so the rest
>> of the connection can commence, even for MPTCP. In your case, the
>> exchange continues. This not only adds multiple RTTs to the open,
>> it interferes with data sent in the SYN, data sent with the
>> SYN-ACK, and fast-open for sure; it could also be a problem with
>> many other options that don’t make sense in subsequent segments
>> due to the way they need to coordinate info that is used in the
>> SYN-ACK or other ACK segments (e.g., TCP-AO comes to mind).
>>
>> At a first cut, the doc needs to address this, e.g., saying that:
>> - if any user data is included before the option exchange is
>> completed, it has to be delayed until it completes
>> - how to handle options that are first seen after the SYN
>> MPTCP can define its own behavior for this, but your doc cannot
>> redefine that for other options
>>
>>>> Key ideas of the draft are the followings.
>>>> 1: drastic changes in TCP's spec will not be required
>>>> (it does not require updating TCP header format nor
>>>> using multiple SYN packets or additional SYN-like packets)
>>>
>>> Post-SYN activation of new options is quite a drastic change.
>>>
>>> Nevermind the question of what happens to data in the SYN,
>>> which normally MUST be passed to the application at the
>>> receiver after the final ACK is received, but here MUST NOT.
>>> And the data that might go in the other direction in the 3rd
>>> message with the ACK.
>>>
>>> Basically, you’re proposing to change the 3WHS to a 5WHS,
>>> which is a lot more significant and complex than described
>>> here (there are a lot of failure modes not addressed, for one).
>>>
>>>
>>> RIght. To be precise, the draft supports 3WHS, 4WHS and 5WHS. It
>>> can be varied depending on how much extra option space is needed.
>>> MPTCP adopts 4WHS for its negotiation. In my view, the draft just
>>> extends the idea.
>>
>> MPTCP adopts 4WHS for *its* options, which is its prerogative.
>> You’re attempting to define 4WHS and 4WHS semantics for *all*
>> options, which I don’t think is viable.
>>
>>> Hence, I am thinking the degree of the complexity would be more
>>> or less the same. At least, I don't think it will be too complex
>>> to implement.
>>>
>>>> 2: utilize the option negotiation schemes in mptcp for
>>>> generic purposes. so, I think it can be considered middlebox
>>>> friendly.
>>>
>>> MPTCP is negotiating variants of an option that is already
>>> active (AFAICT); that’s not the same as activating new options.
>>>
>>>
>>> My understanding for MPTCP is similar and I think this draft does
>>> the same things. (from my point of view)
>>> If you see significant differences between them, could you
>>> elaborate a bit?
>>
>> See above.
>>
>>>> 3: it has some limitations (e.g it can only extend around
>>>> 30-40 bytes for SYN option space). But, if it's combined
>>>> with EDO, we can use more option space.
>>>> (depends on how EDO draft will progress, though)
>>>
>>> If you have EDO, then just negotiate it and activate options
>>> after the connection is established. But that’s not the
>>> problem at hand - the problem is activation of options in the
>>> SYN. AFAICT, this does not do that.
>>>
>>>
>>> I think the negotiation scheme for EDO is simple. it needs to
>>> send 1 bit information to indicate the activation of the feature.
>>> This can be done during SYN exchange. So, I thought it's fine to
>>> use this feature in the 3rd segment. Or, are there any risks?
>>
>> I do think that if EDO is negotiated in the SYN then you can use
>> it in all subsequent segments (that’s already how it’s defined). I
>> don’t think it adds any risks here that aren’t already part of EDO.
>>
>> Joe
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org <mailto:tcpm@ietf.org>
>> https://www.ietf.org/mailman/listinfo/tcpm
>> <https://www.ietf.org/mailman/listinfo/tcpm>
>
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>
- [tcpm] Fwd: I-D Action: draft-nishida-tcpm-agg-sy… Yoshifumi Nishida
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Joseph Touch
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Yoshifumi Nishida
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Joseph Touch
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Joseph Touch
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Yoshifumi Nishida
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Scheffenegger, Richard
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Matthew Luckie
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Joe Touch
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Scheffenegger, Richard
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Scheffenegger, Richard
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Yoshifumi Nishida
- Re: [tcpm] Fwd: I-D Action: draft-nishida-tcpm-ag… Kangjiao
- Re: [tcpm] Fwd: I-D Action: draft-nishida-tcpm-ag… Yoshifumi Nishida
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Joseph Touch
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Yoshifumi Nishida
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Joseph Touch
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Yoshifumi Nishida
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Joseph Touch
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Yoshifumi Nishida
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Jan Rüth
- Re: [tcpm] I-D Action: draft-nishida-tcpm-agg-syn… Yoshifumi Nishida