Re: [tsvwg] MP-DCCP for UDP multipath transport

Martin Duke <martin.h.duke@gmail.com> Tue, 17 November 2020 08:24 UTC

Return-Path: <martin.h.duke@gmail.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E9EF33A0769 for <tsvwg@ietfa.amsl.com>; Tue, 17 Nov 2020 00:24:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 FBFeTZoc8-Mw for <tsvwg@ietfa.amsl.com>; Tue, 17 Nov 2020 00:24:17 -0800 (PST)
Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com [IPv6:2607:f8b0:4864:20::12c]) (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 78BC03A07C4 for <tsvwg@ietf.org>; Tue, 17 Nov 2020 00:24:17 -0800 (PST)
Received: by mail-il1-x12c.google.com with SMTP id k1so17810466ilc.10 for <tsvwg@ietf.org>; Tue, 17 Nov 2020 00:24:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WAQU1llKUvU80UZoUOFVuioT/0NsttZPXdWMbM85zZI=; b=hFA8ifJBKXwJDbBdCeFkTdv70po5maNZsYvdpH0npe+OGUSeiDtOGKvXWC8zEPrO+v GsKC7Dn8ryMK0jlccE0IBV8vCCkV5fzjFtieFvrXYEo69ZRDjSvi+O0XEGUeGzAr24LM AkUxcAHQvwrvk5x23LELivXficPDdyihzawUFDgK08NxSvXBZTjXXcdIIklghNxFCMsL 1ihbQ7Bim+cSKdeGFeRKV5soRTIij0t72ZsEBJsE1N/w7wlHlDM/JyF+Ma+Gdy2vRJvA vqEjWlefUf1LBL+XcDTvpqWI/J1Jp/152XeIekzDZR5IOTH6cyJ3V2+JMGeSj9a4PQjw ItGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WAQU1llKUvU80UZoUOFVuioT/0NsttZPXdWMbM85zZI=; b=qv3ayFWvcYKx5Hb3VipxFcSI5p+yOA8ahqSwRs7clJFFm6gIGakUhOzmJk+3QpIxcE JtoxOwKSgWjuwrBeTRFuvITPNnsx0Mt2XWTvBfc23WFqlplwmvvTyKLWi+IiN7vfmD17 vMe7XlNjQUgBU6VLrjefAw6V0Mzg4qAf5GZObHtlvqZZLgWvJ06Zyjv3Nv1pZb370lDf HEXSIVVHH0XtvlUEX5pQsRcyCHhzYxOMez/qpSpwmm8NDyqPa3RUdeUsUnK4izNmRj1Y eMbiMtCM8MR2wxIKW4CnXzheR401IRw5aOz3gMWq4JD5DZROyQ0p2vXPmANIQ97CnMv5 kakQ==
X-Gm-Message-State: AOAM533XNczzbrQJEeP96K+ByX6R4rpF+kT0z8NZo6xNBkH/b2fisV5V fv4fr1EZmoeJeYAp/XhFAyyrDnD1dTfMRWkSzmw45w+iy3Y=
X-Google-Smtp-Source: ABdhPJznpN81GfJzk8xSr7l7EsVwMgacSNQluzApu+cl7OuQKFZxW1XPT973wPUYExM0Ai449xhu+VWsedkE1NAL5EQ=
X-Received: by 2002:a92:d251:: with SMTP id v17mr9100552ilg.249.1605601456613; Tue, 17 Nov 2020 00:24:16 -0800 (PST)
MIME-Version: 1.0
References: <LEJPR01MB063580A9B12A42F0E0559D6EFAE30@LEJPR01MB0635.DEUPRD01.PROD.OUTLOOK.DE> <15689BF2-25AE-471B-9032-F18A57B1F104@lurchi.franken.de> <LEJPR01MB06353DC16E0AD228268A4D4CFAE30@LEJPR01MB0635.DEUPRD01.PROD.OUTLOOK.DE> <4297770B-8932-4126-BB23-82DAF459835E@lurchi.franken.de> <LEJPR01MB0635CD33108AA9A2788F86C0FAE30@LEJPR01MB0635.DEUPRD01.PROD.OUTLOOK.DE> <BC9021EA-9A38-46BC-994B-DAF900C86BC9@lurchi.franken.de> <LEJPR01MB0635F9870B95356229265EBEFAE30@LEJPR01MB0635.DEUPRD01.PROD.OUTLOOK.DE> <DA91A14A-3B4F-48C0-B5EE-AC4DC36437DF@lurchi.franken.de> <LEJPR01MB06358B872C7B0616517FB13FFAE30@LEJPR01MB0635.DEUPRD01.PROD.OUTLOOK.DE> <CAM4esxRKB0tq79C7hiUfcwBt-4MqV8sU7YGQ7dyTt+iOF4-gog@mail.gmail.com> <LEJPR01MB06356E165B1DAD24C3476A71FAE20@LEJPR01MB0635.DEUPRD01.PROD.OUTLOOK.DE>
In-Reply-To: <LEJPR01MB06356E165B1DAD24C3476A71FAE20@LEJPR01MB0635.DEUPRD01.PROD.OUTLOOK.DE>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Tue, 17 Nov 2020 00:24:14 -0800
Message-ID: <CAM4esxQ0O939qDFp3AWVfwNMLGJddaoNwtaBaH8rnfcjNu2-BA@mail.gmail.com>
To: "Markus.Amend" <Markus.Amend@telekom.de>
Cc: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>, tsvwg <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000078efc605b44938e1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/pT6f5zuc5gZ-Y27pvZxKfcUi0E4>
Subject: Re: [tsvwg] MP-DCCP for UDP multipath transport
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Nov 2020 08:24:21 -0000

Hi Markus,

My separability question is not whether it's technically possible (I'm
convinced it is); it's whether excluding the encapsulation part leaves us
with a use case that's actually worth working on.

