Re: [multipathtcp] MPTCP carrying UDP

Alan Ford <> Tue, 15 November 2016 15:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0EC92129535 for <>; Tue, 15 Nov 2016 07:55:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.989
X-Spam-Status: No, score=-1.989 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001, 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 vlH06eGdeXii for <>; Tue, 15 Nov 2016 07:55:18 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:400e:c05::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8EC0D12959B for <>; Tue, 15 Nov 2016 07:55:18 -0800 (PST)
Received: by with SMTP id p66so68004672pga.2 for <>; Tue, 15 Nov 2016 07:55:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=9lsx4fuiWEaDrRr5doHkFy4V6qfxDRBZ0uaF58ayL6E=; b=SKeIv9PT2cDKP16qRlHC3ZrtMKCbDOqa1DouX2PnhqEPEMTrjWLhZ5ZnSZjQT8XMRZ z1IQ3lPlIzNrkK0keF9CAxvEv1I3O9VN5l5NQqqG3rD8lB+oDnw1Hjd7cJucOeOVyOi6 Zty3hpL7QMdHpdED5ao6bQlkYJBoQCee2trfy7ELsK4AAfGv7Zofu6uYsGQMegvnUg8j 5MjQwDT/fXN5Hwv1UD1+pEaX5LlDZ/x9doirz2nx9y/GzTF0Pqute+Vn2ytXaaJo2mTr WiQhWmylyGCLUAKLn/L8HObG8YIef/M44Nzk/ZiPgB8c/JovnoHdKly9+Mr/CCIi7yCN Jqgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=9lsx4fuiWEaDrRr5doHkFy4V6qfxDRBZ0uaF58ayL6E=; b=NYUILcHHvg2LQyD9JFngUv3ANYRgBOhWkrBdbid5E5RRMtqCj/iag4noXybSZ/1DQD G0QWFSg32+RYDIBGy+sEt+bl1yMjeUajNKYW78t4KDmqm5xTyqV/QnwkMX9HisR0u2yi 4sC1B1qMoY2drZftVqAmcnNWmajhPk5gaANqrmj/LBgAwhn4V71OV9iatROAnvuRYIpQ o0MAy/ehkfSCItWlWLaVewKDcdXEcoyUUedBkAU0nS21hMNLS9CzUp3QeSsetqbiyl14 1eRcuuMAaeezbjl9kWW6MB6g6VDy2D7GaVokPwhcihYHDDlMJtUpUN098mWGBDKDc17f KniA==
X-Gm-Message-State: ABUngve+CNZir8753cF7LJXAGrspPh62XFoOPMRaz/kBWoHpkpA0JwBzn7lVgIcNcYN7zw==
X-Received: by with SMTP id y64mr18233858pfy.98.1479225318042; Tue, 15 Nov 2016 07:55:18 -0800 (PST)
Received: from [] ([]) by with ESMTPSA id q14sm37826138pfa.40.2016. (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 15 Nov 2016 07:55:17 -0800 (PST)
Content-Type: multipart/alternative; boundary="Apple-Mail=_7E2001AF-044A-41BF-AAD1-0E7CA01F1273"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Alan Ford <>
In-Reply-To: <787AE7BB302AE849A7480A190F8B933009DB40D0@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
Date: Tue, 15 Nov 2016 15:55:13 +0000
Message-Id: <>
References: <> <787AE7BB302AE849A7480A190F8B933009DB40D0@OPEXCLILMA3.corporate.adroot.infra.ftgroup>
X-Mailer: Apple Mail (2.3124)
Archived-At: <>
Cc: "" <>, "" <>
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: Tue, 15 Nov 2016 15:55:23 -0000

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.

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.

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.


> On 15 Nov 2016, at 12:40, 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 ( <>).
> 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 : [] 
> 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 < <>>; <>
> Cc: <>
> 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 [ <>] On Behalf Of <>
> Sent: den 15 november 2016 09:57
> To: <>; <>; <>
> Cc: <>
> 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.
> Cheers,
> Med
> De : multipathtcp [ <>] De la part de <>
> Envoyé : mardi 15 novembre 2016 08:58
> À : <>; <>
> Cc : <>
> 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 < <>> 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)
> phil
> From: Alan Ford < <>>
> Sent: 14 November 2016 06:11
> To: Eardley,PL,Philip,TUB8 R
> Cc: <>
> 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, <> 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 <>  
> ·         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
> <>
> <>