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

"Ford, Alan" <alan.ford@roke.co.uk> Tue, 03 November 2009 22:12 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 48E343A6808 for <multipathtcp@core3.amsl.com>; Tue, 3 Nov 2009 14:12:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.426
X-Spam-Level:
X-Spam-Status: No, score=-3.426 tagged_above=-999 required=5 tests=[AWL=0.173, 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 KylaE++PBxEM for <multipathtcp@core3.amsl.com>; Tue, 3 Nov 2009 14:12:07 -0800 (PST)
Received: from rsys002x.roke.co.uk (rsys002x.roke.co.uk [193.118.201.109]) by core3.amsl.com (Postfix) with ESMTP id 1DFE73A67A2 for <multipathtcp@ietf.org>; Tue, 3 Nov 2009 14:12:06 -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 nA3NCKrO018056; Tue, 3 Nov 2009 23:12:20 GMT
X-MimeOLE: Produced By Microsoft Exchange V6.5
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
x-cr-puzzleid: {41E8E662-536D-4808-BBE6-F621A9324B3E}
Content-class: urn:content-classes:message
x-cr-hashedpuzzle: JAg= Wqo= CaLC DQSm ELTv F47Z GjOp G5yN IDag Ig62 I1/C JztU Nqs9 Qqvv RhGN R4hE; 2; bQB1AGwAdABpAHAAYQB0AGgAdABjAHAAQABpAGUAdABmAC4AbwByAGcAOwBuAGkAcwBoAGkAZABhAEAAcwBmAGMALgB3AGkAZABlAC4AYQBkAC4AagBwAA==; Sosha1_v1; 7; {41E8E662-536D-4808-BBE6-F621A9324B3E}; YQBsAGEAbgAuAGYAbwByAGQAQAByAG8AawBlAC4AYwBvAC4AdQBrAA==; Tue, 03 Nov 2009 22:12:22 GMT; UgBFADoAIABbAG0AdQBsAHQAaQBwAGEAdABoAHQAYwBwAF0AIABIAGkAZwBoAC0AbABlAHYAZQBsACAAZABlAHMAaQBnAG4AIABkAGUAYwBpAHMAaQBvAG4AcwAgAC8AYQByAGMAaABpAHQAZQBjAHQAdQByAGUA
Date: Tue, 03 Nov 2009 22:12:22 -0000
Message-ID: <2181C5F19DD0254692452BFF3EAF1D6808C85180@rsys005a.comm.ad.roke.co.uk>
In-Reply-To: <20091104.053953.70139435.nishida@sfc.wide.ad.jp>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [multipathtcp] High-level design decisions /architecture
Thread-Index: AcpcxdxBorSDW6+rRgeKNVSXBScL5AAC7HRw
References: <4A916DBC72536E419A0BD955EDECEDEC06363A62@E03MVB1-UKBR.domain1.systemhost.net><4AEF781E.4070009@isi.edu><2181C5F19DD0254692452BFF3EAF1D6808C85179@rsys005a.comm.ad.roke.co.uk> <20091104.053953.70139435.nishida@sfc.wide.ad.jp>
From: "Ford, Alan" <alan.ford@roke.co.uk>
To: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
X-roke-co-uk-MailScanner-ID: nA3NCKrO018056
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 22:12:08 -0000

Hi Yoshifumi, all, 

>  > > >           o [Question: Should we allow subflows in a single
MPTCP
>  > > >             connection to have different ports?]
>  > >
>  > > Seems like you'd have to - or you have to coordinate port use on
>  > > different addresses at a single endpoint constantly.
>  >
>  > Yes, and we have a demuxing value (the token) anyway. However, for
> optimality it is proposed that the same ports are used on the same
(and maybe
> different) addresses per connection.
> 
> Then, we might need to update Add Address option in the draft to
propagate
> port number.
> and the term Address ID might be a bit confusing.

I don't see that we do. The general principle is that an endpoint should
use the ports that are currently in use at the other endpoint on its new
connections, to maximise getting through firewalls and middleboxes, and
also to support any port-based QoS traffic engineering, etc. That
doesn't preclude an endpoint from trying other port numbers with the
same token, but the chances of that working would seem slim. I'm not
entirely sure whether we want to explicitly permit or explicitly forbid
that, yet.

Unless, there is some other use for signalling alternative port numbers
to use. The only case I can think of may be for tricking load balancers
with the same address to route on alternative paths, but that seems
tenuous at best.

> If we think about the possibility that application can get peer's
secondary
> IP address
> outside of MPTCP (e.g. from DNS) and wants to try it, it might be
convenient
> to
> use one single port for all subflows?

The idea of using additional addresses from DNS etc is an interesting
one. I'm reluctant to suggest this in the protocol - it would seem to
open a number of potential security issues.

One thing that adds a very elementary level of security in the current
design is that signalling of new subflows occurs both over the existing
connection and separately. This is not ideal yet and needs refinement.
Such a solution would not be possible at all with the out-of-band
knowledge exchange.

Besides, an endpoint that knows it has multiple addresses should signal
that immediately if it wants them to be used. (And if it doesn't want
its other endpoint to be used, this gives it the flexibility not to
signal it).

Regards,
Alan