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

Joe Touch <touch@isi.edu> Fri, 03 June 2016 23:50 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 E7FE812D9FF for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 16:50:47 -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 4V6Xivh9TNNB for <multipathtcp@ietfa.amsl.com>; Fri, 3 Jun 2016 16:50:46 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) (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 2CCE312D8FD for <multipathtcp@ietf.org>; Fri, 3 Jun 2016 16:50:39 -0700 (PDT)
Received: from [128.9.184.224] ([128.9.184.224]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id u53NoMnn018762 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Fri, 3 Jun 2016 16:50:23 -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> <5751E316.4010105@isi.edu> <E6C17D2345AC7A45B7D054D407AA205C4BCF5D99@eusaamb105.ericsson.se> <57520E71.3010903@isi.edu> <E6C17D2345AC7A45B7D054D407AA205C4BCF6074@eusaamb105.ericsson.se>
From: Joe Touch <touch@isi.edu>
Message-ID: <575217BC.4090105@isi.edu>
Date: Fri, 03 Jun 2016 16:50:20 -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: <E6C17D2345AC7A45B7D054D407AA205C4BCF6074@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/pVdQkF13Bp_3WKELNyOkp0tjnlM>
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 23:50:48 -0000


On 6/3/2016 4:40 PM, David Allan I wrote:
> Hi 
>
> <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.

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.

...

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

...
>> 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 than a minor inconvenience.  Ask the vendor whose initial OC-192 interfaces did not provide ordered transmission. (dumb striping 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.


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


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

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

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

+1 and cheers...

Joe