Re: [PANRG] About Michael's proposal on sidecar protocols in PANRG today

Michael Welzl <michawe@ifi.uio.no> Thu, 24 March 2022 14:06 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: panrg@ietfa.amsl.com
Delivered-To: panrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 909AD3A0B75 for <panrg@ietfa.amsl.com>; Thu, 24 Mar 2022 07:06:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable 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 AHiq45pcYBFl for <panrg@ietfa.amsl.com>; Thu, 24 Mar 2022 07:06:12 -0700 (PDT)
Received: from mail-out01.uio.no (mail-out01.uio.no [IPv6:2001:700:100:10::50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A80633A07F6 for <panrg@irtf.org>; Thu, 24 Mar 2022 07:06:11 -0700 (PDT)
Received: from mail-mx10.uio.no ([129.240.10.27]) by mail-out01.uio.no with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <michawe@ifi.uio.no>) id 1nXO6E-002OHB-Oz; Thu, 24 Mar 2022 15:06:02 +0100
Received: from dhcp-9a5b.meeting.ietf.org ([31.133.154.91]) by mail-mx10.uio.no with esmtpsa (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) user michawe (Exim 4.94.2) (envelope-from <michawe@ifi.uio.no>) id 1nXO6C-000Fhq-Rm; Thu, 24 Mar 2022 15:06:02 +0100
From: Michael Welzl <michawe@ifi.uio.no>
Message-Id: <47189DBF-385E-40A8-BA80-9DBB37FCB965@ifi.uio.no>
Content-Type: multipart/alternative; boundary="Apple-Mail=_284EA298-4920-4F74-9785-E3CF65C113A3"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\))
Date: Thu, 24 Mar 2022 15:05:59 +0100
In-Reply-To: <8F38CA66-7AA6-4DCF-88A6-30D0E38C80DF@akamai.com>
Cc: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, "panrg@irtf.org" <panrg@irtf.org>
To: "Holland, Jake" <jholland=40akamai.com@dmarc.ietf.org>
References: <CAKKJt-c2K1B6mBeKuBmf+E+m+3ZPyTMRk-oZ23ZOP2hZHSkpPQ@mail.gmail.com> <8F38CA66-7AA6-4DCF-88A6-30D0E38C80DF@akamai.com>
X-Mailer: Apple Mail (2.3608.120.23.2.7)
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx10.uio.no: 31.133.154.91 is neither permitted nor denied by domain of ifi.uio.no) client-ip=31.133.154.91; envelope-from=michawe@ifi.uio.no; helo=dhcp-9a5b.meeting.ietf.org;
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, HTML_MESSAGE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, UIO_MAIL_IS_INTERNAL=-5)
X-UiO-Scanned: 85D917127C9B8A08E7138764E87F7C73B86617D9
X-UiOonly: 60C0E3C6EEF86D5069255A88D2E8E07A2E1DD78F
Archived-At: <https://mailarchive.ietf.org/arch/msg/panrg/vutyAPYZ4xmm8Hw7LcyxolXU0eY>
Subject: Re: [PANRG] About Michael's proposal on sidecar protocols in PANRG today
X-BeenThere: panrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Path Aware Networking \(Proposed\) Research Group discussion list" <panrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/panrg>, <mailto:panrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/panrg/>
List-Post: <mailto:panrg@irtf.org>
List-Help: <mailto:panrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/panrg>, <mailto:panrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 24 Mar 2022 14:06:17 -0000

Hi !

Many thanks for the friendly words - actually, many thanks to everyone today for that!
Some comments below:


> On Mar 24, 2022, at 2:40 PM, Holland, Jake <jholland=40akamai.com@dmarc.ietf.org> wrote:
> 
> Hi Panrg and Spencer,
>  
> I might have liked Michael’s proposal too,

Keith & Michael’s !   Importantly, Keith deserves the credit for splitting this off into a separate protocol, which is the really main deal here IMO.


> I’m still not quite sure yet.  To me the tricky-sounding parts go beyond multipath (though multipath can certainly be a stopper or complication for some potential solutions).
>  
> Stuff I like:
> I think it makes great sense in general to find a way to give the endpoints some kind of hint and ongoing guidance saying “your end-to-end congestion controller is probably going to be making deeply stupid performance choices unless you listen to me”, which I think(?) is roughly the core purpose of a PEP.
> I also think the hash-based acking of packets (I think at the UDP payload layer?) is a natural mechanism to do that with, once you’ve got the endpoint<->PEP communication channels you’d need.
>  
> Stuff I’m unsure of:
> The part about how to get the endpoint-PEP communication channels you’d need sounds tricky
> I’m not so sure about ignoring multiple on-path PEPs.  If you want to handle both satellite and microwave, it’d be nice not to declare that out of scope too early.  (I won’t insist on including it in the end if there’s an otherwise good proposal that can’t do that, but I would prefer answers to “how to do the endpoint-PEP communication” that don’t make this impossible, if there are multiple answers that are approximately equally good.)

So we all agree that there are some tricky things to work out - and that’s even with only a single SC proxy. Sure, supporting multiple would be nice, but … you don’t even need to consider multipath to see problems with this.
First, SC proxy 2 ACKs to SC proxy 1 about a specific flow X. Then, flow X doesn’t even traverse SC proxy 1 anymore, only SC proxy 2. How would SC proxy 2 know?

That thought alone made me feel like looking at the root of a tree… out of which endless branches can grow.


>  I can think of a few ways to do those endpoint-PEP channels, but if you want to talk to the client side as a PEP you’re going to very likely have NAT issues too,

Yes; they are easier when piggybacking ACKs, because this signaling traffic then shares the same tuple as the main traffic, but otherwise, NATs can prevent some use cases, and there is the problem of identifying the “main” traffic the SC is talking about. Again multiple design choices there...


> and I think(?) you might need to talk to the client side to do a good job as a pep.  At very least if you want retransmits after downstream loss to be a part of this story, but probably also if you want to be able to drain the pep’s queue in a reasonable way.

That really depends on the use case.


>  So maybe you have to successfully talk to the server first (which a PEP could maybe do on a well-known port on the sender’s IP, offering a client cert to identify itself so servers can do some vetting?)

Yes…


> and the server could relay the PEP’s server name to the client so it could open a connection and get the channel it needs as well?

Aha; maybe?


>   I’m not sure.  I don’t offhand see another way for the PEP to reach the client thru a NAT unless it injects something in the target stream in a way that passes the NAT, which seems... probably trickier.

I don’t think the client always needs to be involved to be able to do some good with this. As I tried to illustrate with the two use cases, what needs to change really depends on the case it is.

 
> Anyway, very interesting question.  I do hope there’s a good answer here, and thanks Michael and Keith for raising it, you’ve definitely got me thinking.

Thanks for the feedback! :)

 
> -Jake
>  
> PS: I think some PEPs operate as a 2-ended tunnel over (for instance) a satellite link, rather than a single on-path node.  I think some possible approaches here won’t care, but others might.

Aha - with tunneling, the problem above probably goes away, yes…

Cheers,
Michael


>  
>  
> From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
> Date: Thu,2022-03-24 at 5:44 AM
> To: "panrg@irtf.org" <panrg@irtf.org>
> Subject: [PANRG] About Michael's proposal on sidecar protocols in PANRG today
>  
> Dear PANRG,
>  
> I liked Michael's proposal, and I suggest that we spend some time thinking about interaction with multiplath, now that all REAL transport protocols support multipath ... 😀
>  
> Best,
>  
> Spencer
> _______________________________________________
> Panrg mailing list
> Panrg@irtf.org
> https://www.irtf.org/mailman/listinfo/panrg