Re: [multipathtcp] draft-boucadair-mptcp-plain-mode-07

<mohamed.boucadair@orange.com> Mon, 30 May 2016 08:48 UTC

Return-Path: <mohamed.boucadair@orange.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 5A90612D1A0; Mon, 30 May 2016 01:48:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.618
X-Spam-Level:
X-Spam-Status: No, score=-2.618 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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 9KCrijSnfaoR; Mon, 30 May 2016 01:48:56 -0700 (PDT)
Received: from relais-inet.francetelecom.com (relais-ias91.francetelecom.com [193.251.215.91]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0073012D120; Mon, 30 May 2016 01:48:55 -0700 (PDT)
Received: from omfedm05.si.francetelecom.fr (unknown [xx.xx.xx.1]) by omfedm11.si.francetelecom.fr (ESMTP service) with ESMTP id D3E523B4460; Mon, 30 May 2016 10:48:53 +0200 (CEST)
Received: from Exchangemail-eme2.itn.ftgroup (unknown [10.114.31.66]) by omfedm05.si.francetelecom.fr (ESMTP service) with ESMTP id A364F35C05A; Mon, 30 May 2016 10:48:53 +0200 (CEST)
Received: from OPEXCLILMA3.corporate.adroot.infra.ftgroup ([fe80::60a9:abc3:86e6:2541]) by OPEXCLILMA1.corporate.adroot.infra.ftgroup ([fe80::95e2:eb4b:3053:fabf%19]) with mapi id 14.03.0294.000; Mon, 30 May 2016 10:48:52 +0200
From: mohamed.boucadair@orange.com
To: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>, Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
Thread-Topic: [multipathtcp] draft-boucadair-mptcp-plain-mode-07
Thread-Index: AdGyWviLMJyWTP3NRLeXff5sM+09MwD6x+gAAADSjoAAL4UoAADR1pxQ
Date: Mon, 30 May 2016 08:48:51 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B933008D8DAAC@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
References: <787AE7BB302AE849A7480A190F8B933008D847E7@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <CAO249yekw+kXPcwW5GrRTvDg58UUrQwXzdpt41aaG4BwQSca-A@mail.gmail.com> <db20ba55-b81f-87eb-12b7-46f271d6c258@uclouvain.be> <CAO249yc6pDWHN51x8TKS6HXLACcYQQUbzxcZ_heSsz_EWxPZOQ@mail.gmail.com>
In-Reply-To: <CAO249yc6pDWHN51x8TKS6HXLACcYQQUbzxcZ_heSsz_EWxPZOQ@mail.gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.168.234.3]
Content-Type: multipart/alternative; boundary="_000_787AE7BB302AE849A7480A190F8B933008D8DAACOPEXCLILMA3corp_"
MIME-Version: 1.0
X-PMX-Version: 6.2.1.2478543, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.4.25.91516
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/86wKTbWLYzVOEqCUl0QBW-70-1A>
Cc: MultiPath WG <multipathtcp@ietf.org>, "draft-boucadair-mptcp-plain-mode@ietf.org" <draft-boucadair-mptcp-plain-mode@ietf.org>
Subject: Re: [multipathtcp] draft-boucadair-mptcp-plain-mode-07
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.17
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: Mon, 30 May 2016 08:48:59 -0000

Hi Yoshi,

Please see inline.

Cheers,
Med

De : Yoshifumi Nishida [mailto:nishida@sfc.wide.ad.jp]
Envoyé : jeudi 26 mai 2016 08:31
À : Olivier Bonaventure
Cc : Yoshifumi Nishida; BOUCADAIR Mohamed IMT/OLN; MultiPath WG; draft-boucadair-mptcp-plain-mode@ietf.org
Objet : Re: [multipathtcp] draft-boucadair-mptcp-plain-mode-07

Hi Olivier,

On Wed, May 25, 2016 at 12:50 AM, Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be<mailto:Olivier.Bonaventure@uclouvain.be>> wrote:
Yoshifumi,

