Re: [multipathtcp] Multipath deployment and fate sharing

Joe Touch <touch@ISI.EDU> Mon, 14 December 2009 20:28 UTC

Return-Path: <touch@ISI.EDU>
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 44C4228C157 for <multipathtcp@core3.amsl.com>; Mon, 14 Dec 2009 12:28:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.292
X-Spam-Level:
X-Spam-Status: No, score=-2.292 tagged_above=-999 required=5 tests=[AWL=0.307, 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 WxOJASWThF4y for <multipathtcp@core3.amsl.com>; Mon, 14 Dec 2009 12:28:10 -0800 (PST)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id 65E193A67D3 for <multipathtcp@ietf.org>; Mon, 14 Dec 2009 12:28:10 -0800 (PST)
Received: from [75.214.253.111] (111.sub-75-214-253.myvzw.com [75.214.253.111]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id nBEKRWfa023695 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 14 Dec 2009 12:27:39 -0800 (PST)
Message-ID: <4B269FB2.1000008@isi.edu>
Date: Mon, 14 Dec 2009 12:27:30 -0800
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: Iljitsch van Beijnum <iljitsch@muada.com>
References: <E9EE0C1A-C9D3-4EBC-97FD-E1B1628CD2E7@iki.fi> <20091123.092214.140617438.nishida@sfc.wide.ad.jp> <48DA092B-F3BC-432E-A199-B265DDED39DA@iki.fi> <3c3e3fca0911240434p4d95ec7an34615ae218faa4f@mail.gmail.com> <C622F375-EE67-46AE-AC28-6617CFEF6D12@lurchi.franken.de> <BF345F63074F8040B58C00A186FCA57F1C65FB29B9@NALASEXMB04.na.qualcomm.com> <4B0C607A.6060503@isi.edu> <BF345F63074F8040B58C00A186FCA57F1C65FB29C0@NALASEXMB04.na.qualcomm.com> <4B0C6590.9010000@isi.edu> <BF345F63074F8040B58C00A186FCA57F1C65FB29C6@NALASEXMB04.na.qualcomm.com> <4B0C6C13.2060103@isi.edu> <BF345F63074F8040B58C00A186FCA57F1C65FB29CB@NALASEXMB04.na.qualcomm.com> <4B0C6FBE.40003@isi.edu> <alpine.DEB.2.00.0911250211520.23603@ayourtch-lnx.stdio.be> <alpine.DEB.2.00.0911250428590.23603@ayourtch-lnx.stdio.be> <BE063B0C-BB34-4C75-A57E-1BAB0BE6780A@cs.ucl.ac.uk> <4B0D52D5.9090403@isi.edu> <58B2A4B2-F276-4E96-87FB-F8273FD78ED0@muada.com> <4B26782D.9080907@isi.ed! u> <24F138C7-6176-479F-957A-D0CF13FAC15D@mua! da.com>
In-Reply-To: <24F138C7-6176-479F-957A-D0CF13FAC15D@muada.com>
X-Enigmail-Version: 0.96.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: "multipathtcp@ietf.org List" <multipathtcp@ietf.org>
Subject: Re: [multipathtcp] Multipath deployment and fate sharing
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: Mon, 14 Dec 2009 20:28:11 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Iljitsch van Beijnum wrote:
...
>>> However, we can deduce that applications care if they bind to a
>>> specific address, or look up the address tied to the remote end of an
>>> incoming session. If neither happens subflows can continue without trouble.
> 
>> Not sure this is sufficient. You can bind to a set of addresses (or
>> ANY), and still care that the IP address doesn't change (e.g., in-band
>> info can be IP-address specific, such as access control, etc.).
> 
> Yes, when you bind to an address you care. If you don't bind to an address (but ANY instead) apparently you don't care.

You didn't care what it was when you started, but you may care during a
connection (if you read it out).

>>> Another class of applications is those that care about the addresses,
>>> but are not bothered by change. For instance, I may log that I'm talking
>>> to 192.0.2.1 but then when that address goes down and communication
>>> continues using 10.0.0.1, I simply log the address addition/change and
>>> all is well.
> 
>> This presumes that you know the purpose of a log. If the log is just
>> informational, the above may be true. But if the log is used to verify
>> access, or to coordinate future responses, just knowing it's logged to a
>> file isn't sufficient.
> 
> Well, these are applications that need to know about
> multiaddressing/multipath anyway, so presumably these apps know whether
> they just need logging or they need more.

They might know, but you might not. I.e., how do you know without
looking at the source code?

>>> - mechanism to indicate that a session is bound to an address
> 
>> I think you need the negative of this, i.e., to find out whether a
>> session is NOT bound to an address, that can respond, YES, NO, or DON'T
>> KNOW (which should behave like YES).
> 
> Ok, I can go along with that at this point.
> 
>>> - mechanism to indicate that an address has been removed
>>> - mechanism to indicate "no address agility" (default = agility)
> 
>> As above, default = no agility.
> 
> Can we narrow down our differences to just this one?

I'm not sure - is that the only place we differ?

>>> - mechanism to indicate "no MPTCP" (default = MPTCP)
> 
>> Under what conditions would you want to set "no MPTCP"?
> 
> Not sure if there is a large class of conditions that is incompatible
> with MPTCP, the only thing I can think of is speed tests. But as long as
> we're adding API calls we may as well err on the side of adding more
> than on the side of adding fewer, as the marginal cost of the extra ones
> is near-zero and the cost of producing and implementing an update are huge.
> 
>> See RFC1122 Sec 3.3.4.3, which explicitly ties the transport selection
>> of a source address to an address selected based on the state of the
>> interface. I.e., your assertion changes an existing standard.
> 
> I can live with that.
> 
> By the way, about the protocol number: is that relevant? If two ends,
> including the applications on both sides, agree on different
> semantics, why would it be necessary to use a different protocol
> number?

Why is it necessary to use an old one? If you want an old one, why not
use UDP?

For any reason you want to stay with TCP, that's a reason to stick with
TCP semantics or realize you're redefining semantics TCP for everyone.
Given it's place as a core protocol, I don't think redefining semantics
ought to be on the table.

Joe
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)

iEYEARECAAYFAksmn7IACgkQE5f5cImnZrvhhACg5VhFyAGu38trilbhYGjqbyAM
hS8AoN6m/51zWqYjucNlr3qSA8+bPwia
=DQNL
-----END PGP SIGNATURE-----