Re: [multipathtcp] High-level design decisions /architecture

"Ford, Alan" <alan.ford@roke.co.uk> Tue, 03 November 2009 18:37 UTC

Return-Path: <alan.ford@roke.co.uk>
X-Original-To: multipathtcp@core3.amsl.com
Delivered-To: multipathtcp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3868D28C181 for <multipathtcp@core3.amsl.com>; Tue, 3 Nov 2009 10:37:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.357
X-Spam-Level:
X-Spam-Status: No, score=-3.357 tagged_above=-999 required=5 tests=[AWL=0.242, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
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 1Jfm1PZclD2r for <multipathtcp@core3.amsl.com>; Tue, 3 Nov 2009 10:37:41 -0800 (PST)
Received: from rsys002x.roke.co.uk (rsys002x.roke.co.uk [193.118.201.109]) by core3.amsl.com (Postfix) with ESMTP id 2E30628C15D for <multipathtcp@ietf.org>; Tue, 3 Nov 2009 10:37:41 -0800 (PST)
Received: from rsys005a.comm.ad.roke.co.uk ([193.118.193.85]) by rsys002x.roke.co.uk (8.13.1/8.13.1) with ESMTP id nA3Jbkxr001344; Tue, 3 Nov 2009 19:37:47 GMT
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 03 Nov 2009 18:37:55 -0000
Message-ID: <2181C5F19DD0254692452BFF3EAF1D6808C85178@rsys005a.comm.ad.roke.co.uk>
In-Reply-To: <3c3e3fca0911021328h2ef65493v9f0290f384f7b800@mail.gmail.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [multipathtcp] High-level design decisions /architecture
Thread-Index: AcpcA4Teo8ymrZWiR3+pQZ/xmklMTQArusRg
References: <4A916DBC72536E419A0BD955EDECEDEC06363A62@E03MVB1-UKBR.domain1.systemhost.net> <3c3e3fca0911021328h2ef65493v9f0290f384f7b800@mail.gmail.com>
From: "Ford, Alan" <alan.ford@roke.co.uk>
To: William Herrin <bill@herrin.us>, philip.eardley@bt.com
X-roke-co-uk-MailScanner-ID: nA3Jbkxr001344
X-roke-co-uk-MailScanner: Found to be clean
X-roke-co-uk-MailScanner-SpamCheck:
X-roke-co-uk-MailScanner-From: alan.ford@roke.co.uk
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] High-level design decisions /architecture
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Tue, 03 Nov 2009 18:37:42 -0000

Hi Bill, all,

> > The MPTCP connection is identified, from an apps perspective, by the
> > addresses associated with the original path (even if that subflow
/path
> > closes)
> 
> I'm concerned about this idea. One of the corner cases where shim6
> falls apart is: once the connection migrates away from the original
> addresses, how do the endpoints decide whether a new connection
> request for the original addresses means the migrated addresses or the
> current holder of the addresses? Think: FTP.

This is indeed an issue. However, what is likely to happen here is that
the next connection will just be rejected, the application will fail and
have to try again from scratch, this time starting with a valid
connection.

The bigger issue here is what security impacts this may have. I find it
hard to see how an attacker could engineer a compromised situation out
of this. There may be some end users receiving odd connection attempts
due to this, but that case can occur today with DNS caching.

> > A SYN/ACK exchange (on a single path) checks that both ends support
MPTCP,
> > with automatic fall-back to TCP if not
> 
> We have an awful lot of TCP options that are only valid in the
> SYN-SYN/ACK exchange and only 40 bytes to put them all. What's wrong
> with starting all TCP connections in non-MP mode and allowing the
> connection's initiator to request MPTCP starting with any packet that
> expects an ACK?

We had began with assuming that a connection was either MPTCP or regular
TCP from the start, so endpoints would know whether they could make use
of Multipath immediately and start more subflows immediately.

I'm intrigued with your suggestion, though. I see your point that there
may not be any critical reason why this information should be known at
the beginning of a session. I can't immediately think of any technical
reason why doing it later in a session wouldn't work. But it would need
further thought.

Regards,
Alan