Re: [multipathtcp] MPTCP carrying UDP

<> Wed, 16 November 2016 05:26 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2277D12964E for <>; Tue, 15 Nov 2016 21:26:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.806
X-Spam-Status: No, score=-5.806 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.497, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id keezjSZ0VrRk for <>; Tue, 15 Nov 2016 21:26:22 -0800 (PST)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 9596D129589 for <>; Tue, 15 Nov 2016 21:26:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;;; q=dns/txt; s=dtag1; t=1479273981; x=1510809981; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=9EZEV4T6Od2JNHJzi2l0oPc99zkTcCHdlQvrwuh+cls=; b=3/KWTQRQR6fo+UxLNq+qWA+3PSu5HTil7XAlJrNahwQxLd1rWbpJC5iZ ghDNpN87rk8tUQcGZeNHlKFlwN0K0T91F29FSN0qC47w86nSba+izrrFD 8Nrl54jZPM9bvD8cAUd2Zl/dH1nWXQK0J3FGXBfxNtGM5yi4i5ZyPhQpV l9So4VJXHSc1GIehPSk45wOzcY8V6+A11rJSHhVpvu32HrJKko1f4d95Y RJDIqSHCFd3Q1axavu5VcRBTc+0AvzNzI4VvxoCfmcEj+5ugL02ByTCmo TRLaOj6cSwmkPx9ksMxMLx2mathjoe4dnrt0VQbjf2L3ZYfCb1AvJI+nn A==;
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES128-SHA; 16 Nov 2016 06:26:19 +0100
X-IronPort-AV: E=Sophos;i="5.31,646,1473112800"; d="scan'208,217";a="1009619815"
Received: from ([]) by with ESMTP/TLS/AES256-SHA; 16 Nov 2016 06:25:18 +0100
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1236.3; Wed, 16 Nov 2016 06:25:18 +0100
Received: from ([fe80::442c:834e:c489:d2c4]) by ([fe80::442c:834e:c489:d2c4%26]) with mapi id 15.00.1236.000; Wed, 16 Nov 2016 06:25:18 +0100
From: <>
To: <>, <>
Thread-Topic: [multipathtcp] MPTCP carrying UDP
Thread-Index: AdI/NebMR0wIzv/5Tmmn4GsoWOcicgABsqVgAATk1YAAHgGKIA==
Date: Wed, 16 Nov 2016 05:25:18 +0000
Message-ID: <>
References: <> <787AE7BB302AE849A7480A190F8B933009DB40D0@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: de-DE
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_6e2b8d331ee94c958e6f400c53f59716HE105662emea1cdstintern_"
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [multipathtcp] MPTCP carrying UDP
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Multi-path extensions for TCP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 16 Nov 2016 05:26:26 -0000


Von: multipathtcp [] Im Auftrag von Alan Ford
Gesendet: Dienstag, 15. November 2016 16:55
Betreff: Re: [multipathtcp] MPTCP carrying UDP

Alan Ford wrote:

> 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. This gains reliability (which may or may not be a gain,
>  depending on what you are trying to achieve with UDP - e.g. with RTP, you really don’t care about reliability, you are about
>  timeliness). However, you must maintain the packet boundaries - UDP is not a stream.
I don’t think that tunneling UDP over TCP is really an option as it breaks the expected behavior of UDP. There are also certain applications which do implement
there own retransmission and flow control mechanisms for UDP (e.g. QUIC or for certain IPTV applications) and I guess you will see a different behavior on application level if you tunnel UDP over a TCP connection in parts of the network.  In addition the tunnel might be not end-to-end but used between two proxies (in that case you might lose a UDP packet which is than being retransmitted by an mechanism within the application using UDP.



On 15 Nov 2016, at 12:40,<> wrote:


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 (

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.


De :<> []
Envoyé : mardi 15 novembre 2016 12:51
À :<>; BOUCADAIR Mohamed IMT/OLN;<>;<>
Cc :<>
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 []
Sent: 15 November 2016 10:09
To:<>;<>; Eardley,PL,Philip,TUB8 R <<>>;<>
Subject: RE: [multipathtcp] Towards a Multipath TCP Proxy work item

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


From: multipathtcp [] On Behalf Of<>
Sent: den 15 november 2016 09:57
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 (

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.


De : multipathtcp [] De la part de<>
Envoyé : mardi 15 novembre 2016 08:58
À :<>;<>
Cc :<>
Objet : Re: [multipathtcp] Towards a Multipath TCP Proxy work item


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


Von: multipathtcp <<>> im Auftrag von "<>" <<>>
Datum: Montag, 14. November 2016 um 07:32
An: "<>" <<>>
Cc: "<>" <<>>
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)


From: Alan Ford <<>>
Sent: 14 November 2016 06:11
To: Eardley,PL,Philip,TUB8 R
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.


On 10 Nov 2016, at 19:17,<> wrote:

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

Phil & Yoshi
multipathtcp mailing list<>