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

Yoshifumi Nishida <nishida@sfc.wide.ad.jp> Fri, 03 June 2016 03:03 UTC

Return-Path: <nishida@sfc.wide.ad.jp>
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 B2C0312B01E; Thu, 2 Jun 2016 20:03:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.326
X-Spam-Level:
X-Spam-Status: No, score=-3.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-1.426, SPF_PASS=-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 MLnOKRrhIVHn; Thu, 2 Jun 2016 20:03:54 -0700 (PDT)
Received: from mail.sfc.wide.ad.jp (shonan.sfc.wide.ad.jp [IPv6:2001:200:0:8803::53]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3055612D1A0; Thu, 2 Jun 2016 20:03:49 -0700 (PDT)
Received: from mail-yw0-f182.google.com (mail-yw0-f182.google.com [209.85.161.182]) by mail.sfc.wide.ad.jp (Postfix) with ESMTPSA id AA57C278638; Fri, 3 Jun 2016 12:03:47 +0900 (JST)
Received: by mail-yw0-f182.google.com with SMTP id h19so68965135ywc.0; Thu, 02 Jun 2016 20:03:47 -0700 (PDT)
X-Gm-Message-State: ALyK8tKIsaRk6bBVEi/DL6D8Jfdf2r9+erlWcAoTbQsrGrZql7s6akHEZmFt2jSOpB4UpAY0usEFvlwBimAvCQ==
MIME-Version: 1.0
X-Received: by 10.37.223.5 with SMTP id w5mr902364ybg.139.1464923026221; Thu, 02 Jun 2016 20:03:46 -0700 (PDT)
Received: by 10.13.196.3 with HTTP; Thu, 2 Jun 2016 20:03:46 -0700 (PDT)
In-Reply-To: <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> <787AE7BB302AE849A7480A190F8B933008D8DAAC@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
Date: Thu, 02 Jun 2016 20:03:46 -0700
X-Gmail-Original-Message-ID: <CAO249yeu2CJ0-hgezUqoc22ijcv1sh86GOLuxFimK4evP5R+pg@mail.gmail.com>
Message-ID: <CAO249yeu2CJ0-hgezUqoc22ijcv1sh86GOLuxFimK4evP5R+pg@mail.gmail.com>
From: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>
To: mohamed.boucadair@orange.com
Content-Type: multipart/alternative; boundary="94eb2c089a9299f67f053456f832"
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/yxxfTR3mOBuX7Dw4YFwYR9U_dYg>
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: Fri, 03 Jun 2016 03:03:59 -0000

Hi Med,

On Mon, May 30, 2016 at 1:48 AM, <mohamed.boucadair@orange.com> wrote:

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

Well, It is still not very clear to me how each UDP packet is mapped to a
mptcp session.
How do you distinguish each UDP packet ? Is it based on 4-tuple or others?
The notion of Internal transport session identifier is a bit ambiguous.
If 4-tuple is not used, how do you construct packets when you send back
them at CPE?


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

hmm, even though it is designed to be used in a certain environment, what
if it is used in other situations?
I personally think the draft is a bit ambiguous on this point.
--
Yoshi