Re: [multipathtcp] Negotiating TCP extensions in the SYN-SYN/ACK

Joe Touch <touch@isi.edu> Fri, 08 March 2013 22:29 UTC

Return-Path: <touch@isi.edu>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 44A3B21F8549 for <multipathtcp@ietfa.amsl.com>; Fri, 8 Mar 2013 14:29:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6h4IZrzCFUn8 for <multipathtcp@ietfa.amsl.com>; Fri, 8 Mar 2013 14:29:24 -0800 (PST)
Received: from darkstar.isi.edu (darkstar.isi.edu [128.9.128.127]) by ietfa.amsl.com (Postfix) with ESMTP id BCBAF21F851F for <multipathtcp@ietf.org>; Fri, 8 Mar 2013 14:29:24 -0800 (PST)
Received: from [128.9.160.166] (abc.isi.edu [128.9.160.166]) (authenticated bits=0) by darkstar.isi.edu (8.13.8/8.13.8) with ESMTP id r28MSgWd004973 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 8 Mar 2013 14:28:42 -0800 (PST)
Message-ID: <513A6603.9080300@isi.edu>
Date: Fri, 08 Mar 2013 14:28:19 -0800
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3
MIME-Version: 1.0
To: Michio Honda <micchie@sfc.wide.ad.jp>
References: <4371274.S5HZgQNjGG@cpaasch-mac> <513A011E.8020708@isi.edu> <CADRHXGunWDUFo7P1fm9NaqrEG2NrHJPrv3ADgWHKu=O2tC31xQ@mail.gmail.com> <513A2A8D.7030706@isi.edu> <451BAAC1-21C1-44A0-B2E6-CBED384185F1@sfc.wide.ad.jp>
In-Reply-To: <451BAAC1-21C1-44A0-B2E6-CBED384185F1@sfc.wide.ad.jp>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: MultiPath TCP - IETF WG <multipathtcp@ietf.org>
Subject: Re: [multipathtcp] Negotiating TCP extensions in the SYN-SYN/ACK
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/multipathtcp>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Mar 2013 22:29:25 -0000

Hi, Michio,

On 3/8/2013 2:06 PM, Michio Honda wrote:
> Just a note, we should distinguish middleboxes from buggy endpoints.
> Exchanging options on data packets just confirms that a middlebox does not affect options.
> Preventing from such a buggy endpoint should happen independently, for example, defining a rule like "Returning value of the option MUST differ from the original one".

That works, but it then requires that options include parameters so that 
the return value can vary. TCP is not overall designed to be robust to 
buggy or incorrect implementations, and adding this capability for 
options just encourages wasted space in the SYN and SYN/ACK - precisely 
where we have the least of it available.

Joe

>
> Cheers,
> - Michio
>
> On Mar 8, 2013, at 7:14 PM, Joe Touch wrote:
>
>>
>>
>> On 3/8/2013 10:10 AM, Mark Handley wrote:
>>> On 8 March 2013 15:17, Joe Touch <touch@isi.edu> wrote:
>>>>> What they seem to do is to NOP all the undesired known options and echo
>>>>> the unknown ones in the SYN/ACK.
>>>>
>>>>
>>>> That's easy to debug - it's a major error of their stack, and needs to be
>>>> corrected.
>>>
>>> I think we're all agreed on that.
>>>
>>>> There is no reason to address this in mptcp or any other option.
>>>>
>>>>
>>>>> This shows how important it is that TCP extensions should not only
>>>>> rely on the SYN-SYN/ACK exchange to negotiate support for a new TCP
>>>>> option.
>>>>
>>>>
>>>> I disagree; it shows the impact of an incorrect implementation. "Be generous
>>>> in what you receive" doesn't include this sort of case.
>>>
>>> Unfortunately that's the same reason ECN is still largely undeployed
>>> 15 years on - new functionality really must not cause previously
>>> working things to break, even if other people have done stupid things.
>>>   Otherwise you get condemned in the real world as undeployable and
>>> join the very large stack of other undeployed RFCs.
>>>
>>> MPTCP gets this right, though not for this reason - the same check is
>>> needed for option-stripping middleboxes on the return path to avoid
>>> the server thinking something has been negotiated and the client
>>> thinking it has not.
>>
>> Well, I'd rather not see new TCP options expect to have to have an active challenge-response *solely* to get around this sort of error.
>>
>> Joe
>>
>>
>> _______________________________________________
>> multipathtcp mailing list
>> multipathtcp@ietf.org
>> https://www.ietf.org/mailman/listinfo/multipathtcp
>