Re: [multipathtcp] A proposal for MPTCP Robust session Establishment (MPTCP RobE)

"Zuojing (2012 Laboratories)" <jing.zuo@huawei.com> Thu, 13 July 2017 03:32 UTC

Return-Path: <jing.zuo@huawei.com>
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 51C5012700F for <multipathtcp@ietfa.amsl.com>; Wed, 12 Jul 2017 20:32:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 zSnq0HGbXGXC for <multipathtcp@ietfa.amsl.com>; Wed, 12 Jul 2017 20:32:54 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EDA9C120725 for <multipathtcp@ietf.org>; Wed, 12 Jul 2017 20:32:53 -0700 (PDT)
Received: from 172.18.7.190 (EHLO LHREML710-CAH.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DQZ94716; Thu, 13 Jul 2017 03:32:52 +0000 (GMT)
Received: from DGGEMM406-HUB.china.huawei.com (10.3.20.214) by LHREML710-CAH.china.huawei.com (10.201.108.33) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 13 Jul 2017 04:32:50 +0100
Received: from DGGEMM508-MBX.china.huawei.com ([169.254.2.19]) by DGGEMM406-HUB.china.huawei.com ([10.3.20.214]) with mapi id 14.03.0301.000; Thu, 13 Jul 2017 11:32:43 +0800
From: "Zuojing (2012 Laboratories)" <jing.zuo@huawei.com>
To: "Olivier.Bonaventure@uclouvain.be" <Olivier.Bonaventure@uclouvain.be>, "Markus.Amend@telekom.de" <Markus.Amend@telekom.de>, "multipathtcp@ietf.org" <multipathtcp@ietf.org>
Thread-Topic: [multipathtcp] A proposal for MPTCP Robust session Establishment (MPTCP RobE)
Thread-Index: AdL5l2p+5KDR4ahqRJeh9onNd2ThSgBbU6KAAB/B3eA=
Date: Thu, 13 Jul 2017 03:32:42 +0000
Message-ID: <4AD902A48032F745A3D7866E6CAE8CB0655C9CCB@dggemm508-mbx.china.huawei.com>
References: <64f1b27aee214f6b99b5c474158d7426@HE105686.emea1.cds.t-internal.com> <e51005d7-23dd-d10e-9c8f-27ef155461b1@uclouvain.be>
In-Reply-To: <e51005d7-23dd-d10e-9c8f-27ef155461b1@uclouvain.be>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.74.163.229]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020202.5966E9E4.0085, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.2.19, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 28985a4584a51e357fa1214f5dcb7b44
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/y4SeUK4wySnqsZTB7Y31DgvUsps>
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: Thu, 13 Jul 2017 03:32:56 -0000

Hi, Olivier and Markus,

I meet the same problem that the connection establishment fails due to weak WiFi signal although LTE is good.
The HappyEyeBalls is a good solution that we do not need modify the MPTCP. However, it requires the enhancement of the applications, as you mentioned. 
How about if the application does not support the enhancement, since we can't control the design of applications? 
I am considering that we may modify the MPTCP, e.g., let the MPTCP stack open two separate connections with indicated network IP addresses instead of the applications do. Moreover, this solution does not increase as much complexity as 'Duplicate SYN' does. Instead, the duplicate SYNs are sent to build two separate MPTCP connections without modifying the process of MPTCP connection establishment. How do you think?

Kind regards,
Jing
  

> -----Original Message-----
> From: multipathtcp [mailto:multipathtcp-bounces@ietf.org] On Behalf Of
> Olivier Bonaventure
> Sent: Thursday, July 13, 2017 3:48 AM
> To: Markus.Amend@telekom.de; multipathtcp@ietf.org
> Subject: Re: [multipathtcp] A proposal for MPTCP Robust session Establishment
> (MPTCP RobE)
> 
> 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 mailing list
> multipathtcp@ietf.org
> https://www.ietf.org/mailman/listinfo/multipathtcp