On Tue, Nov 17, 2020 at 12:07 AM <Markus.Amend@telekom.de> wrote:

> Hi Martin,
>
> Good point to raise MASQUE's chartered focus on CC in CC. Discussing the
> MP-DCCP encapsulation framework makes this challenge even stronger and I'm
> happy to support any attempt to bring this jointly to ICCRG.
>
> From a separation point of view I have no doubt that we can clearly
> distinguish the MP extension of DCCP from the encapsulation/tunneling
> stuff. That's already the way how we applied the drafts.
>
> https://tools.ietf.org/html/draft-amend-tsvwg-multipath-dccp only takes
> care to specify the DCCP extension
>
> while
> https://tools.ietf.org/html/draft-amend-tsvwg-multipath-framework-mpdccp
> is intended to be informational and give guidance towards multipath support
> of non-DCCP traffic using tunneling/encapsulation.
>
> Br
>
> Markus
>
> From: Martin Duke <martin.h.duke@gmail.com>
> Sent: Dienstag, 17. November 2020 01:46
> To: Amend, Markus <Markus.Amend@telekom.de>
> Cc: Michael.Tuexen@lurchi.franken.de; tsvwg@ietf.org
> Subject: Re: [tsvwg] MP-DCCP for UDP multipath transport
>
> Hi Markus,
>
> I should note that MASQUE is specifically chartered to provide
> recommendations for cc-in-cc without designing a new protocol or starting
> any research projects. The draft probably ought to say *something.*
>
> Header conversion and multipath seem uncontroversial to me, but
> encapsulation may raise some concerns. Can you tell me how separable the
> drafts are? Would there be any point in adopting two of them, or is
> encapsulation the use case that drives all the interest in these changes?
>
> On Mon, Nov 16, 2020 at 11:04 AM <mailto:Markus.Amend@telekom.de> wrote:
> > -----Original Message-----
> > From: Michael Tuexen <mailto:Michael.Tuexen@lurchi.franken.de>
> > Sent: Montag, 16. November 2020 19:40
> > To: Amend, Markus <mailto:Markus.Amend@telekom.de>
> > Cc: mailto:tsvwg@ietf.org
> > Subject: Re: [tsvwg] MP-DCCP for UDP multipath transport
> >
> > > On 16. Nov 2020, at 18:46, mailto:Markus.Amend@telekom.de wrote:
> > >
> > >> -----Original Message-----
> > >> From: Michael Tuexen <mailto:Michael.Tuexen@lurchi.franken.de>
> > >> Sent: Montag, 16. November 2020 17:51
> > >> To: Amend, Markus <mailto:Markus.Amend@telekom.de>
> > >> Cc: mailto:tsvwg@ietf.org
> > >> Subject: Re: [tsvwg] MP-DCCP for UDP multipath transport
> > >>
> > >>> On 16. Nov 2020, at 17:21, mailto:Markus.Amend@telekom.de wrote:
> > >>>
> > >>>> -----Original Message-----
> > >>>> From: Michael Tuexen <mailto:Michael.Tuexen@lurchi.franken.de>
> > >>>> Sent: Montag, 16. November 2020 17:06
> > >>>> To: Amend, Markus <mailto:Markus.Amend@telekom.de>
> > >>>> Cc: mailto:tsvwg@ietf.org
> > >>>> Subject: Re: [tsvwg] MP-DCCP for UDP multipath transport
> > >>>>
> > >>>>> On 16. Nov 2020, at 16:43, mailto:Markus.Amend@telekom.de wrote:
> > >>>>>
> > >>>>> Hi Michael,
> > >>>>>
> > >>>>> inline
> > >>>>>
> > >>>>>> -----Original Message-----
> > >>>>>> From: Michael Tuexen <mailto:Michael.Tuexen@lurchi.franken.de>
> > >>>>>> Sent: Montag, 16. November 2020 15:38
> > >>>>>> To: Amend, Markus <mailto:Markus.Amend@telekom.de>
> > >>>>>> Subject: Re: [tsvwg] MP-DCCP for UDP multipath transport
> > >>>>>>
> > >>>>>>> On 16. Nov 2020, at 13:52, mailto:Markus.Amend@telekom.de wrote:
> > >>>>>>>
> > >>>>>>> Dear all,
> > >>>>>>>
> > >>>>>>> as the TSVWG chairs suggested in the IETF 109 session, I
> continue the
> > >>>> discussion
> > >>>>>> on the mailinglist.
> > >>>>>> Hi Markus,
> > >>>>>>
> > >>>>>> I have two questions:
> > >>>>>>
> > >>>>>> 1. You stated that you are using CCID2. This means that you are
> adding to
> > >>>>>> handling of UDP
> > >>>>>> packets a congestion control. How does this interact with a
> congestion
> > >>>> control
> > >>>>>> provided by
> > >>>>>> the application?
> > >>>>>
> > >>>>> Yes, and moreover we also implemented BBRv1 into the DCCP CCID
> > >> framework.
> > >>>> The interaction between CCs is given and first results were
> published a
> > while
> > >> ago
> > >>>> in https://arxiv.org/pdf/1907.04567.pdf based on NADA as
> application CC.
> > >> More
> > >>>> recent results are part of our presentation at ICCRG on Friday,
> discussing a
> > >>>> broader mix of CCs. Probably there is a trend not to use packet
> loss based
> > CC
> > >> for
> > >>>> the tunnel.
> > >>>>>
> > >>>>> Two points here:
> > >>>>> 1. Nested CC is a broader topic beyond MP-DCCP and also valid e.g.
> for
> > >>>> MASQUE. Maybe something which should be independently investigated
> in
> > >>>> ICCRG?
> > >>>> I agree that this is not specific to the scenario you describe, but
> a broader
> > >> issue.
> > >>>>> 2. Solving efficiently out-of-order aggregated multipath packet
> delivery is
> > >>>> equally important and often overlooked in favor of CC in CC.
> > >>>>>
> > >>>>>>
> > >>>>>> 2. Considering that you are fine with a tunneling protocol that
> provides a
> > >>>>>> congestion control,
> > >>>>>> what are the benefits of using DCCP instead of using SCTP with UDP
> > >>>>>> encapsulation? You can
> > >>>>>> use PR-SCTP with the "don't retransmit" policy and could also let
> the
> > >>>> reordering
> > >>>>>> done by
> > >>>>>> SCTP. Your failover scenario should be supported by all SCTP
> > >>>> implementations.
> > >>>>>> The
> > >>>>>> load-sharing would require some standardisation effort.
> > >>>>>>
> > >>>>>
> > >>>>> Excellent this question :-) I fully agree with you, that SCTP can
> provide
> > similar
> > >>>> mechanisms. Some years ago we developed, in parallel to our MP-DCCP
> > >>>> prototype, a SCTP based prototype leveraging PR-, PF- and CMT-SCTP.
> The
> > >>>> results looked very promising and we proposed this to 3GPP ATSSS
> > >>>> (
> ftp://3gpp.org/Email_Discussions/SA2/Archive/2018-10/Draft%2023793-
> > >>>> 070_rm.doc, 6.1.7.4), but it was rejected.
> > >>>>>
> > >>>>> After that we gave up the SCTP development in favor of DCCP for
> several
> > >>>> reasons:
> > >>>>> -  bad/no Linux support for CMT-SCTP at this time
> > >>>> Compared to MP-DCCP support, I don't think there is much of a
> difference.
> > I
> > >>>> guess it would be implemented
> > >>>> in Linux, if the corresponding specification could be finished
> (Linux recently
> > >> got
> > >>>> support for UDP encapsulation.). However, that is blocked up to now
> in
> > >> TSVWG.
> > >>>> Since I'm not following 3GPP:
> > >>>> Is availability on Linux a requirement for 3GPP?
> > >>>
> > >>> No, but it was a requirement for our DT internal prototype
> environment.
> > With a
> > >> Linux reference implementation of (MP-)DCCP it was much simpler for
> us to
> > >> move forward and implement it for example in an Android device.
> > >>> Please don't forget, that was a decision we took in 2017.
> > >>>
> > >>> However, -just being proactively here - we currently should not end
> up with
> > >> the question:  Should we move forward exclusively with MP-DCCP or a
> SCTP
> > >> based approach. Both has from my view value and MP-DCCP is first of
> all only
> > a
> > >> multipath extension for DCCP. Using encapsulation on top makes it
> capable of
> > >> transporting any traffic. It's the same as with SCTP, QUIC and TCP.
> > >> TCP might be a problem with strict ordering.
> > >
> > > Agree
> > >
> > >> But SCTP, QUIC, and DCCP could be
> > >> used the same way.
> > >> The only difference is that SCTP does support multihoming, for QUIC
> and
> > DCCP it
> > >> is a yet to
> > >> be specified extension, QUIC needs unreliability, and all need a way
> of load
> > >> sharing. But then
> > >> all of them could be used.
> > >>>
> > >>>>> -  No real unreliable delivery is given. Even PR-SCTP requires a
> reliable
> > >>>> "FORWARD-TSN" to become unreliable.
> > >>>> How does that impact the user experience? User messages can be
> > delivered
> > >> as
> > >>>> soon as possible to the application.
> > >>>
> > >>> Please correct me if I'm wrong, but as long as the FORWARD TSN has
> not be
> > >> received, head of line blocking occurs, right?
> > >> I don't see why. The receiver can deliver user messages as soon as the
> > ordering
> > >> constraints can
> > >> be fulfilled. So if you send all user messages as unordered messages
> (like on
> > UDP
> > >> or DCCP),
> > >> no buffering for reordering is required. So no HOL blocking.
> > >>
> > >
> > > Yep, I identified we argued from different perspectives. I agree,
> setting the U-
> > Bit will bypass any re-ordering functionality from SCTP and move packets
> forward
> > immediately to the application layer. That would give support for
> steering and
> > switching (seamless handover), however, for CMT-SCTP the SCTP re-ordering
> > function might be kept and then we step into the FORWARD-TSN trap with
> HoL.
> > Unless a re-ordering function is specified outside of the SCTP.
> > As far as I understand, DCCP does not provide an ordering preserving
> service.
> > Isn't it a UDP like service?
>
> That's true
>
> > > In contrast to this, our MP-DCCP Linux reference implementation is
> shipped
> > with a modular re-ordering scheme, which easily let define and use
> various re-
> > ordering logics. I hope we can publish the Linux implementation soon.
> > So you are adding something to DCCP? You could do that also as a shim on
> top of
> > SCTP using the U-bit.
> >
>
> Yes, that's what I wrote. However, with MP-DCCP we could think about
> defining a modular re-ordering scheme directly as part of the protocol, at
> least the signaling/negotiation for it. So no shim layer is required.
>
>
> In the meantime I also remember another experienced drawback from our SCTP
> prototype. I think it was quit inflexible when new communication paths came
> up during the lifetime of a SCTP session, a scenario often happens in
> mobile use cases. Only with an INIT chunk, communication paths can be
> negotiated once during the handshake. Any new IP addresses/paths, e.g.
> while changing from one Wi-Fi AP to another, requires a re-establishment of
> the SCTP session.
>
> I think for MP-DCCP we can resemble a lot of the well proved handshake
> procedures and address/path updates from MPTCP.
>
> > Best regards
> > Michael
> > >
> > >> Best regards
> > >> Michael
> > >>>
> > >>>>> -  UDP encapsulation overhead
> > >>>> True. It is an 8 byte overhead.
> > >>>>
> > >>>> Best regards
> > >>>> Michael
> > >>>>>
> > >>>>>> Best regards
> > >>>>>> Michael
> > >>>>>>
> > >>>>>>>
> > >>>>>>> For all who were not able to attend, the presented slides are
> available
> > >>>>>> u==[=[nderhttps://
> http://datatracker.ietf.org/meeting/109/materials/slides-
> > 109-
> > >>>> tsvwg-
> > >>>>>> sessa-61-dccp-extensions-for-multipath-operation-00, with a main
> focus
> > on
> > >>>> the
> > >>>>>> prototype implementation. This prototype leverages MP-DCCP between
> > a
> > >>>>>> mobile handset and a public aggregation point, for giving
> > multipath/multi-
> > >>>> access
> > >>>>>> benefit to at least UDP traffic - complementing MPTCP - when
> > >> communicating
> > >>>>>> with the Internet. Due to the MP-DCCP encapsulation framework,
> > support
> > >> is
> > >>>> not
> > >>>>>> restricted to UDP and it’s even possible to provide the multipath
> service
> > to
> > >> IP
> > >>>> or
> > >>>>>> Ethernet traffic. Packet based scheduling, as well as flow based
> > scheduling
> > >> is in
> > >>>>>> scope of the prototype/drafts and explained together with results
> as
> > part
> > >> of
> > >>>> the
> > >>>>>> above mentioned presentation.
> > >>>>>>>
> > >>>>>>> Seamless handover for reliability and path/access aggregation
> for high
> > >>>> speeds
> > >>>>>> are supported by design, fitting for example excellently into the
> 3GPP
> > >> ATSSS
> > >>>>>> scope, leveraging:
> > >>>>>>> https://tools.ietf.org/html/draft-amend-tsvwg-multipath-dccp-03
> > >>>>>>>
> https://tools.ietf.org/html/draft-amend-tsvwg-multipath-framework-
> > >>>> mpdccp-
> > >>>>>> 01
> > >>>>>>> https://tools.ietf.org/html/draft-amend-tsvwg-dccp-udp-header-
> > >>>> conversion-
> > >>>>>> 01
> > >>>>>>>
> > >>>>>>>
> > >>>>>>> and general scheduling and re-ordering concepts from
> > >>>>>>>
> https://tools.ietf.org/html/draft-amend-iccrg-multipath-reordering-01
> > >>>>>>>
> https://tools.ietf.org/html/draft-bonaventure-iccrg-schedulers-01
> > >>>>>>>
> > >>>>>>> Especially for 3GPP ATSSS purposes, this very dedicated and
> simple MP-
> > >> DCCP
> > >>>>>> framework provides an alternative over the currently discussed MP-
> > QUIC
> > >>>>>> (+DATAGRAM + MASQUE), which is from an IETF perspective much
> > broader
> > >> in
> > >>>>>> scope and not dedicated to ATSSS purposes.
> > >>>>>>>
> > >>>>>>> However MP-DCCP is not limited to ATSSS and can be applied
> end-to-
> > end
> > >>>> with
> > >>>>>> or without encapsulation.
> > >>>>>>>
> > >>>>>>> So I encourage you to read through the drafts, give feedback and
> > discuss
> > >> the
> > >>>>>> potential roadmap towards WG adoption.
> > >>>>>>>
> > >>>>>>> Br
> > >>>>>>>
> > >>>>>>> Markus
> > >>>>>
> > >>>
> > >
>