I might want to see more feedback before the adoption call.
I've read the draft, but I think I still have some unclear points in the
draft.

I particularly would like to understand the following points as starting
point. Please let me know if I miss something.

1: This method requires CPEs to convert UDP or TCP into MPTCP and
requires Concentrators to convert back MPTCP into UDP or TCP. This could
be rather complex process than other approach such as GRE. So, what's
the benefits to utilize MPTCP here? I think the draft should describe
some useful scenarios to use MPTCP.

There is already operational experience with this type of solution and it turns out that using MPTCP to support TCP traffic in hybrid access networks is a much better approach than using a tunneling technique like GRE. In an hybrid access network such as DSL+LTE, there are two types of problems that need to be tackled :

1. How to hide the different addresses used on the DSL and LTE networks
2. How to achieve efficient load balancing over networks having different characteristics (delay, bandwidth, packet losses) that change dynamically

GRE solves the first problem in a clean manner. However, it causes two issues when you consider the second problem :

a. Since paths have different delays, doing per packet load balancing creates massive reording that results in bad TCP performance
b. Since the two underlying paths are hidden by encapsulation, TCP's congestion control scheme cannot probe the different paths and adjust ths congestion window correctl. This results in bad TCP performance as well.

An MPTCP-based solution solves these problems in a clean manner since MPTCP sees the different paths and can use them efficiently.

You can find some additional information in the Tessares whitepaper published last year

http://www.tessares.net/white-papers/

There is already operational experience with this type of MPTCP-based solutions and if you think that this would be useful, we could organise a presentation at the next IETF meeting on this experience

I think I understand general idea.
But, as far as I read the draft, I got an impression that a UDP or a TCP flow will be mapped to a single subflow of a mptcp session.

[Med] The draft says the following:

Section 5.1:


The data carried in UDP datagrams belonging to

   a given UDP flow are therefore transported in an MPTCP connection.



   The management of MPTCP connections that are triggered by UDP

   datagrams follows the guidelines documented in [RFC6824<https://tools.ietf.org/html/rfc6824>].

Section 5.2:

   A flow example is shown in Figure 5 to illustrate how TCP packets are
   generated to relay UDP datagrams using several subflows.  Non-SYN
   messages that belong to a given subflow do not include any PM option.
   Also, this example shows how subsequent UDP datagrams of this flow
   are transported over the existing subflow or how a new subflow is
   created.  In this example, the SYN segment issued to add a new
   subflow also includes data received in a UDP datagram.

and


   Figure 6 shows an example of UDP datagrams that are transported over

   MPTCP subflows.  Unlike the previous example, additional subflows to

   transport UDP datagrams of the same flow are established in advance

   between the CPE and the concentrator.

Do you think additional text is needed to make it clear? Thank you.

There is no description about using multiple subflows for a single TCP/UDP flow, or updating subflow mappings in the middle of a session.

[Med] Please refer to Figures 5 & 6.

I think the draft should mention these cases.


2: Including data in SYN is allowed in RFC793, but I'm not very sure how
many implementations actually accept it.

Well, the deployment of TFO shows that this is possible.
I think the draft should
discuss this point. Also, what will happen if PM option is included in
the payload, but it is removed by the middleboxes?

The assumption is that this solution will be deployed in controlled environments and only used between the CPE and the Concentrator. Since the operator controls the two networks that are bound together, he can verify that there are no middleboxes that drop the PM option.

Hmm. then, I think these presumptions should be listed in the draft.

[Med] These assumptions are already called out in the draft, e.g.,

Section 1:


Also, it assumes the various

   network attachments provided to an MPTCP-enabled CPE are managed by

   the same administrative entity.

Section 4.2:


Given

      that this option is designed to be used in a controlled

      environment, this specification recommends to always place the PM

      options inside the payload of a SYN segment.

Do you think additional text is still required?