Re: "Proxying" multipath usecases and application scheduling
David Schinazi <dschinazi.ietf@gmail.com> Sat, 24 October 2020 01:19 UTC
Return-Path: <dschinazi.ietf@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 409D83A0B7A for <quic@ietfa.amsl.com>; Fri, 23 Oct 2020 18:19:47 -0700 (PDT)
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 LnfVrrYx5e1a for <quic@ietfa.amsl.com>; Fri, 23 Oct 2020 18:19:44 -0700 (PDT)
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) (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 2F4393A0B77 for <quic@ietf.org>; Fri, 23 Oct 2020 18:19:44 -0700 (PDT)
Received: by mail-lf1-x12b.google.com with SMTP id h6so4254606lfj.3 for <quic@ietf.org>; Fri, 23 Oct 2020 18:19:44 -0700 (PDT)
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=vV0bXvyuBZrp/eyc6C3/6eYXrMiyXt7BgEz+4qC8kF4=; b=s2Mype366OK4y3D2AisEwtHpkyXw8cXvM22DanqqshOl3Srif/TjozjWkq/HZzIUKu TxFjV2UNaOcTd2bOPsjRzOl1r5lUOgYwosQMM1Dc9+eHkqZWtIUKuOMosApiV9hNx4eJ 29Korp62GVsxCz1Hpg1Dkokpd4MA+W6Zzg6rDvGVqcAvY5TvQaAH/c7CeqsrdhrEL9kP MZQgFRFQX9/l66WQfP1aWPWa70x1nbelXQjEb4iZNDWkFvYDPpyyGhOG39qsbuisv304 /BS1qcP7dcKP/vx8gFfODMq1CqanVY5MYLB5+5QbnU9X5y+5xtALJpQY1DHARVjJbdV6 WFEg==
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=vV0bXvyuBZrp/eyc6C3/6eYXrMiyXt7BgEz+4qC8kF4=; b=a/3WbV2GvSzJcbKvo4dtdY+jpiUrZpmce1lG85W6vDpgiwdNkiyBGOf0kEOMvsHnzO 5VXbgb4lF1/0lLi9xdEgqBoWOq9oC25zslqKac1wncNOazbmqx4+32DJRV2yQUNZpZBO KarN6V/H0cdh5C3P2OaXhbMJFlMdUlndxfh1D6XuHDZEouzt9W1/BTVDcPJWCSNbHTI5 WiBEcf19+Xe7JSsU1lyHbZiWLSfF1kQX5ILFH9m50uj6Zl3Ssjmm8pF1uSyRpRUupoK8 fv2/SxYbpK0qranRC282bLvOn65u8uJU0u++lCEr310RaOUHVp/DWT9lI3hH+KVv0+qG EuBQ==
X-Gm-Message-State: AOAM531Uxi9wlZOsMAiC1JIIoytzjcl9nQKuDqC8Y9BUeAZdr95e5GS1 m0xOFJUbSsjTXXWEKM1GeaYvZSUno5Knd2HAHUI=
X-Google-Smtp-Source: ABdhPJxv630zjZ6x/AR09Aq0smdCzCdzc4EuiZz8zSn1miM0tawn132GZer6wkJixwmmctfj0ds5C91cgGvFcEGAsGg=
X-Received: by 2002:a19:c1ce:: with SMTP id r197mr1715731lff.266.1603502382241; Fri, 23 Oct 2020 18:19:42 -0700 (PDT)
MIME-Version: 1.0
References: <CADdTf+h-xN6umZAOknYYmzNWbtWet25SE4Zy2EMOh5J9u=qBXQ@mail.gmail.com> <6CB8B1FE-DB25-4EBA-8AD5-EF66D8DF9215@ericsson.com>
In-Reply-To: <6CB8B1FE-DB25-4EBA-8AD5-EF66D8DF9215@ericsson.com>
From: David Schinazi <dschinazi.ietf@gmail.com>
Date: Fri, 23 Oct 2020 18:19:31 -0700
Message-ID: <CAPDSy+5tqeMKTnqbQh8rR-UTGg8VmjsqUuYEHFwHWcQ7mOHDeQ@mail.gmail.com>
Subject: Re: "Proxying" multipath usecases and application scheduling
To: Mirja Kuehlewind <mirja.kuehlewind=40ericsson.com@dmarc.ietf.org>
Cc: Matt Joras <matt.joras@gmail.com>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e3e48b05b2607d07"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/RdFs1OflZ7PoJSSzU4CkNmWc0PU>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 24 Oct 2020 01:19:47 -0000
On Fri, Oct 23, 2020 at 5:54 PM Mirja Kuehlewind <mirja.kuehlewind= 40ericsson.com@dmarc.ietf.org> wrote: > Hi Matt, > > > > I think this discussion rather would belong on the MASQUE list and I guess > we already had some of this before chartering MASQUE but let me reply to a > couple of comments below. > As per the MASQUE charter, multipath is out of scope for MASQUE. I'd personally suggest we keep all multipath QUIC conversations on the QUIC list for now. > *From: *QUIC <quic-bounces@ietf.org> on behalf of Matt Joras < > matt.joras@gmail.com> > *Date: *Friday, 23. October 2020 at 22:10 > *To: *IETF QUIC WG <quic@ietf.org> > *Subject: *"Proxying" multipath usecases and application scheduling > > > > Following up from Martin Thomson's excellent summary of the BoF-esque > multipath QUIC interim, I thought I'd start a discussion extracting a > couple things I saw as important takeaways from the presentation and > subsequent questions. > > > > As David noted, there were essentially two categories of usecases > presented. The first, embodied by the Apple and Alibaba presentations, were > essentially existing applications that can benefit from a transport with > the capability to simultaneously utilize multiple paths. For these it > seemed everyone agreed that in order for multiple paths to be useful the > application has to have input into the scheduling decisions on these paths. > For example, the application knows how it wants to trade off latency of > delivery and overall throughput of delivery for application data. > > > > Application input is needed if and only if there is actually a tradeoff to > make. However, there are many scenarios where one can actually chose > between a link that is better than the other, regarding both delay and > latency, and then the decision is easy and the same for all applications. > Could you elaborate? Choosing between links applies to connection migration, multipath is a much more complex beast. > The second set of usecases utilized multipath "in the network". ATSSS and > the two variants of Hybrid Access Networks presented fall into this > category. In this scheme application data is transparently proxied over > multiple paths. This would include things like TCP flows, which could be > intercepted in the traditional way TCP PEPs operate, as well as UDP > (including QUIC) datagrams. > > > > Intercepting TCP and tunneling is far not the same thing. There are many > functions today that tunnel your traffic in some way in some network. > Traffic is rerouted or EMCP is used to choose a path. These functions are > needed for network management and network resilience and it’s explicitly > the role of the end-to-end transport to adapt to changing network > conditions and handle these situations. > > > > > > Both types of traffic would be scheduled along the multiple paths towards > the "other end" of the proxy, where it presumably re-enters the general > Internet towards the destination endpoint. > > > > Prior to the meeting this latter set of usecases always felt concerning to > me, and the meeting did an excellent job of crystallizing my concerns. As > others have said, a great benefit of QUIC has been its ability to "cut > through" the meddling of things like TCP PEPs, which are often making > transport-level decisions that harm the goals of the endpoint application. > While the in-network multipath schemes cannot meddle with QUIC flows as > much as TCP PEPs, I am still very concerned about the consequences of > utilizing them. > > > > Again for me this is by far not the same and threating everything that is > done with your flows in the network the same seems just oversimplifying it. > > > > We seem to have established that application input is necessary to achieve > the benefits from utilizing multiple paths, as there is not one "best" way > to schedule data. > > > > There are cases where there is actually a best way, whenever one path is > better than the other without having to make tradeoff, and as I said in my > other mail its usually not only application input that is needed to make a > decision. E.g. Christoph brought this example that mobile data should be > avoided and of course it also depends on the network condition, and that’s > where congestion control comes into play. > > > > > > These proxyng solutions have no way to act on application concerns, and > rather have to devise scheduling policies solely from network-level > information, ignorant of signals from the application. Does this not > inevitably lead to pathological scheduling decisions and applications which > are helpless to do anything about it? > > > > The obvious counterpoint is that these proxies, through advent of being > embedded "in the network", have access to information which the endpoint > does not, e.g. about the state of the paths. An argument can be made that > because of this they can make proactive decisions, rather than relying on > the endpoint to react to changes. This is of course true, but completely > ignores the fact that without the application context, it is impossible for > the proxy to make an optimal scheduling decision. > > > > Again there are scenarios where there is clearly a better path, or where > there is a strong desire for the network to avoid usage of a certain. E.g. > in the hybrid access case, some operators lease one of the links from > another operator. I think it’s understandable that they only offer dual > connectivity if they have a way to minimize usage of the more expensive > line. There are many scenario where network management decision need to be > made independent of application characteristics. > > > > And regarding ATSSS is already exists (based on MPTCP for TCP and ATSSS-LL > for other traffic) and will be used, similar as other techniques that > impact routing. I think it’s understandable that operator try to utilize > all available resources and usually that actually means that more capacity > and a better is available for the user/the operator’s costumer. We can > argue about the best technical way to make use of these resources but a) > the final decision about ATSSS will be made in 3GPP and not the IETF and b) > having an explicit proxy setup where the client can decide to use as it or > not, as it is done also in other masque use case, seems to me actually a > good approach (or at minimum better than what we have right now). > When you say "ATSSS will be used", do you have references? I'm not aware of any smartphone provider planning to support ATSSS but I might have missed it. > If the only benefit to running such proxies "in the network" is their > extended knowledge of network conditions, wouldn't a better path forward to > have endpoints engaging in "native" multipath? To solve the information > gap, i.e. the fact that the "network knows more", could we not develop > mechanisms for signalling this information proactively to endpoints? > > > > I guess you can make the same proposal in the other direction: why cannot > the endpoints tell the network what the application needs? I think this is > a discussion to have in the APN BoF, however, we had this discussion many > times and the short answer is trust. Might probably is a longer answer as > well and there is a lot of disagreement. > End-user privacy? Now these concerns may not sound QUIC-specific, but I think it is still > relevant to the working group for the following reason. Usecases are very > important towards driving design of something like a multipath protocol. It > seems to me that one of the two major categories of usecases for a > multipath QUIC is, by design, incompatible with some of the core tenets of > QUIC as an application-enhancing transport protocol. > > > > I think that is a way to broad statement and far too simplified. There > have been so many discussions in the IETF including in the QUIC working and > we clearly don’t have agreement about what the right level of cooperation > is because there is just not a simple solution. I fully understand the pain > we had with TCP. I’ve been working so long on ECN and am still sad how this > good idea git killed in its infancy because of a buggy home router > implementation that badly interfered. However, I personally also still > believe that there is a way to further optimize and better utilize the > resource we have if there is some cooperation between the network and > endpoints. Anyway that’s my view on a different topic and not the point of > this discussion. > > > > As Martin said, we obviously can't stop anyone from utilizing multipath in > this way, and it of course does not serve as a reason to not design a > multipath QUIC, but it seems to me something we should all keep in mind as > we consider such designs. > > > > I think we should not consider this to make a decision on multipath > support in QUIC because as you said you can’t stop it. The only thing you > can achieve for ATSSS is that 3GPP may design some proprietary way to > realize this function which will further increase complexity in an already > complex system. However, that also an different discussion to have. > > > > I’m been trying here to mainly explain what 3GPP is doing on ATSSS in > order to get this group some understand of what the requirements are. > However, I mainly just think we should simply have multipath support in > QUIC because a modern protocol should be able to utilize the fact that more > and more devices have connectivity to multiple network paths. I think using > path migration for handovers is a bit a hack and not the real solution > because it’s actually not easy for an endpoint without further network > knowledge to detect when it is the right time to switch. Having a more > complete multipath feature were you have two congestion controllers and can > get measurements from both paths does help that problem and we do have good > experience with that for MPTCP. > I'll point out that "we should simply have multipath support in QUIC" is very optimistic, I really do not expect this to be simple. David > Mirja > > > > > > I am very curious to hear others' opinions in this direction and thanks > for sitting through this wall of text. > > > > Matt Joras >
- "Proxying" multipath usecases and application sch… Matt Joras
- Re: "Proxying" multipath usecases and application… Mirja Kuehlewind
- Re: "Proxying" multipath usecases and application… David Schinazi
- Re: "Proxying" multipath usecases and application… Mirja Kuehlewind
- Re: "Proxying" multipath usecases and application… Gorry (erg)
- Re: "Proxying" multipath usecases and application… Christian Huitema
- Re: "Proxying" multipath usecases and application… Paul Vixie
- Re: "Proxying" multipath usecases and application… David Schinazi
- Re: "Proxying" multipath usecases and application… Gorry Fairhurst
- Re: "Proxying" multipath usecases and application… Watson Ladd