Re: [multipathtcp] Multipath deployment and fate sharing

Iljitsch van Beijnum <iljitsch@muada.com> Mon, 14 December 2009 21:01 UTC

Return-Path: <iljitsch@muada.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 B3AEA3A6875 for <multipathtcp@core3.amsl.com>; Mon, 14 Dec 2009 13:01:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[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 EVFzNvMgUvF0 for <multipathtcp@core3.amsl.com>; Mon, 14 Dec 2009 13:01:00 -0800 (PST)
Received: from sequoia.muada.com (unknown [IPv6:2001:1af8:2:5::2]) by core3.amsl.com (Postfix) with ESMTP id 8A4103A68C7 for <multipathtcp@ietf.org>; Mon, 14 Dec 2009 13:01:00 -0800 (PST)
Received: from [192.168.2.11] (static-167-138-7-89.ipcom.comunitel.net [89.7.138.167] (may be forged)) (authenticated bits=0) by sequoia.muada.com (8.13.3/8.13.3) with ESMTP id nBEL0AUj041677 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 14 Dec 2009 22:00:11 +0100 (CET) (envelope-from iljitsch@muada.com)
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset="us-ascii"
From: Iljitsch van Beijnum <iljitsch@muada.com>
In-Reply-To: <4B269FB2.1000008@isi.edu>
Date: Mon, 14 Dec 2009 22:00:39 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <DA2599DF-AD42-4748-AFA4-98DF4531C832@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> <4B269FB2.1000008@isi.edu>
To: Joe Touch <touch@ISI.EDU>
X-Mailer: Apple Mail (2.1077)
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 21:01:01 -0000

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.

>>> 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.

>> 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.

> 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.

> 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...