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

Tommy Pauly <tpauly@apple.com> Sat, 09 June 2018 20:54 UTC

Return-Path: <tpauly@apple.com>
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 88010130F7C for <taps@ietfa.amsl.com>; Sat, 9 Jun 2018 13:54:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.41
X-Spam-Level:
X-Spam-Status: No, score=-2.41 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.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 4WtYSB86Rz7q for <taps@ietfa.amsl.com>; Sat, 9 Jun 2018 13:54:50 -0700 (PDT)
Received: from mail-in7.apple.com (mail-out7.apple.com [17.151.62.29]) (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 EAAEB130E4C for <taps@ietf.org>; Sat, 9 Jun 2018 13:54:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1528577689; x=2392491289; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-version:Content-type: Content-transfer-encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-reply-to:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=zMJMjbFcLCPE0P1PaLnIOFzXLAldlJusKqzLy5nFYlA=; b=qrz5EYiAoip6C1LntDQWIH1tkV4fzmF1eCyPPagximWw32hH4+7pQmg0hcaeL2pE B/bUM48toy9iIYQ3E8DI3NQ3gU0ci6hY/RG1VmVxEaBcdAkfjZJa+3BY6FmPNbqF XEzQ11HueH86ihYaX2zNrfEuYbQ/VL28ARpLxY2PUL3ssx9zC2BdUojFiKc8quOj wO/XBEb5D+1HOc4Lb8DOkYinfcFYwHZfhEJB98AEhjtLwge8on8bOWAR7KY56DAc uGuEZl58TlxmYIR1LafJYFvSOZTwDviinOV6M9E/DY4/EjFoxlSujHxopzSo2dK1 hAQ61/ZZSur+jVokfUTokw==;
X-AuditID: 11973e16-6f1ff7000000740c-9e-5b1c3e98de08
Received: from ma1-mtap-s01.corp.apple.com (ma1-mtap-s01.corp.apple.com [17.40.76.5]) (using TLS with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail-in7.apple.com (Apple Secure Mail Relay) with SMTP id 15.CF.29708.99E3C1B5; Sat, 9 Jun 2018 13:54:49 -0700 (PDT)
MIME-version: 1.0
Content-type: text/plain; charset="utf-8"
Received: from nwk-mmpp-sz09.apple.com (nwk-mmpp-sz09.apple.com [17.128.115.80]) by ma1-mtap-s01.corp.apple.com (Oracle Communications Messaging Server 8.0.2.2.20180329 64bit (built Mar 29 2018)) with ESMTPS id <0PA200F1IQ3CBI50@ma1-mtap-s01.corp.apple.com>; Sat, 09 Jun 2018 13:54:48 -0700 (PDT)
Received: from [17.234.78.219] (unknown [17.234.78.219]) by nwk-mmpp-sz09.apple.com (Oracle Communications Messaging Server 8.0.2.2.20180403 64bit (built Apr 3 2018)) with ESMTPSA id <0PA20033RQ3B4D40@nwk-mmpp-sz09.apple.com>; Sat, 09 Jun 2018 13:54:48 -0700 (PDT)
X-Va-A:
X-Va-T-CD: bc857b5a723901ec4a5cc604c5f83aa4
X-Va-E-CD: 36910ef1a06ecb6cf7c143959f25f86c
X-Va-R-CD: 523f5b9545ee69ad6998eb029acd3ffa
X-Va-CD: 0
X-Va-ID: f65a641e-7378-4b0a-a927-07a23cf7f31b
X-V-A:
X-V-T-CD: d0525724cfd3263b084184409139b675
X-V-E-CD: 36910ef1a06ecb6cf7c143959f25f86c
X-V-R-CD: 523f5b9545ee69ad6998eb029acd3ffa
X-V-CD: 0
X-V-ID: 51fbfca9-0f7a-46a3-89d7-97330b5b3dc5
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-06-09_10:,, signatures=0
Sender: tpauly@apple.com
From: Tommy Pauly <tpauly@apple.com>
X-Mailer: iPhone Mail (16A5288q)
In-reply-to: <63A71B2E-96E4-402A-89E2-667DDF8B1D08@lurchi.franken.de>
Date: Sat, 09 Jun 2018 13:54:46 -0700
Cc: taps WG <taps@ietf.org>
Content-transfer-encoding: quoted-printable
Message-id: <268D7E06-1D1D-4F70-9336-98EAF1BB5605@apple.com>
References: <1C14F32A-3ADC-4D35-B800-091697E83AD6@apple.com> <63A71B2E-96E4-402A-89E2-667DDF8B1D08@lurchi.franken.de>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrBIsWRmVeSWpSXmKPExsUiqOHDqjvTTiba4PBPLYuLTUsYLe7EODB5 LFnyk8ljQ8sOpgCmKC6blNSczLLUIn27BK6MCcsXsRScFK2YtVa4gfGrYBcjJ4eEgInE8+9b mLsYuTiEBPYxSVzYMZUNJMErICjxY/I9li5GDg5mAXWJKVNyIWo2MEncmnWFBcKZyCSx88FD FohJ7BJ/fu2AsrUlnrzpZIaxT99phYsf2HWTDcLmkliw9TQrhK0r0Xr5HDuEzSax/sQSJghb S+LO8W9wdk/rH2YYu23Cc6g5nBLnv0yE6tWROHG4A2pXtsSym7eYQB4QFpCQ2LwnEcJ0kGja IQZSwSagInH82waoiQoS++8tAZvCKeAqcePjd7DpLAKqEq2Nk8AuYBaQllj6bTIjhA304bsL rCAjeQVsJDZssAEJCwmUS/RuvAf2lIiAqcTB5fNYJjDKzUIK0FmIAJ2FZNACRuZVjEK5iZk5 upl55nqJBQU5qXrJ+bmbGEFRPd1ObAfjw1VWhxgFOBiVeHgbfkpHC7EmlhVX5h5ilOZgURLn LRMECgmkJ5akZqemFqQWxReV5qQWH2Jk4uCUamDMD9v/Sf6pXcT7T+o7dASf1/IFpxhO2+Jc WPAi6zwXQ+MG++SP64N2bLmUuClWo2wXx0e+6edu3Vkmv/7I7zXPd29tTHkYkz51pztrMt/2 /As/502JTRJ6mlA3tTY5yljRPsdr4c0vi98vOHtvp/Zc5sovd2NXbsqRqclLLXx/4RDLjJUy 4dNslFiKMxINtZiLihMBrJUkF8sCAAA=
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/0KLphSSt4SO3OchwfHYKz2ah0uk>
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: Sat, 09 Jun 2018 20:54:53 -0000

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