Re: [multipathtcp] MPTCP carrying UDP

<mohamed.boucadair@orange.com> Tue, 15 November 2016 16:12 UTC

Return-Path: <mohamed.boucadair@orange.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 E4D0D129493 for <multipathtcp@ietfa.amsl.com>; Tue, 15 Nov 2016 08:12:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.405
X-Spam-Level:
X-Spam-Status: No, score=-3.405 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.497, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, UNPARSEABLE_RELAY=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 maFgq7zY6JxX for <multipathtcp@ietfa.amsl.com>; Tue, 15 Nov 2016 08:12:52 -0800 (PST)
Received: from relais-inet.orange.com (mta241.mail.business.static.orange.com [80.12.66.41]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A4C6412945F for <multipathtcp@ietf.org>; Tue, 15 Nov 2016 08:12:51 -0800 (PST)
Received: from opfedar05.francetelecom.fr (unknown [xx.xx.xx.7]) by opfedar24.francetelecom.fr (ESMTP service) with ESMTP id 82B14C015A; Tue, 15 Nov 2016 17:12:49 +0100 (CET)
Received: from Exchangemail-eme2.itn.ftgroup (unknown [xx.xx.31.66]) by opfedar05.francetelecom.fr (ESMTP service) with ESMTP id 91DF660062; Tue, 15 Nov 2016 17:12:49 +0100 (CET)
Received: from OPEXCLILMA3.corporate.adroot.infra.ftgroup ([fe80::60a9:abc3:86e6:2541]) by OPEXCLILMA1.corporate.adroot.infra.ftgroup ([fe80::95e2:eb4b:3053:fabf%19]) with mapi id 14.03.0319.002; Tue, 15 Nov 2016 17:12:49 +0100
From: <mohamed.boucadair@orange.com>
To: Alan Ford <alan.ford@gmail.com>
Thread-Topic: MPTCP carrying UDP
Thread-Index: AQHSP1itRuQupPIWbkWN6Ohhosi+d6DaM4Sg
Date: Tue, 15 Nov 2016 16:12:48 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B933009DB42B6@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
References: <4d11a19b2b6644848ce79f55cdbd6ab5@rew09926dag03b.domain1.systemhost.net> <787AE7BB302AE849A7480A190F8B933009DB40D0@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <43B3898F-5371-4E61-859A-3610C1EA2FC7@gmail.com>
In-Reply-To: <43B3898F-5371-4E61-859A-3610C1EA2FC7@gmail.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.168.234.1]
Content-Type: multipart/alternative; boundary="_000_787AE7BB302AE849A7480A190F8B933009DB42B6OPEXCLILMA3corp_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/4E-fJfsY4OaX9edP3L3x9-sZ0Sw>
Cc: "multipathtcp@ietf.org" <multipathtcp@ietf.org>, "Markus.Brunner3@swisscom.com" <Markus.Brunner3@swisscom.com>
Subject: Re: [multipathtcp] MPTCP carrying UDP
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: Tue, 15 Nov 2016 16:12:55 -0000

Hi Alan,

Please see inline.

Cheers,
Med

De : Alan Ford [mailto:alan.ford@gmail.com]
Envoyé : mardi 15 novembre 2016 16:55
À : BOUCADAIR Mohamed IMT/OLN
Cc : philip.eardley@bt.com; robert.skog@ericsson.com; Markus.Brunner3@swisscom.com; multipathtcp@ietf.org
Objet : Re: MPTCP carrying UDP

As I said at IETF95 and will say again now, MPTCP provides a TCP service: stream-oriented, reliable, whereas UDP is datagram-oriented, and unreliable.

"Mapping" one to the other cannot be directly done since the transports have fundamentally different semantics.

You can tunnel UDP over TCP, as long as you maintain packet boundaries.
[Med] The proposed design will preserve the packet boundaries since the length of the UDP payload is also placed in the payload of MPTCP messages.

This gains reliability (which may or may not be a gain, depending on what you are trying to achieve with UDP
[Med] Yes. Another use is to pass firewalls when only TCP is allowed, but that’s another story. Let’s not open that one.

- e.g. with RTP
[Med] As I mentioned below, RTP is not a target use case since there is already a multipath RTP solution.

, you really don’t care about reliability, you are about timeliness). However, you must maintain the packet boundaries - UDP is not a stream.
[Med] That is what we are proposing. Here is an extract from an old version of the plain mode draft:

==
   1.  Extract the payload and its length from the UDP datagram.

   2.  Send the length (as a 16 bits field in network byte order)
       followed by the payload of the UDP datagram over the bound MPTCP
       connection.
