Re: [multipathtcp] Multipath deployment and fate sharing

Joe Touch <touch@ISI.EDU> Tue, 15 December 2009 00:52 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 576DE3A6897 for <multipathtcp@core3.amsl.com>; Mon, 14 Dec 2009 16:52:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.35
X-Spam-Level:
X-Spam-Status: No, score=-2.35 tagged_above=-999 required=5 tests=[AWL=0.119, BAYES_00=-2.599, SARE_RMML_Stock10=0.13]
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 TfbY7HPVAbAa for <multipathtcp@core3.amsl.com>; Mon, 14 Dec 2009 16:52:13 -0800 (PST)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id 72DE53A685B for <multipathtcp@ietf.org>; Mon, 14 Dec 2009 16:52:13 -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 nBF0pI16026041 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 14 Dec 2009 16:51:21 -0800 (PST)
Message-ID: <4B26DD86.9060605@isi.edu>
Date: Mon, 14 Dec 2009 16:51:18 -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> <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> <4B269FB2.1000008@isi.edu> <DA2599DF-AD42-4748-AFA4-98DF4531C832@muada.com>
In-Reply-To: <DA2599DF-AD42-4748-AFA4-98DF4531C832@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: Tue, 15 Dec 2009 00:52:14 -0000

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



Iljitsch van Beijnum wrote:
> On 14 dec 2009, at 21:27, Joe Touch wrote:
> 
>>> 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).
> 
> Absolutely. That's why either the ends must communicate to the other side the fact that they lost an address so the other side can take action if it cares, or they must indicate that they care at any time that they start caring about the specific addresses used for the session.
> 
>>> 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?
> 
> Is there any reason for the user to know? If the application uses a
> socket option to tell the system, the right thing will happen without
> user intervention.

The user can use the socket option to get information, and then use it
to log or use it to open a new connection. You can't know the difference
just from the first option access.

>>>> 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?
> 
> The wg needs to come to rough consensus, if we can have that on everything but this point that provides a way forward.

I agree; I just was checking.

>>> 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?
> 
> Because of backward compatibility. If we start with TCP and only go 
> to the new semantics when both ends agree this is readily deployable,
> but using a new protocol number or implementing TCPng on top of UDP
> means we need something to discover whether the other side supports
> the new protocol or not and of course middlebox issues.

You need to know whether the other side supports the new protocol either
way. You save only the extra legacy TCP exchange for legacy backup.

As to middleboxes, good luck - I can't see any option-based system that
a middlebox won't mess up.

>> 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.
> 
> How am I redefining it for everyone? I only execute the new semantics
> when both ends support them. (Remember that for the purposes of this
> sub-discussion I'm assuming that the applications at both ends have
> opted in to address agility etc.) This is no different from the TCP
> window scale option, in my opinion.

I think you're assuming that if the transport protocols agree, the
applications are OK with using the new semantics. I'm not.

You'd get application buy-in by making this default-off, with an option
to turn it on. I suspect many on this list won't accept that solution,
because:
	a) it means no benefit for legacy apps that aren't
	revised to support the new protocol

	b) if you have to revise the app, you might as well have
	it use a new protocol altogether.

>> Given it's place as a core protocol, I don't think redefining semantics
>> ought to be on the table.
> 
> If we can redifine bits in the IP header with not even an opt in from
> the original sender of the packet (diffserv) why not TCP semantics...

Because IP is best effort, and diffserv doesn't break "best effort"
semantics.

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

iEYEARECAAYFAksm3YYACgkQE5f5cImnZrspNQCfVP8pb19pa1GjsoFVJ+g23YaU
UzkAmgLkUSMFdUdLbOpvL6RdPCbO4Txr
=oyKw
-----END PGP SIGNATURE-----