[tcpm] MPTCP vs Rehash (was TCPM WG status update)

Costin Raiciu <c.raiciu@cs.ucl.ac.uk> Tue, 16 November 2010 09:21 UTC

Return-Path: <c.raiciu@cs.ucl.ac.uk>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AE6BE3A69CE; Tue, 16 Nov 2010 01:21:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0xX8wMLADFg7; Tue, 16 Nov 2010 01:21:09 -0800 (PST)
Received: from bells2.cs.ucl.ac.uk (bells2.cs.ucl.ac.uk [128.16.5.33]) by core3.amsl.com (Postfix) with ESMTP id 7206D3A6BDE; Tue, 16 Nov 2010 01:21:09 -0800 (PST)
Received: from [141.85.37.251] (helo=[10.38.219.64]) by bells2.cs.ucl.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (C.Raiciu authenticated) (Exim 4.54) id 1PIHRP-000PYG-Lw; Tue, 16 Nov 2010 09:03:03 +0000
Mime-Version: 1.0 (Apple Message framework v1081)
Content-Type: text/plain; charset="iso-8859-1"
From: Costin Raiciu <c.raiciu@cs.ucl.ac.uk>
In-Reply-To: <4CE10B0C.1040705@alcatel-lucent.com>
Date: Tue, 16 Nov 2010 11:21:27 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <A02B474D-BD70-443E-8BCE-D4DD8AA88363@cs.ucl.ac.uk>
References: <C304DB494AC0C04C87C6A6E2FF5603DB4821F155C3@NDJSSCC01.ndc.nasa.gov> <4CDA4FA9.4050006@alcatel-lucent.com> <5FDC413D5FA246468C200652D63E627A0B54DF91@LDCMVEXC1-PRD.hq.netapp.com> <4CE10B0C.1040705@alcatel-lucent.com>
To: Bruno Mongazon-Cazavet <bruno.mongazon-cazavet@alcatel-lucent.com>
X-Mailer: Apple Mail (2.1081)
Cc: Multipath TCP Mailing List <multipathtcp@ietf.org>, tcpm@ietf.org
Subject: [tcpm] MPTCP vs Rehash (was TCPM WG status update)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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, 16 Nov 2010 09:21:11 -0000

Bruno,

I've read your draft too and I agree with Richard, it seems to support a subset of what MPTCP does, only focusing on connection mobility. 
On top of that MPTCP allows connections to use multiple paths in parallel (providing reordering, congestion control, etc). 

Re-hash's aim seems to be increasing robustness for mobile client applications. I personally think multipath TCP is a better solution than re-hash because it can probe multiple paths in parallel and literally get the best service at any time. In contrast, re-hash allows connections to use a single address (e.g. 3g/wifi) at any time; this will give significantly worse performance when devices are truly mobile and link properties change quickly e.g. people driving or walking (this is a handwaving argument, we have not run any tests to prove this).

More importantly, I'd like to point out that this type of connection mobility is already implemented in mobile devices as far as I understand: the stack forcibly terminates all connections when their interface goes down and a new one is available, and the applications  reopen connections which will use the new interface. The apps have already been changed to support this. The apps that haven't been changed already probably don't care about this type of robustness that much. With this in mind, I reluctantly admit that MPTCP itself will bring little improvement to apps robustness; re-hash will bring none.

As a clarifying note to richard's comment earlier: MPTCP does support break-before-make mobility, as long as the new subflow is opened while both endpoints have state about the connection (i.e. the original subflow has not reach max timeouts). In practice, this means that if a client is mobile, loses its address and gains a new one in a reasonable amount of time, it will be able to add a subflow to the existing connection, hence supporting break-before-make mobilty.  As rehash, MPTCP does not support simultaneous mobility.

Cheers,
Costin

On 15 Nov 2010, at 12:27, Bruno Mongazon-Cazavet wrote:

> Dear Richard;
> 
> Thank you for looking at TCP-Rehash.
> Please see my comments inline.
> 
> Regards,
> Bruno Mongazon
> 
> Le 10/11/2010 13:51, Scheffenegger, Richard a écrit :
>> Hi Bruno,
>> 
>> After a casual look, it appears to me that a lightweight implementation of MP-TCP can have the same benefits, but does not require the opaque exchange of IPv4 addresses...
> 
> Yes an idea would be to have TCP-Rehash == lightweigth MPTCP
> There are a few design diffferences that need to be looked at.
> 
>> Your use case - that the old L3 address is already no longer available at the time of the rehash - may need to be looked at in MPTCP though (iirc, they do a graceful session setup first (thus can work with NAT mostly), and move data transport only after the successful establishment of the 2nd L3 connectivity, and only then tear down the original L3 connectivity).
> 
> Right but... there is no real constraint on old address availability, thus the old address might still be available.
> A key difference between TCP-Rehash and MPTCP is the session setup. With TCP-Rehash there is no setup, it is a straight move. If it fails, the connection is broken, this would happen anyway if L3 address changes and there is no "move" mechanism. Doing so is just opportunistic but deterministic. MPTCP is more complex since a new connection is setup before the old connection is being "moved".
> From design perspective, would it be that complex for MPTCP to handle rehash design ?
> 
> NAT is a different story (orthogonal i would say) and issue.
> 
>> Perhaps the effort would be better placed on making sure that such light-weight MPTCP implementations remain feasible, instead of defining an alternate method that is addressing only this one aspect, but incompatible with MPTCP otherwise?
> 
> To be honest i have both TCP-Rehash and MPTCP linux kernel source code... my intention is not to define an alternate method ! Rather i posted the TCP-Rehash draft with the intention to provide some additional work on the topic. Convergence and collaboration is of course to be considered. I think my work, although it was not disclosed, started sometimes ago, almost at early MPTCP.
> 
> Please let me know, if from the design point of view, the WG would consider the opportunity to have a lightweight MPTCP that would look like TCP-Rehash.
> 
>> Richard Scheffenegger
>> 
>> 
>> 
>>> -----Original Message-----
>>> From: Bruno Mongazon-Cazavet
>>> [mailto:bruno.mongazon-cazavet@alcatel-lucent.com]
>>> Sent: Mittwoch, 10. November 2010 08:54
>>> To: Eddy, Wesley M. (GRC-MS00)[ASRC AEROSPACE CORP]
>>> Cc: tcpm@ietf.org
>>> Subject: Re: [tcpm] WG status update
>>> 
>>> 
>>>   Le 10/11/2010 01:54, Eddy, Wesley M. (GRC-MS00)[ASRC
>>> AEROSPACE CORP] a écrit :
>>>> Hi, for those of you who aren't in Beijing, here's a
>>> snapshot of the TCPM WG status.
>>> 
>>> Hi,
>>> 
>>> I have posted a 00 draft that might be of interest for your working
>>> group. I don't see any mention in your snapshot.
>>> http://www.ietf.org/id/draft-mongazon-tcpm-tcp-rehash-00.txt
>>> 
>>> I will not be in Beijing to present it but i hope to be in
>>> Prague to do so.
>>> I would appreciate the working group can look at it and let
>>> me know if
>>> it could be of any interest and how i shall pursue my contribution.
>>> 
>>> I have done a Linux kernel implementation of the draft and be
>>> ready for
>>> a demo in Prague.
>>> 
>>> Best Regards,
>>> Bruno.
>>> _______________________________________________
>>> 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