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

Yoshifumi Nishida <nishida@sfc.wide.ad.jp> Tue, 03 November 2009 07:54 UTC

Return-Path: <nishida@sfc.wide.ad.jp>
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 287CB3A676A for <multipathtcp@core3.amsl.com>; Mon, 2 Nov 2009 23:54:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.351
X-Spam-Level: *
X-Spam-Status: No, score=1.351 tagged_above=-999 required=5 tests=[AWL=0.447, BAYES_00=-2.599, HELO_EQ_JP=1.244, HOST_EQ_JP=1.265, RELAY_IS_203=0.994]
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 K2M+6GzGAzr3 for <multipathtcp@core3.amsl.com>; Mon, 2 Nov 2009 23:54:09 -0800 (PST)
Received: from mail.sfc.wide.ad.jp (mail.sfc.wide.ad.jp [203.178.142.146]) by core3.amsl.com (Postfix) with ESMTP id 4C4DE3A6405 for <multipathtcp@ietf.org>; Mon, 2 Nov 2009 23:54:09 -0800 (PST)
Received: from localhost (cpu.sfc.wide.ad.jp [IPv6:2001:200:0:8803:203:178:142:143]) by mail.sfc.wide.ad.jp (Postfix) with ESMTP id 561F14C09A; Tue, 3 Nov 2009 16:54:24 +0900 (JST)
Date: Tue, 03 Nov 2009 16:54:24 +0900
Message-Id: <20091103.165424.165327321.nishida@sfc.wide.ad.jp>
To: bill@herrin.us
From: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
In-Reply-To: <3c3e3fca0911021538y3ebd3f3fx6a03e7bc5b03f246@mail.gmail.com>
References: <3c3e3fca0911021328h2ef65493v9f0290f384f7b800@mail.gmail.com> <4AEF6114.6070106@it.uc3m.es> <3c3e3fca0911021538y3ebd3f3fx6a03e7bc5b03f246@mail.gmail.com>
X-Mailer: Mew version 6.2 on Emacs 22.1 / Mule 5.0 (SAKAKI)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
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 07:54:10 -0000

From: William Herrin <bill@herrin.us>
Subject: Re: [multipathtcp] High-level design decisions /architecture
Date: Mon, 2 Nov 2009 19:38:46 -0400
Message-ID: <3c3e3fca0911021538y3ebd3f3fx6a03e7bc5b03f246@mail.gmail.com>

 > On Mon, Nov 2, 2009 at 6:45 PM, marcelo bagnulo braun
 > <marcelo@it.uc3m.es> wrote:
 > >> 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.
 > >>
 > >
 > > could you expand on this?
 > > I wasn't aware shim6 falls apart in any case neither this particular
 > > approach...
 > 
 > Hi Marcelo,
 > 
 > Consider the following scenario:
 > 
 > Host A comes online with 1.2.3.4.
 > Host A requests a new TCP connection to 5.6.7.8.
 > Established with host B at 5.6.7.8.
 > Host B adds 8.7.6.5
 > Host B removes 5.6.7.8
 > Host C comes online with 5.6.7.8.
 > Host A requests a new TCP connection to 5.6.7.8.
 > 
 > Which host does A connect to?
 > 
 > If the answer is C, protocols like FTP which initiate multiple TCP
 > connections to the same IP address fail once an endpoint gives up its
 > original address. That'll also impact web browsers which employ dns
 > pinning.

In case of ftp, the choice would be something like this?

 1: we don't support this case. ftp will fail.
 2: ftp client/server performs getsockname() before port/pasv to check its own active IP address.
    (But, we need to define getsockname() should return active IP address instead 
     of original IP)
 3: Develop new ftp for MPTCP (using new API etc..)

I personally prefer 1.. then might do 3 later..
In case of dns pinning, I don't see any issues.

Thanks,
--
Yoshifumi Nishida
nishida@sfc.wide.ad.jp