Re: [v6ops] The need for local-ipv4 socket transition solutions -- NAT64/DNS64 remains insufficient
James Woodyatt <jhw@nestlabs.com> Mon, 27 April 2015 18:21 UTC
Return-Path: <jhw@nestlabs.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 9FA021A90C0 for <v6ops@ietfa.amsl.com>; Mon, 27 Apr 2015 11:21:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.378
X-Spam-Level:
X-Spam-Status: No, score=-1.378 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=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 9Lt-4FstFaZA for <v6ops@ietfa.amsl.com>; Mon, 27 Apr 2015 11:21:21 -0700 (PDT)
Received: from mail-wi0-x22b.google.com (mail-wi0-x22b.google.com [IPv6:2a00:1450:400c:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 614471A90BF for <v6ops@ietf.org>; Mon, 27 Apr 2015 11:21:21 -0700 (PDT)
Received: by wizk4 with SMTP id k4so110323850wiz.1 for <v6ops@ietf.org>; Mon, 27 Apr 2015 11:21:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nestlabs.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=j83H1lrXsSB4AXYXB/qbfLmsp/EEp/vKuZZZW9Sx2qs=; b=WoPmnaLqmj5umaOhzi9MdC4bEm0ILvyZN3cfIgZ4GAZ4eH3AJJC8STYgxIZ16cSIQ7 SRQvKOiXWEp3F8geyBmi91qDMh0b+cy2jjS81Dl2nkB9UIw+TkIT2VR18euDtWhu9+Tk ANuBuZoGpby8pL7UNeDHcHoevD3BsEf24iOKQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=j83H1lrXsSB4AXYXB/qbfLmsp/EEp/vKuZZZW9Sx2qs=; b=hB68KdmYTNAr6xatUE6xStV5ZeHC603XI7i/0daCf1yxlEJoZ3ssTkzvp3rNG6rGu5 qTpSq18I5C2Q6Me/44jERB8gMm3spRCMr/pb02jABZKUBX6JHVDBqnjAe2bCS8/k4J+J Nuqy5aMPsTc2A9+TzsIjSSR64Bz4TCtfIXwNX0a08+giaiEjkVIOS5i6xPveL5HZZ7zN CMdSFDhUZzq/jy8DwQ9WvD3L/Dm0Y+y6vDhr/tiQgcolJFAweEvaEiDKL5N0orRL4SV2 dGuRacEKWwe23WZo0Jbhc5KZ9FMCyaOCXtjkbF/O0c8HD6m+fBgLweXYTMXqkm1jwc/Z JaYw==
X-Gm-Message-State: ALoCoQlTZ9S9VM0SQW0F7oaPRnGDjtcevzMZqOggeRpSckWHKW7DsTaMNi+DKtNM//4+y/ArS2/e
MIME-Version: 1.0
X-Received: by 10.194.52.10 with SMTP id p10mr24013224wjo.98.1430158880061; Mon, 27 Apr 2015 11:21:20 -0700 (PDT)
Received: by 10.28.16.1 with HTTP; Mon, 27 Apr 2015 11:21:19 -0700 (PDT)
In-Reply-To: <1B8ED9D0-AF02-4F3A-BFFB-D14AD0B5E043@nominum.com>
References: <CAD6AjGT-hG-uvRQvRosrZtfrf0Nb8ne9jy=tD9oh=5zNM42Xsg@mail.gmail.com> <CAD6AjGTcKgK8W+VB1H5EQpHaYiKVYXqOz_2RS-w_CiTf9kL2CQ@mail.gmail.com> <CADhXe530+OVZrFZVaYh1-zoRDvJhUd0rf4sx6a2nO8SvKmm6zg@mail.gmail.com> <CAPi140PQ+TF0rED_bQPeS=Fj415qt0-zE2RdGnEL34PAzHyx6Q@mail.gmail.com> <CAD6AjGTjXAeMF6pw5MO2Jrf9B8LJ48D3m1YTVkdBe=_OHjtroQ@mail.gmail.com> <CADhXe51TCqU2eMP4LS3DooZxQDAPD95OVJDXbiU7qvuvKCMq+w@mail.gmail.com> <CAKD1Yr2=zc57+pOA9TFs+0azw0ZR1g67+08T=9eZPHjGXBvgFQ@mail.gmail.com> <CADhXe53T_30pj7xxwNs=mWEnd=do6oiq3KgN=U-gHLrLF-gG7Q@mail.gmail.com> <D1441574.4C168%wesley.george@twcable.com> <CAD6AjGQrzoBJrqQfKO0N8Ji=oJ-ZP6Sn88sXf=opJ6bYVmTDZg@mail.gmail.com> <552102B0.6070904@cernet.edu.cn> <35D97B17-8E83-43CF-ABEF-122572F1321A@eircom.net> <552369C8.5000801@cernet.edu.cn> <CADhXe51BDuPhc8wdKGmRiBfSnrz7PMtqYXaoDO+5cwLx_xW2tw@mail.gmail.com> <55290E26.8080500@cernet.edu.cn> <CADhXe50zz9EtNtifMh+tN9XT-jKCTJB=vsQ6uG515iddOo7f2Q@mail.gmail.com> <6536E263028723489CCD5B6821D4B21303E8C63A@UK30S005EXS06.EEAD.EEINT.CO.UK> <67A2A6E4-0603-4E84-8534-EA6C706C6D5D@lists.zabbadoz.net> <6536E263028723489CCD5B6821D4B21303E8CBAB@UK30S005EXS06.EEAD.EEINT.CO.UK> <0C3D10F1-B8AF-4097-91C6-D92CDDD5978D@nominum.com> <CAD6AjGR65jtZN4NV62p1XnUgoQRC+h=ELmsLcQaFTdrToMtwRA@mail.gmail.com> <CADhXe53VJeUDLpq2fpdndXF1VyPzQLTO=3LEYqbpOFmEPNbCJw@mail.gmail.com> <54AE4471-B568-4A92-B12D-137AD5950B60@nominum.com> <CADhXe52acGYR-y7VNpfXt=OQK7uqm1vNyHL3mwGhX8cpaYyW3A@mail.gmail.com> <CAKD1Yr0UAYH+tCc7LCLWbqzqiez7kZNJ8mVH3FB-K1LvnjXVUQ@mail.gmail.com> <CADhXe5302YTxvTSqoOyXJSMiT_vpuhkZPiE3W1Kty8E-Pd89nw@mail.gmail.com> <CAKD1Yr0snsxmHMXazJfKFhYhOpj3a+wNKcGuhHLgLXAhd07ixg@mail.gmail.com> <1B8ED9D0-AF02-4F3A-BFFB-D14AD0B5E043@nominum.com>
Date: Mon, 27 Apr 2015 11:21:19 -0700
Message-ID: <CADhXe53ncjBnODurNDcLp4pYGjFi8YOoxd-r_HWfueyp4KDFVw@mail.gmail.com>
From: James Woodyatt <jhw@nestlabs.com>
To: Ted Lemon <Ted.Lemon@nominum.com>
Content-Type: multipart/alternative; boundary="047d7bae428604d3c40514b8d038"
Archived-At: <http://mailarchive.ietf.org/arch/msg/v6ops/xs1u0pSoPcpFUJFHSZ9AukSgQZ0>
Cc: IPv6 Ops WG <v6ops@ietf.org>
Subject: Re: [v6ops] The need for local-ipv4 socket transition solutions -- NAT64/DNS64 remains insufficient
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: <http://www.ietf.org/mail-archive/web/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: Mon, 27 Apr 2015 18:21:23 -0000
On Mon, Apr 27, 2015 at 4:22 AM, Ted Lemon <Ted.Lemon@nominum.com> wrote: > On Apr 26, 2015, at 9:37 PM, Lorenzo Colitti <lorenzo@google.com> wrote: > > So, assuming it isn't... what sort of questions do you see around > 464xlat that cannot be immediately answered by just saying that "464xlat is > an unnumbered IPv4-only point-to-point link"? > I'll provide the beginning of an answer to Lorenzo's specific question below, but I think the topic would be better handled at the IETF 93 meeting. Also, I'm not trying to stall the conversation. I'm actually trying to provoke what I think would be a reasonable way to keep the conversation going in a productive direction: by improving the situation for application programmers and host operating systems maintainers who will be forced to live with 464XLAT for the foreseeable future if the recommendation in this proposed BCP is widely adopted. You're right, that makes it trivial. Most applications are used to > dealing with unnumbered IPv4-only point-to-point tunnels, so there's no > explanation needed! ;) > > Seriously, I have to say that if I saw that explanation, I would have no > idea what it meant. My understanding, having never actually _used_ > 464xlat knowingly, is that you open a socket and send on it and it just > works, and that since most applications don't try to figure out what their > source address is this isn't a problem. But that's not what I would take > your proposed text to mean. > Most applications don't even really want to know they are using TCP/IP, much less which version of it. The whole point of 464XLAT is to cover the special category of applications that do not make the usual assumptions and use the corner cases of the IPv4-only application programming interfaces in the host operating system. There are a lot of corner cases. So, here are some example questions. 1. What about MIF? It's not sufficient to simply say put an IPv4 address on the point-to-network pseudo-link for each provider. How does an application that cares about which interface it's using know which IPv4 address belongs to which interface? Does the getifaddrs() [not POSIX, but commonly implemented] return results showing them all on the same interface? Or different interfaces? How does an application sending a packet from a UDP socket without a source address bound use IP_PKTINFO to specify which source interface to use if ipi_spec_dst is zero? What about dual-stack applications that care about which IP addresses are attached at which interfaces over time? How do they know what IPv4 addresses are associated with which interface if all the CLAT IPv4 addresses are attached to a point-to-network pseudo-link instead of the interface where the CLAT IPv6 address is attached? 2. Consider the interaction an IPv6 listener and an IPv4 listener binding to the same UDP port without using either SO_REUSEADDR option [or the non-standard SO_REUSEPORT option], where the IPv6 socket is binding to the same interface address that the CLAT will translate for the interface address bound by the IPv4 socket? Does only the first socket() call succeed while the second one fails? Or is there a different semantic? If so, what is it? 3. Suppose instead the applications in the example above (2) do use SO_REUSEADDR [and SO_REUSEPORT], and there are now two sockets bound to the same IPv6 address and port, one of them translated by the CLAT and the other not. Can these two applications communicate over interface loopback through the CLAT? Just saying that the CLAT is "an unnumbered IPv4-only point-to-point link" tells us nothing about what application programmers can expect in these sorts of weird corner cases, but the whole point of 464XLAT is to support applications that don't use the protocol-independent interfaces. I can understand why one might not want to document the answers to these questions. Doing so might expose precisely how 464XLAT doesn't actually deliver IPv4-only equivalence to applications on IPv6-only networks, but I contend it's important to describe precisely what the CLAT does and doesn't enable. Explaining what remains broken even after deploying a CLAT in every host operating system will go a long way toward retaining a sensible argument for application developers to migrate away from IPv4-only programming interfaces. -- james woodyatt <jhw@nestlabs.com> Nest Labs, Communications Engineering
- [v6ops] The need for local-ipv4 socket transition… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Kossut Tomasz - Hurt
- Re: [v6ops] The need for local-ipv4 socket transi… Fred Baker (fred)
- Re: [v6ops] The need for local-ipv4 socket transi… Mikael Abrahamsson
- Re: [v6ops] The need for local-ipv4 socket transi… Ray Hunter
- Re: [v6ops] The need for local-ipv4 socket transi… Tore Anderson
- Re: [v6ops] The need for local-ipv4 socket transi… Czerwonka Michał 1 - Hurt
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Alexandru Petrescu
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Brian E Carpenter
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Tore Anderson
- Re: [v6ops] The need for local-ipv4 socket transi… Czerwonka Michał 1 - Hurt
- Re: [v6ops] The need for local-ipv4 socket transi… Andrew 👽 Yourtchenko
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Mark Andrews
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Metzler, Dan J
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Tore Anderson
- Re: [v6ops] The need for local-ipv4 socket transi… Bjoern A. Zeeb
- Re: [v6ops] The need for local-ipv4 socket transi… Erik Kline
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Ross Chandler
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Fred Baker (fred)
- Re: [v6ops] The need for local-ipv4 socket transi… Keith Moore
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Keith Moore
- Re: [v6ops] The need for local-ipv4 socket transi… George, Wes
- Re: [v6ops] The need for local-ipv4 socket transi… George, Wes
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Bjoern A. Zeeb
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Bjoern A. Zeeb
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Howard, Lee
- Re: [v6ops] The need for local-ipv4 socket transi… Metzler, Dan J
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Ross Chandler
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Mark Andrews
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Ross Chandler
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Xing Li
- Re: [v6ops] The need for local-ipv4 socket transi… Mark Andrews
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Erik Kline
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Tore Anderson
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Heatley, Nick
- Re: [v6ops] The need for local-ipv4 socket transi… Bjoern A. Zeeb
- Re: [v6ops] The need for local-ipv4 socket transi… Heatley, Nick
- Re: [v6ops] The need for local-ipv4 socket transi… Heatley, Nick
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… Alexandru Petrescu
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… George, Wes
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Bjoern A. Zeeb
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… Howard, Lee
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Mark Andrews
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… Fred Baker (fred)
- Re: [v6ops] The need for local-ipv4 socket transi… Ca By
- Re: [v6ops] The need for local-ipv4 socket transi… Fred Baker (fred)
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Metzler, Dan J
- Re: [v6ops] The need for local-ipv4 socket transi… Heatley, Nick
- Re: [v6ops] The need for local-ipv4 socket transi… Howard, Lee
- Re: [v6ops] The need for local-ipv4 socket transi… Bjoern A. Zeeb
- Re: [v6ops] The need for local-ipv4 socket transi… Gert Doering
- Re: [v6ops] The need for local-ipv4 socket transi… George, Wes
- Re: [v6ops] The need for local-ipv4 socket transi… Gert Doering
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt
- Re: [v6ops] The need for local-ipv4 socket transi… Metzler, Dan J
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Alexandru Petrescu
- Re: [v6ops] The need for local-ipv4 socket transi… Heatley, Nick
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… Lorenzo Colitti
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… Ted Lemon
- Re: [v6ops] The need for local-ipv4 socket transi… James Woodyatt