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

David Allan I <david.i.allan@ericsson.com> Fri, 03 June 2016 22:03 UTC

Return-Path: <david.i.allan@ericsson.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 A49EC12D887 for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 15:03:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, 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 DDJ7Ms_dVrSk for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 15:03:51 -0700 (PDT)
Received: from usplmg20.ericsson.net (usplmg20.ericsson.net [198.24.6.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2E2D612D831 for <multipathtcp@ietf.org>; Fri, 3 Jun 2016 15:03:51 -0700 (PDT)
X-AuditID: c618062d-f79886d000002334-2d-5751f5bc6c54
Received: from EUSAAHC005.ericsson.se (Unknown_Domain [147.117.188.87]) by usplmg20.ericsson.net (Symantec Mail Security) with SMTP id 0C.37.09012.CB5F1575; Fri, 3 Jun 2016 23:25:17 +0200 (CEST)
Received: from EUSAAMB105.ericsson.se ([147.117.188.122]) by EUSAAHC005.ericsson.se ([147.117.188.87]) with mapi id 14.03.0294.000; Fri, 3 Jun 2016 18:03:48 -0400
From: David Allan I <david.i.allan@ericsson.com>
To: Joe Touch <touch@isi.edu>, "Markus.Brunner3@swisscom.com" <Markus.Brunner3@swisscom.com>
Thread-Topic: [multipathtcp] draft-boucadair-mptcp-plain-mode-07
Thread-Index: AQHRvDS2BAjEk24HX0GvN2aAbwiqtZ/WbT4QgAEt+QCAAKgEgP//3hoggABP7AD//8MR0A==
Date: Fri, 03 Jun 2016 22:03:47 +0000
Message-ID: <E6C17D2345AC7A45B7D054D407AA205C4BCF5D99@eusaamb105.ericsson.se>
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> <5751E316.4010105@isi.edu>
In-Reply-To: <5751E316.4010105@isi.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [147.117.188.9]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnkeLIzCtJLcpLzFFi42KZXLonXHfv18Bwg21zBSzeNtxjsvi8+jqb xeze0ywW6/7MZXFg8Xg64SCTx5IlP5k8dr/fyuJxt2smcwBLFJdNSmpOZllqkb5dAldGw/8P bAUHNSruzPnM2MC4VaGLkZNDQsBE4s36PewQtpjEhXvr2boYuTiEBI4yShz9/YgJJCEksIxR 4tujChCbTcBAYs//L4wgtohAnMT8NT/AbGYg++DaW2CDhAXsJX7smsEGUeMg8WfdGdYuRg4g O0zi1VpjkDCLgIpE8+mVYCW8Ar4S277NZYHYe5lJ4v+i46wgCU4BdYmzl3vAihiBjvt+ag0T xC5xiVtP5jNBHC0gsWTPeWYIW1Ti5eN/rBC2osS+/unsEPU6Egt2f2KDsLUlli18zQyxWFDi 5MwnLBMYxWYhGTsLScssJC2zkLQsYGRZxchRWlyQk5tuZLCJERhNxyTYdHcw3p/ueYhRgINR iYc3YU1AuBBrYllxZe4hRgkOZiUR3pafgeFCvCmJlVWpRfnxRaU5qcWHGKU5WJTEecUeKYYL CaQnlqRmp6YWpBbBZJk4OKUaGC3fibWLHgxm0RaOtCjq/VNgv1m7SGr5x4LezOr6qGTVYtvv Dxpn6W16WHraJv710fXJ12ZmcMuYbznTeGv5hmf1/9auusbJqVSVqLY2effq/T/lwsTLHZQL NS3evJJa79n5soxpRo3VicQNnnoq3p4fpvyzeff6Z5nxSfGGhQ3+v0vNNkkeVGIpzkg01GIu Kk4EAOsPHrqiAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/D6pdbfgDgK1GWlVtvl9gLniB6v0>
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 22:03:53 -0000

Hello again:

Replies in line "DA2>" and some snips to eliminate clutter....

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

DA2> As the tunnel leg would have a different RTT, would that not be true by definition?

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

DA2> Understood, but true of any fragmentation mechanism. 

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

DA2> unfortunately that sounds like dogma to me. You already have the underlying radio layers correcting loss for the on-air interface portion.

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

DA2> It takes a little FEC to fix a bit error, it takes a lot to reconstruct a missing packet. The mode of failure for a path is packet loss. So I do not really see FEC as a starter.

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.

DA2> No IP does not require ordered delivery from the network. But if it was a way of life rather than a rare event it would be a problem. Poorly done striping of traffic across heterogeneous links with very dynamic transfer characteristics would result in a lot of "out of order" receipt to correct. 

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

DA2> Load monitoring or load spreading.  I do not understand why you would want a configurable monitoring function.?

> - it can use only one traffic distribution mechanism (the one 
> built-in)
> DA> If you are saying it is "implementation constrained", well go 
> DA> 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.

DA2> You are looking for an a la carte menu of functions?

> 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

DA2> OK, I see where you are going..... 
<snipped>

DA2> So for mechanisms that age out assignment of load spreading buckets, that is great for the core. But at the edge with very few flows, and the arrival rate I approaching link rate it strikes me that there is only a fairly narrow range of operation in which I could successfully stripe across all uplinks safely. Is that your take as well?

DA2> Now your original assertion was that for MPTCP, something needed to be invented, whereas for dynamic multipath nothing new was required.  From what I have gleaned from this conversation is that both require specification to produce a workable solution.

Dave