Re: [multipathtcp] High-level design decisions /architecture
Joe Touch <touch@ISI.EDU> Tue, 10 November 2009 00:43 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 21A3E3A69A4 for <multipathtcp@core3.amsl.com>; Mon, 9 Nov 2009 16:43:34 -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 lDqaQ0rzKLqm for <multipathtcp@core3.amsl.com>; Mon, 9 Nov 2009 16:43:33 -0800 (PST)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) by core3.amsl.com (Postfix) with ESMTP id 3FF8B3A6999 for <multipathtcp@ietf.org>; Mon, 9 Nov 2009 16:43:33 -0800 (PST)
Received: from [133.93.24.140] (host-24-140.meeting.ietf.org [133.93.24.140]) (authenticated bits=0) by nitro.isi.edu (8.13.8/8.13.8) with ESMTP id nAA0gsW6019677 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 9 Nov 2009 16:42:56 -0800 (PST)
Message-ID: <4AF8B70E.90908@isi.edu>
Date: Mon, 09 Nov 2009 16:42:54 -0800
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: William Herrin <bill@herrin.us>
References: <4A916DBC72536E419A0BD955EDECEDEC06363A62@E03MVB1-UKBR.domain1.systemhost.net> <3c3e3fca0911021328h2ef65493v9f0290f384f7b800@mail.gmail.com> <2181C5F19DD0254692452BFF3EAF1D6808C85178@rsys005a.comm.ad.roke.co.uk> <4AF09EA5.9030308@isi.edu> <3c3e3fca0911041219o5ddea192h297afa82882992e3@mail.gmail.com>
In-Reply-To: <3c3e3fca0911041219o5ddea192h297afa82882992e3@mail.gmail.com>
X-Enigmail-Version: 0.96.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-MailScanner-ID: nAA0gsW6019677
X-ISI-4-69-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
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, 10 Nov 2009 00:43:34 -0000
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Bill, Sorry; this appears to have found a dusty corner of my mailbox. Here's a late reply... William Herrin wrote: > On Tue, Nov 3, 2009 at 5:20 PM, Joe Touch <touch@isi.edu> wrote: >> TCP negotiates all options during the SYN - that's the only 'handshake' >> there is. TCP does not define option negotiation after connection >> establishment. >> >> I.e., you can decide to start the separate connections later, but you >> need to negotiate support for the option during the SYN. > > Hi Joe, > > I assume that's a convention rather than a hard protocol requirement. > Something previous folks working in the space have deemed a "wise > idea" rather than a "all these things will break if we don't" kind of > thing, yes? It's an artifact of how TCP works. > Is there a good discussion on this somewhere so I can read up on the > rationale that brought it into being? Since it's an artifact, I don't think there is. The issue is that unknown options are ignored (as per RFC1122). The only time when you can find out if an option is supported in a way that you know will preceded all other segments is to put it in the SYN. If you put it in a later segment, you don't know when the segment will be received. Here's the problem, when A sends to B (assuming the connection is already open): A sends segment #223 with option X presuming this is the first segment A sends with option X Does A stop sending segments beyond 223 until option X is ACK'd? This violates window processing. If A sends segment 224 with option X, and B receives segment 224 before 223, it MUST ignore option X. So you can't put in a new option that has a required effect or is confirmed; there's no way to 'stop the stream' until the endpoints sync. The only times the endpoints sync is during the SYN. Joe -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) iEYEARECAAYFAkr4tw4ACgkQE5f5cImnZrtwUQCePEad3ORuBWIHvD4BX60FbwIC k2QAnAm1YF4AQj0C627K0T58UMmH/Po+ =w476 -----END PGP SIGNATURE-----
- [multipathtcp] High-level design decisions /archi… philip.eardley
- Re: [multipathtcp] High-level design decisions /a… marcelo bagnulo braun
- Re: [multipathtcp] High-level design decisions /a… William Herrin
- Re: [multipathtcp] High-level design decisions /a… marcelo bagnulo braun
- Re: [multipathtcp] High-level design decisions /a… William Herrin
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Mark Handley
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Lars Eggert
- Re: [multipathtcp] High-level design decisions /a… Yoshifumi Nishida
- [multipathtcp] This shim6 part of the answer (was… marcelo bagnulo braun
- [multipathtcp] The MPTCP part (was Re: High-level… marcelo bagnulo braun
- Re: [multipathtcp] High-level design decisions /a… marcelo bagnulo braun
- Re: [multipathtcp] High-level design decisions /a… Scott Brim
- Re: [multipathtcp] High-level design decisions /a… Scott Brim
- Re: [multipathtcp] High-level design decisions /a… Scott Brim
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Costin Raiciu
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Mark Handley
- Re: [multipathtcp] High-level design decisions /a… Costin Raiciu
- Re: [multipathtcp] High-level design decisions /a… Costin Raiciu
- Re: [multipathtcp] High-level design decisions /a… Ford, Alan
- Re: [multipathtcp] High-level design decisions /a… Ford, Alan
- Re: [multipathtcp] High-level design decisions /a… Ford, Alan
- Re: [multipathtcp] High-level design decisions /a… Scott Brim
- Re: [multipathtcp] High-level design decisions /a… marcelo bagnulo braun
- Re: [multipathtcp] High-level design decisions /a… William Herrin
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Yoshifumi Nishida
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… Mark Handley
- Re: [multipathtcp] High-level design decisions /a… Ford, Alan
- Re: [multipathtcp] High-level design decisions /a… Ford, Alan
- Re: [multipathtcp] High-level design decisions /a… Yoshifumi Nishida
- Re: [multipathtcp] High-level design decisions /a… Costin Raiciu
- Re: [multipathtcp] High-level design decisions /a… philip.eardley
- Re: [multipathtcp] High-level design decisions /a… Lars Eggert
- Re: [multipathtcp] High-level design decisions /a… William Herrin
- Re: [multipathtcp] High-level design decisions /a… Yoshifumi Nishida
- Re: [multipathtcp] High-level design decisions /a… Scott Brim
- Re: [multipathtcp] High-level design decisions /a… Costin Raiciu
- Re: [multipathtcp] High-level design decisions /a… Yoshifumi Nishida
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… William Herrin
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… William Herrin
- Re: [multipathtcp] High-level design decisions /a… Joe Touch
- Re: [multipathtcp] High-level design decisions /a… William Herrin
- Re: [multipathtcp] High-level design decisions /a… Joe Touch