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

David Allan I <david.i.allan@ericsson.com> Sat, 04 June 2016 00:46 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 D797712D189 for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 17:46:55 -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 OfSWX5otMvzF for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 17:46:53 -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 ADEA712B024 for <multipathtcp@ietf.org>; Fri, 3 Jun 2016 17:46:53 -0700 (PDT)
X-AuditID: c618062d-f79886d000002334-59-57521bf20d22
Received: from EUSAAHC007.ericsson.se (Unknown_Domain [147.117.188.93]) by usplmg20.ericsson.net (Symantec Mail Security) with SMTP id 2F.EB.09012.2FB12575; Sat, 4 Jun 2016 02:08:18 +0200 (CEST)
Received: from EUSAAMB105.ericsson.se ([147.117.188.122]) by EUSAAHC007.ericsson.se ([147.117.188.93]) with mapi id 14.03.0294.000; Fri, 3 Jun 2016 20:46:52 -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//8MR0IAAcJ6A//++24AACYcrAAAGzyCg
Date: Sat, 04 Jun 2016 00:46:52 +0000
Message-ID: <E6C17D2345AC7A45B7D054D407AA205C4BCF6126@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> <E6C17D2345AC7A45B7D054D407AA205C4BCF5D99@eusaamb105.ericsson.se> <57520E71.3010903@isi.edu> <E6C17D2345AC7A45B7D054D407AA205C4BCF6074@eusaamb105.ericsson.se> <575217BC.4090105@isi.edu>
In-Reply-To: <575217BC.4090105@isi.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [147.117.188.12]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRmVeSWpSXmKPExsUyuXRPrO4n6aBwg419UhZvG+4xWXxefZ3N YnbvaRaLdX/msjiweDydcJDJY8mSn0weu99vZfG42zWTOYAlissmJTUnsyy1SN8ugStj8vId jAVTbCpuTpjO3sD4Sr+LkZNDQsBE4tzmt6wQtpjEhXvr2boYuTiEBI4ySjz/fpsVwlnGKNHc uJ0FpIpNwEBiz/8vjCC2iECcxPw1P8BsZiD74Npb7CC2sIC9xI9dM9ggahwk/qw7wwph50mc fvSaGcRmEVCR6P/5CKyeV8BX4vGSqWDzhQSmskicb4gFsTkF1CW27n4NNp8R6Lrvp9YwQewS l7j1ZD4TxNUCEkv2nGeGsEUlXj7+B/WNksSc19eYIep1JBbs/sQGYWtLLFsIcQOvgKDEyZlP WCYwis1CMnYWkpZZSFpmIWlZwMiyipGjtLggJzfdyGATIzCejkmw6e5gvD/d8xCjAAejEg/v g7+B4UKsiWXFlbmHGCU4mJVEeK8oB4UL8aYkVlalFuXHF5XmpBYfYpTmYFES5xV7pBguJJCe WJKanZpakFoEk2Xi4JRqYJx66K7riptX/q991bDX4vtBvYVcPi80PrW9FL69nLV0/XrjHuXt qzJlnmV1XkorYLZTFcnzfm3l5R796EhArVeR1sxNYfduc7HsOptzM6P00HdZTrWwuj/+kpz2 u1ne5WV4nZv+5M7+pg6mKVxvu7/4li6vczcyWyh837boyZbtL2/qPz4sdl2JpTgj0VCLuag4 EQB9wZoqowIAAA==
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/DZ_YE6bXvxz3R00_LYxCAk3Z3Qs>
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: Sat, 04 Jun 2016 00:46:56 -0000

And when I thought I was done for the weekend :-) I've enjoyed the discussion, so just one more :-) 

> <snipped>
>> 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?
> The difference needs to be on significantly different timescales. Sure, a deployment might work if the tunnel is 1/10 or 1/100 the E2E RTT, but you can't know that for the tunneled traffic. It's safer to run congestion feedback on the tunnel at 10x (or some value bigger than) the largest RTT that can ever occur.
>
> DA3> I think we are talking past each other here. I'm not sure quite what you're arguing other than it is not TCP with the rationale being timescales.  IMO the largest RTT that can occur is irrelevant (and I believe you are discussing E2E). And the ratio of E2E to tunnel is also a don't care as near as I can tell.  My best guess is you think TCP RTT measurement timescales for the tunnel itself is inadequate. Is that correct?

