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

Joe Touch <touch@isi.edu> Fri, 03 June 2016 20:16 UTC

Return-Path: <touch@isi.edu>
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 7EB1012D7FC for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 13:16:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.326
X-Spam-Level:
X-Spam-Status: No, score=-8.326 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.426] 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 zHhJCiiFBM16 for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 13:16:40 -0700 (PDT)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B697812D7FF for <multipathtcp@ietf.org>; Fri, 3 Jun 2016 13:16:40 -0700 (PDT)
Received: from [128.9.184.224] ([128.9.184.224]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id u53K5jt4005641 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Fri, 3 Jun 2016 13:05:45 -0700 (PDT)
To: David Allan I <david.i.allan@ericsson.com>, "Markus.Brunner3@swisscom.com" <Markus.Brunner3@swisscom.com>
References: <CAC8QAccht1nMP95HVdP6YcqJfxNryvDbhaK=LY0LcW5-JKM82A@mail.gmail.com> <836B90ED-2110-4F0F-86CB-7B12C0C4D1E8@swisscom.com> <57506A37.60502@isi.edu> <7262010A-DC38-4BDC-9965-658679D351D9@swisscom.com> <5751BC7B.1050902@isi.edu> <E6C17D2345AC7A45B7D054D407AA205C4BCF59ED@eusaamb105.ericsson.se>
From: Joe Touch <touch@isi.edu>
Message-ID: <5751E316.4010105@isi.edu>
Date: Fri, 03 Jun 2016 13:05:42 -0700
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2
MIME-Version: 1.0
In-Reply-To: <E6C17D2345AC7A45B7D054D407AA205C4BCF59ED@eusaamb105.ericsson.se>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/hCIGsW19nR59-h8btYO9dDWitPI>
Cc: "multipathtcp@ietf.org" <multipathtcp@ietf.org>, "sarikaya@ieee.org" <sarikaya@ieee.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 20:16:42 -0000


On 6/3/2016 12:29 PM, David Allan I wrote:
> Hi Joe:
>
> Comments below prefaced by DA>
>
> ...
> Perhaps, but MPTCP is the wrong solution for an IP tunnel for many reasons:
>
> - it will layer congestion control on top of congestion control for all transports in the payload IP that already support it (which they should)
> DA> Would that not be true of any tunnel mechanism that used feedback of the tunnel leg as well as the e2e application?

They might use a different sort of congestion feedback, one that isn't
"TCP-compatible". That's actually desirable here - i.e., having
congestion reaction happen over different timescales than TCP.

> - it fails to preserve payload IP messages inside a single TCP segment, which increases loss due to a lack of fate-sharing and increases latency and jitter
> DA> I apologize for not getting your point here.
When you write a buffer to TCP, TCP has no obligation to preserve that
as sitting inside a single TCP segment. TCP does not preserve these
message boundaries.

If your message spans multiple TCP segments, then you depend on BOTH of
them arriving. The probability of losing one or more of two segments is
higher than the probability of losing only one segment. That's the
fate-sharing part - you end up taking a RTT to recover (just like if you
lost the IP packet) when either TCP segment fails to arrive. That loss
recovery increases delay and jitter.


> - by recovering from loss, it increases latency and jitter
> DA> AFAIK, any loss does that irrespective of the delivery mechanism. In the hybrid access case you are correcting loss with a smaller RTT are you not?
You don't need to correct losses for an IP tunnel. You want to reduce
their probability, but you definitely don't want to stop the stream and
recover. IP is allowed to lose packets. The loss recovery should happen E2E.

If you have high random loss on a path you might employ FEC, which would
increase delay but in a fixed way.

If you really do want ARQ loss recovery on a sub-path, then you can
decide whether to implement that or not. However, you don't want to
force that recovery all the time nor do you want to couple it with
strict reordering - which IP does not require.

> - it can use only one load monitoring mechanism (the one built-in)
> DA> How many did you want?
Maybe you want a variant that isn't already inside MPTCP. The point is
that the load monitoring mechanism isn't configurable or easily replaced.

> - it can use only one traffic distribution mechanism (the one built-in)
> DA> If you are saying it is "implementation constrained", well go figure :-) 

No, it's design-constrained. MPTCP isn't designed for plug-replaceable
load detection or traffic distribution. Dynamic multipath routing is
already designed for that.

> That's a lot of baggage vs. just using tunnels and existing dynamic multipath routing -- and the latter doesn't require a new spec.
>
> DA> Can you point me to the feedback mechanisms embodied in making dynamic multipath work? 

http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/5212-46.html

> And if you are striping flows across multiple paths (absolute requirement in my application), any indication of how successful this is in minimizing the residence time of packets in the reordering function?
http://www.sigcomm.org/node/2597

> DA> If all we are talking about is a slightly smarter ECMP , IMO it does not cut it.

So you want something dumber than ECMP?

Joe