Re: [multipathtcp] FW: New Version Notification for draft-ford-mptcp-multiaddressed-02

Scott Brim <scott.brim@gmail.com> Fri, 06 November 2009 12:03 UTC

Return-Path: <scott.brim@gmail.com>
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 02F343A6A77 for <multipathtcp@core3.amsl.com>; Fri, 6 Nov 2009 04:03:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.53
X-Spam-Level:
X-Spam-Status: No, score=-1.53 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, DATE_IN_PAST_06_12=1.069]
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 5YPtCr1HZM9S for <multipathtcp@core3.amsl.com>; Fri, 6 Nov 2009 04:03:34 -0800 (PST)
Received: from mail-yw0-f183.google.com (mail-yw0-f183.google.com [209.85.211.183]) by core3.amsl.com (Postfix) with ESMTP id E53DF3A6A7A for <multipathtcp@ietf.org>; Fri, 6 Nov 2009 04:03:33 -0800 (PST)
Received: by ywh13 with SMTP id 13so982229ywh.29 for <multipathtcp@ietf.org>; Fri, 06 Nov 2009 04:03:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=eLelVJsyNBqolJS3mdeFjJyCLpkKIcYpgP2h4xQaYMQ=; b=Aox7ugdEbhFjS4hjI4c14NV7f5vaotuGdq3wFJywOyMBaosFTTmhhBknMqQ0SLxC4f X51Mt5t+TQB5mf+Z02hyvIB6vHSJ13G6hRPtTA28ZDWxoIlKRhVvt8RAtx78xatxa5GM IbwPweqdbd7lgXTgFee3AUsBVvazXmBUg9vxE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=strBPwWRzS2WA+fNfuix28ciwaW5ApFZuXzTeAqOXl8+INAr7VwXrShAwfCvg9miwN OfRt7knMcxL1OeL6dl9eOlqCxA4LvH0x14S6iY9BofjICPj/wN8LHyKEzZNnQBwwH7cn zIGGET02983jXD7FUpxA4LsTOVv9X1wB1dJhA=
Received: by 10.150.3.13 with SMTP id 13mr4187295ybc.40.1257509032803; Fri, 06 Nov 2009 04:03:52 -0800 (PST)
Received: from sbrim-mbp.local (64-104-46-217.cisco.com [64.104.46.217]) by mx.google.com with ESMTPS id 23sm319ywh.33.2009.11.06.04.03.49 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 06 Nov 2009 04:03:50 -0800 (PST)
Message-ID: <4AF38B0F.4070106@gmail.com>
Date: Fri, 06 Nov 2009 11:33:51 +0900
From: Scott Brim <scott.brim@gmail.com>
User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812)
MIME-Version: 1.0
To: "Ford, Alan" <alan.ford@roke.co.uk>
References: <2181C5F19DD0254692452BFF3EAF1D6808B826E2@rsys005a.comm.ad.roke.co.uk>
In-Reply-To: <2181C5F19DD0254692452BFF3EAF1D6808B826E2@rsys005a.comm.ad.roke.co.uk>
X-Enigmail-Version: 0.96.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: multipathtcp@ietf.org
Subject: Re: [multipathtcp] FW: New Version Notification for draft-ford-mptcp-multiaddressed-02
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: Fri, 06 Nov 2009 12:03:35 -0000

Ford, Alan allegedly wrote on 10/27/2009 10:03 AM:
> Hi all,

Hi Alan and all.  Please forgive my lateness.

I'm a control plane kind of person, not a congestion management person,
so most of these comments are about the protocol itself.

> 
> We now have a new version of the MPTCP protocol draft available,
> which will be presented in Hiroshima.
> 
> Questions and discussion very much welcome beforehand too!

>    o  Do we want a connection identifier in every packet?  E.g. would
>       make implementation of IDS much easier?

I think so.  What are the arguments against it?  It deterministically
avoids the kind of cases that Joe was concerned about.

> 4.1 Session Initiation

Why is there a "multipath capable" option exchange at all?  The question
is implicit in a "join" option.  If the receiver does not understand the
"join", it is not multipath-capable, and you fall back.

>    If these packets are unacknowledged, it is up to local policy to
>    decide how to respond.  It is expected that a sender will eventually
>    fall back to single-path TCP (i.e. without the Multipath Capable
>    Option), in order to work around middleboxes that may drop packets

work _through_ them, rather :-)

>    If an endpoint is known to be multiaddressed (e.g. through multiple
>    addresses returned in a DNS lookup), alternative destination
>    addresses SHOULD be tried first, before falling back to regular TCP.

You might want to note this is no different from some TCP behaviors
today, if a connection cannot be established to the first address attempted.

>    The "Join" option includes an "Address ID".  This is an identifier,
>    locally unique to the sender of this option, and with only per-
>    connection relevance, which identifies the source address of this
>    packet.  This serves two purposes.  Firstly, if an address becomes
>    unexpectedly unavailable on the sender, it can signal this to the
>    receiver via a remove address option (Section 4.3.2) without needing
>    to know what the source address actually is (thus allowing the use of
>    NATs).  

This is good but ...

>    Secondly, it allows correlation between new connection
>    attempts and address signalling (Section 4.3.1), to prevent duplicate
>    subflow initiation.

... I have some problems with address "exchange".  See below.

>    TBD: Instead of an Address ID, are there any cases where a Subflow ID
>    (i.e. unique to the subflow) would be useful instead?  For example,
>    two addresses which become NATted to the same address?

"Remove" is important but there are corner cases under all options I can
think of.  I'm in favor of just documenting possible rare unintended
disruptions, and then just specifying "remove".  For example, I could
see a scenario where A and B are communicating, and A is using address
1.1.1.1 which is NATted to 3.3.3.3 by the time a packet reaches B.  A
loses 1.1.1.1 and switches to 2.2.2.2, but an upstream network helpfully
NATs to the the same external address, 3.3.3.3, to be helpful to A.  So
if A loses 1.1.1.1 and sends a "remove" for its ID, unintended
disruption will occur.

> 4.3.1.  Adding Addresses

re "Add Address", I wouldn't bother.  A source cannot know what its
addresses will look like to a destination, and NATs are here to stay.  A
NAT on a particular path cannot know what a NAT on a different path will
do.  Under no conditions should an address for one path be carried as
payload on another path.  It's important to get layer violations out of
the control plane.  Instead of promoting a mechanism that _might_ work
occasionally (and might open security holes??), let's focus on making
the data plane mechanisms work really well.

Thanks ... Scott