Re: [Udp35] TAPS BOF and moving the transport API forward

Michael Welzl <michawe@ifi.uio.no> Thu, 22 May 2014 14:13 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: udp35@ietfa.amsl.com
Delivered-To: udp35@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6EA9D1A017A for <udp35@ietfa.amsl.com>; Thu, 22 May 2014 07:13:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.551
X-Spam-Level:
X-Spam-Status: No, score=-2.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.651] autolearn=ham
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 66TkFEptYgjC for <udp35@ietfa.amsl.com>; Thu, 22 May 2014 07:13:52 -0700 (PDT)
Received: from mail-out5.uio.no (mail-out5.uio.no [IPv6:2001:700:100:10::17]) (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 30F511A0176 for <udp35@ietf.org>; Thu, 22 May 2014 07:13:52 -0700 (PDT)
Received: from mail-mx4.uio.no ([129.240.10.45]) by mail-out5.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1WnTki-0002b8-Be; Thu, 22 May 2014 16:13:48 +0200
Received: from boomerang.ifi.uio.no ([129.240.68.135]) by mail-mx4.uio.no with esmtpsa (TLSv1:AES128-SHA:128) user michawe (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1WnTkh-0006zw-Nf; Thu, 22 May 2014 16:13:48 +0200
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset="iso-8859-1"
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <966E90E6-5DD3-4897-8891-9ABBB3203274@trammell.ch>
Date: Thu, 22 May 2014 16:13:47 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <AF068429-8094-4558-9038-A443377B02DD@ifi.uio.no>
References: <537B6932.9050809@erg.abdn.ac.uk> <537BA5CF.4000602@gmail.com> <2f67fd4139a3a40a2df96f1e7db57a95.squirrel@www.erg.abdn.ac.uk> <537DD281.5030408@gmail.com> <A8BF265F-DAEB-426C-9616-0A60AAD6A35F@ifi.uio.no> <966E90E6-5DD3-4897-8891-9ABBB3203274@trammell.ch>
To: Brian Trammell <ietf@trammell.ch>
X-Mailer: Apple Mail (2.1283)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 5 msgs/h 1 sum rcpts/h 9 sum msgs/h 3 total rcpts 16649 max rcpts/h 44 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-6.1, required=5.0, autolearn=disabled, RP_MATCHES_RCVD=-1.051, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: BDA1C7689EC5B6CB1D24CCC4C35265604554CAE7
X-UiO-SPAM-Test: remote_host: 129.240.68.135 spam_score: -60 maxlevel 80 minaction 2 bait 0 mail/h: 1 total 5428 max/h 16 blacklist 0 greylist 0 ratelimit 0
Archived-At: http://mailarchive.ietf.org/arch/msg/udp35/HzCXl1N7BG3x3268NR2cGJAMheY
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, Martin Stiemerling <mls.ietf@gmail.com>, Spencer Dawkins <spencerdawkins.ietf@gmail.com>, udp35@ietf.org
Subject: Re: [Udp35] TAPS BOF and moving the transport API forward
X-BeenThere: udp35@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Life beyond UDP <udp35.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/udp35>, <mailto:udp35-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/udp35/>
List-Post: <mailto:udp35@ietf.org>
List-Help: <mailto:udp35-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/udp35>, <mailto:udp35-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 22 May 2014 14:13:59 -0000

On 22. mai 2014, at 14:05, Brian Trammell wrote:

> hi Michael,
> 
> (copying the udp35 list)
> 
> On 22 May 2014, at 12:56, Michael Welzl <michawe@ifi.uio.no> wrote:
> 
>> Hi,
>> 
>> Here's a suggestion. I'm cc'ing the mailing list because in case you disagree this isn't helpful - after all I'm missing context of what happened at your retreat. But I do have a suspicion that we're all on the same page here, so I'll try a simple suggestion:
>> 
>> When I first approached the IETF, my take was to go bottom-up: define the services of existing IETF transports, create a protocol-independent socket API from that. Not because I think that this is what the long-term solution should be, but because I think this is needed as a starting point.
> 
> I see the starting point differently, though also bottom-up:
> 
> (1) define the dimensions of transport services...
>   (1a) provided by existing IETF transports, and/or
>   (1b) required by existing applications (e.g., there's a gap in RTCWEB here plugged by SCTP/DTLS)
> (2) determine other combinations of these transport service dimensions that make sense (e.g. Minion occupies another spot in this space) 
> (3) make recommendations for combining these dimensions in user-space transport protocols (in a way that leads to interoperable implementations of these; this is the "mix-ins" idea); this requires us to

"mix-ins" => do you have a pointer? Sorry if you presented it at an IETF and I forgot about that.


>   (3a) define a standard method for implementing user-space transport protocols that is deployable on the present Internet, preferably in a way that does not explicitly escalate the middlebox arms race.
> (4) (possibly) make recommendations for the interface that implementations of (3) should provide to applications.

I'm not sure I buy the need and/or feasibility of 3a, but I'm also not sure we need to agree about this, at this point in time. Probably it's enough if we agree on the starting points  :-)


>> At the Vancouver bar BOF, I was surprised that folks wanted more: support of higher-level APIs, not just being bound to current RFC-defined transports, etc. This is good, but it does create a larger space of work, and is potentially a much longer-term story, which is why I didn't think we could go there in the first place.
>> 
>> => would it now perhaps be the right time to split this into:
> 
> It seems to me that splitting the effort in to "things we can/should do now" and "things we are not sure about" is a very good idea. I have some detail-level disagreements with where to draw the line, I think.
> 
>> 1) an IETF TAPS WG that does a *socket* API extension only, based on an analysis of given transports, and a recommended way of implementing this (happy eyeballing ++ )
> 
> It seems like (1) and (2) above mostly overlap between the way we've been looking at this in udp35 and the path TAPS has taken; this intersection could be the scope for a WG-forming BoF or a direct WG formation, after a bit more discussion to nail down the differences.

I agree (although my proposal for a starting point was even narrower; I'm fine with broader, whatever works...)


> I'm concerned (as in the previous message) that doing this in a TSV area WG will keep us from getting good cross-area participation, so another possibility is forming an IAB program around this activity.
> 
> In any case (1) should definitely continue moving forward regardless of venue.

... and (1a) doesn't have the cross-area participation problem, it can be done in TSV.


> I'm not convinced building (4) makes a lot of sense without (3a). But discussing that further is what this list is for. :)

I agree. Can you elaborate on (3): why, what? I'm not sure I'm with you here...


>> 2) an IRTF activity of some sort that is a home for:
>> - how to map higher-level APIs onto a lower socket API
>> - how to define more general services ("give me low latency instead of high bandwidth")
> 
> I'm not sure what's different between these two points and "socket API extensions only" in the TAPS WG scope above?

Sorry for not making it clear enough: with "socket API extensions only" I meant something that's low-level, i.e. no mapping onto higher-level APIs, no general services, but exposing the things that transport currently do, at the abstraction level at which they do it, without exposing the protocol. Exactly the exercise we did in:
http://heim.ifi.uio.no/~michawe/research/publications/futurenet-icc2011.pdf
http://heim.ifi.uio.no/~michawe/teaching/dipls/stefan_joerer.pdf

=> I think this is the stuff we really need to do no matter what, it's your (1a). It's not enough to solve the problem we want to solve, but we won't get anywhere without having done that.


>> - what services could/should be defined, based on use cases, which aren't yet available
> 
> This third point covers my point 1b/2, and I think is also necessary to do earlier rather than later...

I'm fine with doing these things early - but pretty much anything beyond your (1a) (plus signaling, as you suggest - see the second email, coming..) will make things more complicated community-wise as this then goes across areas. (1a) is a much simpler case.


> It seems like we're getting there...

Yes! Indeed that's the conversation we need to have

Cheers,
Michael