Re: [Taps] New Transport Networking APIs in iOS 12 beta

Michael Welzl <michawe@ifi.uio.no> Sun, 10 June 2018 08:02 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B863C130E1F for <taps@ietfa.amsl.com>; Sun, 10 Jun 2018 01:02:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham 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 Xp0ol8MG-n-3 for <taps@ietfa.amsl.com>; Sun, 10 Jun 2018 01:02:40 -0700 (PDT)
Received: from mail-out02.uio.no (mail-out02.uio.no [IPv6:2001:700:100:8210::71]) (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 307FC130E1E for <taps@ietf.org>; Sun, 10 Jun 2018 01:02:39 -0700 (PDT)
Received: from mail-mx04.uio.no ([129.240.10.25]) by mail-out02.uio.no with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from <michawe@ifi.uio.no>) id 1fRvJ7-00059H-9W; Sun, 10 Jun 2018 10:02:37 +0200
Received: from 93-58-133-64.ip158.fastwebnet.it ([93.58.133.64] helo=[10.0.0.2]) by mail-mx04.uio.no with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) user michawe (Exim 4.91) (envelope-from <michawe@ifi.uio.no>) id 1fRvJ5-0000uZ-Br; Sun, 10 Jun 2018 10:02:37 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
From: Michael Welzl <michawe@ifi.uio.no>
In-Reply-To: <268D7E06-1D1D-4F70-9336-98EAF1BB5605@apple.com>
Date: Sun, 10 Jun 2018 10:02:31 +0200
Cc: "taps@ietf.org" <taps@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <3EEFA4C8-D9D2-45E8-98FD-55BEA12706E9@ifi.uio.no>
References: <1C14F32A-3ADC-4D35-B800-091697E83AD6@apple.com> <63A71B2E-96E4-402A-89E2-667DDF8B1D08@lurchi.franken.de> <268D7E06-1D1D-4F70-9336-98EAF1BB5605@apple.com>
To: Tommy Pauly <tpauly@apple.com>
X-Mailer: Apple Mail (2.3273)
X-UiO-SPF-Received: Received-SPF: neutral (mail-mx04.uio.no: 93.58.133.64 is neither permitted nor denied by domain of ifi.uio.no) client-ip=93.58.133.64; envelope-from=michawe@ifi.uio.no; helo=[10.0.0.2];
X-UiO-Spam-info: not spam, SpamAssassin (score=-4.9, required=5.0, autolearn=disabled, AWL=0.093, TVD_RCVD_IP=0.001, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: 08E764B50A25984BE5998746B0C3BA4C7517D2B0
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/8sVBclK15qz2YnNNWsYNeKUy9RA>
Subject: Re: [Taps] New Transport Networking APIs in iOS 12 beta
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: "IETF Transport Services \(TAPS\) Working Group" <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 10 Jun 2018 08:02:43 -0000

Hi,

This - in particular your answer to Michael - is indeed extremely cool! Thanks to you and your colleagues at Apple for pursuing this direction, and thanks for sharing it with the group!

About this statement in the original email:
***
Either way, we’d love for everyone to take a read through the API and give feedback on how we can continue to evolve things towards a post-sockets and fully TAPS model.
***

I think an obvious answer to this is: the more in line with draft-ietf-taps-interface it is, the better - and where it’s not, it would probably be interesting for the group to know the reasons.

Cheers,
Michael



> On Jun 9, 2018, at 10:54 PM, Tommy Pauly <tpauly@apple.com> wrote:
> 
> Hello Michael,
> 
> The architecture is designed specifically to allow loading different protocols. The parameters object is centered around a “protocol stack” configuration object, which is composed of protocol options for defined protocol implementations. This only exposes a default stack now, but is designed to offer the configuration of alternate stacks as well. In this first version, we’re only letting developers compose stacks with pre-defined protocols, but I want to allow custom protocol definitions and implementations going forward—for both simple framers, as well as full blown transports like SCTP and QUIC! The model of the connection sending and receiving messages is sufficiently generic to support any of the TAPS protocols. 
> 
> Best,
> Tommy
> 
> On Jun 9, 2018, at 11:38 AM, Michael Tuexen <Michael.Tuexen@lurchi.franken.de> wrote:
> 
>>> On 8. Jun 2018, at 18:29, Tommy Pauly <tpauly@apple.com> wrote:
>>> 
>>> Hello TAPS!
>>> 
>>> This week we released Network.framework, a new set of transport APIs, as part of the beta for iOS 12 and macOS Mojave.
>>> 
>>> This API provides support for connections and listeners using TCP, UDP, TLS, and DTLS; connecting by name or service, with happy eyeballs support for addresses, interfaces, and protocols (for proxies, etc). This provides our basis for “post-sockets” API work. As we define as a working group more of the full TAPS API vision for protocol agility, we'd like on add that support to this framework. 
>> Hi Tommy,
>> 
>> great news!
>> Is there also a possibility to add new transports to the framework, like
>> SCTP or QUIC?
>> 
>> Best regards
>> Michael
>>> 
>>> Video of the presentation:
>>> https://developer.apple.com/videos/play/wwdc2018/715/
>>> 
>>> Sample implementation of netcat:
>>> https://developer.apple.com/documentation/network/implementing_netcat_with_network_framework
>>> 
>>> Swift and C API:
>>> https://developer.apple.com/documentation/network
>>> 
>>> If you are an iOS or macOS developer, please try out the APIs! Either way, we’d love for everyone to take a read through the API and give feedback on how we can continue to evolve things towards a post-sockets and fully TAPS model. Note that on iOS and tvOS, this framework is currently using a user-space networking stack instead of sockets when applicable.
>>> 
>>> Best,
>>> Tommy
>>> _______________________________________________
>>> Taps mailing list
>>> Taps@ietf.org
>>> https://www.ietf.org/mailman/listinfo/taps
>> 
>> _______________________________________________
>> Taps mailing list
>> Taps@ietf.org
>> https://www.ietf.org/mailman/listinfo/taps
> 
> _______________________________________________
> Taps mailing list
> Taps@ietf.org
> https://www.ietf.org/mailman/listinfo/taps