[v6ops] Apple and IPv6 - new NAT64 address synthesis API

David Schinazi <dschinazi@apple.com> Fri, 30 October 2015 04:51 UTC

Return-Path: <dschinazi@apple.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 204281B3720 for <v6ops@ietfa.amsl.com>; Thu, 29 Oct 2015 21:51:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.411
X-Spam-Level:
X-Spam-Status: No, score=-2.411 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 cX5xIV16QyPW for <v6ops@ietfa.amsl.com>; Thu, 29 Oct 2015 21:51:42 -0700 (PDT)
Received: from mail-in4.apple.com (mail-out4.apple.com [17.151.62.26]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 77EA81B371F for <v6ops@ietf.org>; Thu, 29 Oct 2015 21:51:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1446180702; x=2310094302; 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=9T+cQCB2086pgwhqIhiLBZ2FTlyn23+9x0b5x8G/ym4=; b=NT1KcnAcpinbx6PM0nrJBSXmIPPYUtCbfrWqcX7UAoKupCcnsTKc7UnSRBclAMj/ pXYDen0x/u5TRTYFyY81XGHIdNaC1k3xYaPmg7ks3LCARsQB+kGVPqxYnRxcZjmb nE0d3cwHZaDLc9bxvpU0mR0QRbJWzeSBRT/snvftwTGyt8DTtry+xyA9iarG/csA ahERsmUj0mKkglxfZTr6cgAfjKHEnQUROUqn4+54VF4a958lioUddkqyXD3qsLtz 7S+2LGioMhNybGH9vDbUhWUAi0bw8ndWGpSXobQTO7SGZLtgh78ItI0Z1bH74Opo uuqPBMjI6HpanxKoDIpsKw==;
Received: from relay8.apple.com (relay8.apple.com [17.128.113.102]) by mail-in4.apple.com (Apple Secure Mail Relay) with SMTP id 35.FA.12069.E57F2365; Thu, 29 Oct 2015 21:51:42 -0700 (PDT)
X-AuditID: 11973e12-f79c06d000002f25-fc-5632f75e87d4
Received: from kencur (kencur.apple.com [17.151.62.38]) (using TLS with cipher DES-CBC3-SHA (168/168 bits)) (Client did not present a certificate) by relay8.apple.com (Apple SCV relay) with SMTP id 70.FA.29028.D57F2365; Thu, 29 Oct 2015 21:51:42 -0700 (PDT)
Received: from [17.153.16.142] by kencur.apple.com (Oracle Communications Messaging Server 7.0.5.30.0 64bit (built Oct 22 2013)) with ESMTPSA id <0NX000IRFO64PU00@kencur.apple.com> for v6ops@ietf.org; Thu, 29 Oct 2015 21:51:41 -0700 (PDT)
Sender: dschinazi@apple.com
From: David Schinazi <dschinazi@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_0DECF4E9-B6FF-4287-9D66-A966260B7BC5"
Message-id: <ED8066C1-76D8-4BCD-BA8F-5D5F9F4FEA21@apple.com>
Date: Thu, 29 Oct 2015 21:51:44 -0700
To: v6ops@ietf.org
MIME-version: 1.0 (Mac OS X Mail 9.1 \(3096.5\))
X-Mailer: Apple Mail (2.3096.5)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrELMWRmVeSWpSXmKPExsUi2FCYphv33SjM4Nc8ZovTx/YyOzB6LFny kymAMYrLJiU1J7MstUjfLoErY+30ZvaCJs2Ktfv62BsYryt3MXJySAiYSDROWc4EYYtJXLi3 nq2LkYtDSGAfo0Tn32ZGmKK9mz+zQCTamSROvz3BDuF8YZQ4M/URG0iVsIC0RNeFu6xdjBwc bAJaEgfWGIGEmQWSJJ5tvsoOUWIpsf3kD7ByXgEbiTmPtjGD2CwCqhLtS+eBxUUEhCR2PGti gqgxkPh/tZEd4gh5iZ8rG5hA9koITGCT+P7lLMsERoFZSHbMQtIDEdeWWLbwNTOErSmxv3s5 C6a4hkTnt4msCxjZVjEK5SZm5uhm5pnoJRYU5KTqJefnbmIEBfJ0O6EdjKdWWR1iFOBgVOLh /ZFgFCbEmlhWXJl7iFGag0VJnHftfqCQQHpiSWp2ampBalF8UWlOavEhRiYOTqkGxpTtTy4U XrSKKy7bcvZR4IHfLmJFiwzXlO1xORm1Rckp8Nu89f7TjdZc79zdq2Y40eVRRdrpTmNL4+n/ FJv2cHvscZxeFmklJx5lJuLJ7Okp/Ijr3Nrdcq1dvxZ3Pf1bNEtZ+ZOx1c57x/TcsgOrw087 JK5LnnJ89d+jYh/Edv2/dJGzcq/0VSWW4oxEQy3mouJEAC620kRFAgAA
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprNIsWRmVeSWpSXmKPExsUiON1OTTfuu1GYwQ85i9PH9jI7MHosWfKT KYAxissmJTUnsyy1SN8ugStj7fRm9oImzYq1+/rYGxivK3cxcnJICJhI7N38mQXCFpO4cG89 WxcjF4eQQDuTxOm3J9ghnC+MEmemPmIDqRIWkJbounCXtYuRg4NNQEviwBojkDCzQJLEs81X 2SFKLCW2n/wBVs4rYCMx59E2ZhCbRUBVon3pPLC4iICQxI5nTUwQNQYS/682skMcIS/xc2UD 0wRG3llIxs5CUgYR15ZYtvA1M4StKbG/ezkLpriGROe3iawLGNlWMQoUpeYkVlroJRYU5KTq JefnbmIEhV1DYdoOxqblVocYBTgYlXh4A5KNwoRYE8uKK3MPMUpwMCuJ8P6+BBTiTUmsrEot yo8vKs1JLT7EOJER6JuJzFKiyfnAqMgriTc0MTEwMTY2MzY2NzGnpbCSOG8cq2GYkEB6Yklq dmpqQWoRzFFMHJxSDYw97S8Nax/+Wz9brGXn7y9Hr8RI8jhudPMXT5YJuWIUHPRCtMXHzolN esoLvzeLdv5cXaOZKlW4xswo2Tp07TFZV/E9qpEf3Oa/e9131+LK7hez2d+/NT69zMTGqepB 6c7ff7pfVvk7985g6RF+trV1hYiAx3Q73XBlp+spl+Y8jMthu24xp1aJpTgj0VCLuag4EQB7 4KRFrgIAAA==
Archived-At: <http://mailarchive.ietf.org/arch/msg/v6ops/hS4I6GBQe1c3HX7-THQVk36MjJ8>
Subject: [v6ops] Apple and IPv6 - new NAT64 address synthesis API
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Oct 2015 04:51:44 -0000

Hi everyone,

This week Apple released the first betas of iOS 9.2 and OS X 10.11.2.
With it, we’ve introduced a new API to allow developers to synthesize NAT64 IPv6 addresses from IPv4 literals.
We’re hoping that this will help more applications support NAT64 networks correctly while they work on getting server support for IPv6.
As usual, we’d love feedback from the IETF community.

The API is very simple: we ask developers to always ``resolve'’ their IPv4 literals using getaddrinfo() by treating their IPv4 literal as a hostname string (e.g. ``192.0.2.1''), and we will take care of returning an IPv4 sockaddr on IPv4 networks and an appropriately synthesized NAT64 IPv6 sockaddr when the network supports IPv6, NAT64 and DNS64 but not IPv4. This is accomplished using RFC 6052 and RFC 7050.

Our target audience is application developers that need to communicate to an IPv4-only host for which they do not have a hostname. An example is a P2P service transmitting IPv4 literals over the wire. We do agree that the correct long-term solution is IPv6 support for all hosts and protocols but this is an effort to ease the transition. We believe this will help fix any remaining apps that do not support IPv6 before we start rejecting them from the App Store in early 2016.

More details and a code sample can be found on the Apple documentation website:

https://developer.apple.com/library/prerelease/tvos/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-DontLinkElementID_4 <https://developer.apple.com/library/prerelease/tvos/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-DontLinkElementID_4>

Thanks,
David Schinazi
Apple CoreOS Networking Engineer