==

Mapping a datagram-oriented transport to a stream-oriented transport is a generic problem and well out of scope of the MPTCP working group. There is (deliberately) nothing about MPTCP’s service model which is different to TCP, and therefore it is unlikely there would be anything different regarding mapping UDP to MPTCP as mapping UDP to TCP.

[Med] That story may need to be revisited given the increase of UDP traffic and the definition of TCP-like primitives over UDP.

A lot of UDP uses - such as RTP - would be distinctly unhappy with the TCP model of retransmissions. Transparently providing this mapping would break assumption from the application layer.
[Med] This is a fair comment. Polices will be used to elect flows that will be placed over an MPTCP connection. This is exactly the same problem as for TCP. All is policy-based.


Regards,
Alan

On 15 Nov 2016, at 12:40, mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com> wrote:

Re-,

I have one comment about the target applications: QUIC is definitely one.

For the VoIP case (RTP to be more accurate), there is already a candidate solution: Multipath RTP (https://tools.ietf.org/html/draft-ietf-avtcore-mprtp-03).

I don’t have results to share because we are in a chicken/egg situation: implementers are asking for a stable specification to play with.

Cheers,
Med

De : philip.eardley@bt.com<mailto:philip.eardley@bt.com> [mailto:philip.eardley@bt.com]
Envoyé : mardi 15 novembre 2016 12:51
À : robert.skog@ericsson.com<mailto:robert.skog@ericsson.com>; BOUCADAIR Mohamed IMT/OLN; Markus.Brunner3@swisscom.com<mailto:Markus.Brunner3@swisscom.com>; alan.ford@gmail.com<mailto:alan.ford@gmail.com>
Cc : multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>
Objet : MPTCP carrying UDP

(I changed the Subject line of the email)

Do people have any experimental results /experiences they could share of running UDP applications over MPTCP sub-flows?  Would be interested to hear about the issues. I guess VoIP and Quic would be the most interesting ones. Whether the experiments are with only one path being used at once, or multiple. etc



From: Robert Skog [mailto:robert.skog@ericsson.com]
Sent: 15 November 2016 10:09
To: mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>; Markus.Brunner3@swisscom.com<mailto:Markus.Brunner3@swisscom.com>; Eardley,PL,Philip,TUB8 R <philip.eardley@bt.com<mailto:philip.eardley@bt.com>>; alan.ford@gmail.com<mailto:alan.ford@gmail.com>
Cc: multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>
Subject: RE: [multipathtcp] Towards a Multipath TCP Proxy work item

+1
We see a need to solve UDP in several places, so having a separate specification can help this moving forward.

Cheers,
/Robert

From: multipathtcp [mailto:multipathtcp-bounces@ietf.org] On Behalf Of mohamed.boucadair@orange.com<mailto:mohamed.boucadair@orange.com>
Sent: den 15 november 2016 09:57
To: Markus.Brunner3@swisscom.com<mailto:Markus.Brunner3@swisscom.com>; philip.eardley@bt.com<mailto:philip.eardley@bt.com>; alan.ford@gmail.com<mailto:alan.ford@gmail.com>
Cc: multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>
Subject: Re: [multipathtcp] Towards a Multipath TCP Proxy work item

Hi Markus, all,

I’m on the same page that non-tcp traffic should be considered in scope. At least, the UDP case should be investigated. I remember there was interest in BA meeting about the UDP part (https://www.ietf.org/proceedings/95/minutes/minutes-95-mptcp).

An option I see is to consider advancing the use of MPTCP to convey UDP flows in a separate EXPERIMENTAL specification that will be cross-reviewed with other WGs (intarea, tsvwg). Having that base specification will help having interoperable implementations that will be used to carry experimentations.

Those experiments will help to determine whether the proposed solution is complex/simple, viable/non-viable, failed/successful, etc.

Let’s give it a try.

Cheers,
Med

De : multipathtcp [mailto:multipathtcp-bounces@ietf.org] De la part de Markus.Brunner3@swisscom.com<mailto:Markus.Brunner3@swisscom.com>
Envoyé : mardi 15 novembre 2016 08:58
À : philip.eardley@bt.com<mailto:philip.eardley@bt.com>; alan.ford@gmail.com<mailto:alan.ford@gmail.com>
Cc : multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>
Objet : Re: [multipathtcp] Towards a Multipath TCP Proxy work item

Phil,

If you feel it would take too long and to be too complex to achieve in a reasonable timeframe, we are ok with excluding non-tcp traffic, however, for our total solution we do requires also non-tcp traffic to be sent over multiple paths. We could argue that we can use a different mechanisms specifically for UDP and other protocols, but it would be nice to have as single MPTCP-based solution. (my gut feeling is that we would need to replicate a lot of MPTCP scheduling features into a new mechanism).

Marcus

Von: multipathtcp <multipathtcp-bounces@ietf.org<mailto:multipathtcp-bounces@ietf.org>> im Auftrag von "philip.eardley@bt.com<mailto:philip.eardley@bt.com>" <philip.eardley@bt.com<mailto:philip.eardley@bt.com>>
Datum: Montag, 14. November 2016 um 07:32
An: "alan.ford@gmail.com<mailto:alan.ford@gmail.com>" <alan.ford@gmail.com<mailto:alan.ford@gmail.com>>
Cc: "multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>" <multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>>
Betreff: Re: [multipathtcp] Towards a Multipath TCP Proxy work item

i think we should move beyond "exploring whether it would be useful".

i'd like us to assess proposed solutions. i think we should say this is what we're doing - at the moment we've had quite a lot of discussion about one proposal. we should give the chance for other proposals, and make the discussion more structured (what are the assessment criteria).

i also think we should explicitly exclude non-tcp traffic  (i think non-tcp traffic is too big a topic for our WG)

phil


________________________________
From: Alan Ford <alan.ford@gmail.com<mailto:alan.ford@gmail.com>>
Sent: 14 November 2016 06:11
To: Eardley,PL,Philip,TUB8 R
Cc: multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>
Subject: Re: [multipathtcp] Towards a Multipath TCP Proxy work item

I think this work item is achievable by simply removing references to “at least one end” from the existing charter item on the proxy. So the item would now read:

Finally, the working group will explore whether an MPTCP-aware
middlebox would be useful. For example, potentially helping MPTCP’s
incremental deployment by allowing only one end host to be MPTCP-enabled
and the middlebox acts as an MPTCP proxy for the other end host, which runs
TCP; and potentially helping some mobility scenarios, where the middle box
acts as an anchor between two MPTCP-enabled hosts. Alternatively, neither
end host could be MPTCP-enabled but a pair of proxies could work together to
bring MPTCP benefits to such connections. The working group will detail what real
problems an MPTCP-enabled middlebox might solve, how it would impact the
Multipath TCP architecture (RFC6182), what proxy approach might be
justified as compared against alternative solutions to the problems, and
the likely feasibility of solving the technical and security issues.

In some ways, the two ended proxy work could even be seen as an extension of the previous operational experience work within this WG.

Regards,
Alan

On 10 Nov 2016, at 19:17, philip.eardley@bt.com<mailto:philip.eardley@bt.com> wrote:

Hi,
Perhaps this is speaking too soon, but it looks like the very active discussion is reaching some common understanding?

We’re trying to work out what a work item might look like, so would like to understand what assumptions we would make, eg about the scenario, & what common agreements we’d assume & restrictions on how the solution works. This seems important to frame work by WG. If possible we’d like discussion on these points to avoid getting into the fine details of one particular existing proposal.

What we’d appreciate is a summary of what the assumptions /understandings are about:
•         The scenario (for instance: the MPTCP-enabled host knows the address of the proxy (eg through configuration); and it knows the address of the ‘legacy’ host it wants to communicate with)
•         If any impact is already envisaged on the current MPTCP protocol’s fallback behaviour and coping with middleboxes
•         If we can agree that the solution is based on a new MPTCP option
•         If any impact is already envisaged on the current MPTCP protocol’s semantics (other than the new option) eg in terms of https://tools.ietf.org/html/rfc6824#section-4
•         If any impact is already envisaged on TCP’s semantics, or any mods are needed, or assumptions about its behaviour, etc
•         If any impact is already envisaged on other existing transport protocol’s semantics (presuming people still would like non-TCP in scope?)
•         Anything else that you think is needed in order to frame the work item

It may be clearer to do this for the two use cases (single-ended proxy, ie where only one host is MPTCP-enabled; and double-ended proxy, ie where neither host is MPTCP-enabled).

This may seem like a long list, but most of the answers can be “none” – we’ll end up with just a short paragraph or a few bullets in the charter.

We’d also have to work out interactions with non-MPTCP WGs, but Mirja and IESG will probably want the main input on this.

Thanks
Phil & Yoshi
_______________________________________________
multipathtcp mailing list
multipathtcp@ietf.org<mailto:multipathtcp@ietf.org>
https://www.ietf.org/mailman/listinfo/multipathtcp