I think that if the routing algorithm uses TCP timescales to shift and the E2E traffic uses TCP timescales to backoff, the two will interact in bad ways.

DA4> I can understand that for dissimilar algorithms (like TCP over ATM-ABR).

When I say "RTT" for the tunnel congestion, I should have been more clear - I'm talking about the timescales on which the traffic load balancing picks different paths. That's not RTT, but it's a similar kind of cycle time.

DA4> In the context of the solution you've been discussing, there is measurement time, and the arrival rate which can be striped when compared to the delta of individual path latencies. I would have to believe you need to measure that frequently in the context that an ordering guarantee is a single ended function with no redress.

DA4> That is where I would lean to a double ended function, I can actually offer the guarantee , and can stripe traffic across a greater disparity in path throughput vs. shutting striping down past a certain threshold in disparity. Which when considering how asymmetric DSL is, becomes a rather large benefit IMO.

...

>>> - 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.
> Some radios do, some do not. Packets are lost in a lot of different places, including routers.
>
> The fact that IP is "best effort" isn't dogma; it's the one of its defining properties.
> DA3> Therefore in your world a link or path that provides a reliable transport service is not allowed.  I would say at best you could argue that it is redundant. I'd simply describe it as an artifact of other technical choices.

My view is that tunnel ARQ is an expensive choice and applicable in only a very specialized set of environments. I don't see that sort of specific environment being the intended use case for this approach.
DA4> Well for your approach, yes. As per my summary above

...
>> 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. 
> First, anything that uses IP and treats misordering as an error is itself broken. IP is best effort and doesn't guarantee in-order delivery. However, as noted, there are mechanisms to reduce the reordering at the egress collection point, esp. for striped paths.
> DA3> It may not treat it as an error, but it does treat it as far more 
> DA3> than a minor inconvenience.  Ask the vendor whose initial OC-192 
> DA3> interfaces did not provide ordered transmission. (dumb striping 
> DA3> across concatenated OC48s)

OC192 provides SONET service, where reordering is not permitted (at least not outside the jitter specified for a connection).

IP is a different service with different expectations.

DA4> You missed my point, there was a router that misordered packets and caused much unhappiness. All the deployed blades needed to be replaced IIRC. Yes end systems will tolerate it, but not as a way of life.


>
> <snipped>
>
>> 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?
> Not necessarily; I'm saying that MPTCP comes bundled with one solution that fits its use for two TCP endpoints. That need not be the best solution when used as a tunnel. And - more to the point - we already have a wide variety of those solutions.
>
> DA3> Ahh, then if I understand you, you are objecting to the need for functionality at both ends of the tunnel vs. just decap at one end.

There's functionality at both ends of the tunnel in both approaches.

I'm objecting to the use of TCP (any form of TCP) to tunnel IP traffic.
DA4> I gathered that!


>
> <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?
> The way in which the routing protocols are tuned for core vs edge operation may certainly vary. The routing protocol solution gives you exactly the flexibility to make that decision and adjust as needed.
>
> DA3> I'm not sure why you keep calling it a routing protocol solution when it is simply forwarding and some ongoing supervision to tell you when striping is not a good idea. 
>
> 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.
>
>  MPTCP needs a spec to indicate how to tunnel. The existing solution uses existing tunnel mechanisms and existing routing protocols, but needs no new spec.
>
> DA3> It sounds like it also needs "experience" to know how to tune it. 

First, we already have a lot of that experience (this isn't anywhere near a new issue).

DA4> SO I understand :-)

Second, at least you can tune the dynamic routing variant. MPTCP doesn't have that option unless you rewrite that spec too.

DA4> Any HA solution will have policy as the economics of using each interface are different. So both solutions will have overall very similar options when the dust settles.

> Both then need to be deployed, and yes - that's work.
>
> DA3> Agreed
>
> Have a good weekend

+1 and cheers...

DA4> cheers as well
Dave