Re: [multipathtcp] A proposal for MPTCP Robust session Establishment (MPTCP RobE)
Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be> Wed, 12 July 2017 21:17 UTC
Return-Path: <olivier.bonaventure@uclouvain.be>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8B001317B6 for <multipathtcp@ietfa.amsl.com>; Wed, 12 Jul 2017 14:17:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.321
X-Spam-Level:
X-Spam-Status: No, score=-4.321 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=uclouvain.be
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T1RgEGmUtPZS for <multipathtcp@ietfa.amsl.com>; Wed, 12 Jul 2017 14:17:33 -0700 (PDT)
Received: from smtp6.sgsi.ucl.ac.be (smtp.sgsi.ucl.ac.be [130.104.5.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B4B612EC41 for <multipathtcp@ietf.org>; Wed, 12 Jul 2017 14:17:33 -0700 (PDT)
Received: from mbpobo.local (host-78-129-6-94.dynamic.voo.be [78.129.6.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: obonaventure@smtp6.sgsi.ucl.ac.be) by smtp6.sgsi.ucl.ac.be (Postfix) with ESMTPSA id 85E8F67DD15; Wed, 12 Jul 2017 23:17:23 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.9.2 smtp6.sgsi.ucl.ac.be 85E8F67DD15
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uclouvain.be; s=selucl; t=1499894243; bh=gJRzZn56rBpcjzfCf0w4IdB1qQ4OY7YwW18AinHorKc=; h=Reply-To:Subject:To:References:From:Date:In-Reply-To; b=q8kpRTmwaX5AxYHWz82+DECJgqMP53H15eX9FGeL9Y+5zRwFbqICIBL1q1ONb3wg/ t5fI/MaqwV8j0ifzHnqnE4MU19BKINGdugCLNOClEaL014fk1ZZji0fy0oAkiwDIL4 26Z42IQi9SFApfxEB92GIqVWoBTzoX9dC/5Crb60=
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.99.2 at smtp-6
Reply-To: Olivier.Bonaventure@uclouvain.be
To: Markus.Amend@telekom.de, multipathtcp@ietf.org
References: <64f1b27aee214f6b99b5c474158d7426@HE105686.emea1.cds.t-internal.com>
From: Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
Message-ID: <e51005d7-23dd-d10e-9c8f-27ef155461b1@uclouvain.be>
Date: Wed, 12 Jul 2017 21:48:05 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <64f1b27aee214f6b99b5c474158d7426@HE105686.emea1.cds.t-internal.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: fr-classic
Content-Transfer-Encoding: 7bit
X-Sgsi-Spamcheck: SASL authenticated,
X-SGSI-Information:
X-SGSI-MailScanner-ID: 85E8F67DD15.A5B5C
X-SGSI-MailScanner: Found to be clean
X-SGSI-From: olivier.bonaventure@uclouvain.be
X-SGSI-Spam-Status: No
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/Xw7tJQwxoPKHMLM02hlXLtakCuE>
Subject: Re: [multipathtcp] A proposal for MPTCP Robust session Establishment (MPTCP RobE)
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Wed, 12 Jul 2017 21:17:38 -0000
Markus, The problem that you raise is very similar to the HappyEyeBalls solutions that is used by web browsers on dual-stack hosts. The final goal is to make sure that applications can connect quickly to a destination when there are two paths available and one of them is bad. I think that there are two ways to solve this problem : 1. Enhance MPTCP so that MPTCP can support this use case without requiring any modification to the applications 2. Enhance the applications without adding complexity to MPTCP Concerning the first approach, I guess that you solution is to let the server parse through all the received SYN with a given key to check whether this is a dual connection establishment or a regular connection establishment. The limitation of this approach is that server needs to lookup all the keys of the received SYNs (possibly during a given period of time as you mention in your email) everytime it receives a SYN. This increases the SYN processing time on servers and thus the risk of denial of service attacks. It would be interesting to see how your implementation copes with this issue. Note that it requires the presence of a key inside the SYN (as defined in RFC6824). This implies that this is not compatible with RFC6824bis. The second approach has been used successfully with HappyEyeBalls by web browers. It could be integrated in any library or higher level programming language by simply trying to open separate MPTCP connections and reset that one that connects slowly. A kernel implementation could probably also include code to support these parallel establishments of MPTCP connections. This would allow all applications to benefit from this feature, even those that use the C socket API directly. The main benefit of the second approach is that the client is in control. It can delay the transmission of the second SYN as in HappyEyeBalls to avoid doubling unnecessarily the number of SYNs that a server has to process. Since the client is less loaded than the server, it is less an issue to put some complexity (e.g. timers, remembering the best interface, ...) on the client side. If you travel to Prague, I'd be happy to discuss with you. We'll also participate to the hackathon on Sunday if you'd like to discuss about your implementation. Best regards, Olivier
- [multipathtcp] A proposal for MPTCP Robust sessio… Markus.Amend
- Re: [multipathtcp] A proposal for MPTCP Robust se… Olivier Bonaventure
- Re: [multipathtcp] A proposal for MPTCP Robust se… Zuojing (2012 Laboratories)
- Re: [multipathtcp] A proposal for MPTCP Robust se… Olivier Bonaventure
- Re: [multipathtcp] A proposal for MPTCP Robust se… Markus.Amend
- Re: [multipathtcp] A proposal for MPTCP Robust se… Markus.Amend
- Re: [multipathtcp] A proposal for MPTCP Robust se… Markus.Amend
- Re: [multipathtcp] A proposal for MPTCP Robust se… Yoshifumi Nishida
- Re: [multipathtcp] A proposal for MPTCP Robust se… Markus.Amend
- Re: [multipathtcp] A proposal for MPTCP Robust se… Yoshifumi Nishida