Celebrating NAT Was: Tolerance

Phillip Hallam-Baker <phill@hallambaker.com> Fri, 19 July 2019 16:26 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 469C612047C for <ietf@ietfa.amsl.com>; Fri, 19 Jul 2019 09:26:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.558
X-Spam-Level:
X-Spam-Status: No, score=-1.558 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.091, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 pTQBurZ-pPTx for <ietf@ietfa.amsl.com>; Fri, 19 Jul 2019 09:26:35 -0700 (PDT)
Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com [209.85.167.176]) (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 6671D12042A for <ietf@ietf.org>; Fri, 19 Jul 2019 09:26:35 -0700 (PDT)
Received: by mail-oi1-f176.google.com with SMTP id m202so24703356oig.6 for <ietf@ietf.org>; Fri, 19 Jul 2019 09:26:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=juonfqL4rQBwDGYpjlAM35tr0bjeOMt0DJ8ZrFcOqWU=; b=VaVScSXJELEE6tHfkZPLmUdal+Rvh7nQzmh9VnTZCmyqhCGeaGpHPzHOnXo10Jslgt IQgsekpFt6/qGNwViVoPLI/IJY8ssa0OgWtXxaqQ75XBZYL6k9RIRXbQJ9i1wMs3GaiJ /4HiUCDfmuPEWNc67tTSOcxZCoWBWZpUU+aOgWo7cOgDSgspR7U2pz6kG0uAXqNn69VU gN2eI6MzY4rZwTAI/RIc7oKlHTeact8/onDdo+3/tIhObcG6yddQLjaxN5geb1b67xYg 11/Id+Sj3WtE8sbVk1mQLJOKSpWjcYgUa6vjcGQlX4fF5ic0z8UfxhCPURMQl4aVNnR1 yKgA==
X-Gm-Message-State: APjAAAWEEXNDUDvcSYLj1WmnMmbXTaaNFh85iycb0zQcHs8RAOh8pOY8 pg9ZY0igE0PGYLz3jUI4aqFcCSZEizAlY7iuhaA=
X-Google-Smtp-Source: APXvYqxfpInJh4cDX/i10/8hipKuJRRlNDm2iC5Wal288aWopJkICp1+oKqzV0aPgXn6j7P8C6P5tTpJM0xSLy9UHlc=
X-Received: by 2002:aca:bfd4:: with SMTP id p203mr5201766oif.95.1563553594661; Fri, 19 Jul 2019 09:26:34 -0700 (PDT)
MIME-Version: 1.0
References: <6EB5A0D4-DC17-40A8-B144-DC28F81C576A@employees.org> <A6135702-2156-48F1-A5D3-5F5EAE1B12B3@cooperw.in> <e24cae63-1a9b-7160-73cc-77c29e479eed@comcast.net> <9447eb2b-fd9f-4fa7-8e07-0bc0ad118292@gmail.com> <560a8a2b-3ece-4db9-4bf8-f16acbdc27a4@comcast.net> <ac5eec46-85d9-835a-fc53-02bb97fd25ab@gmail.com> <3b5c74d6-e219-512d-1c02-c7c66ca2573e@eff.org> <52052311-c9ed-7bbb-7f7e-edc1b0119075@network-heretics.com> <dcd35f0b-2388-ffbe-2feb-7bb6268e3cf5@eff.org> <02d3fb41-553a-eaf3-e77b-4918955ead48@gmail.com> <CAA=duU145Niuk1UtjvtM+R+LeL4jsE19Vb5=MWkV1MVmgA-LRQ@mail.gmail.com> <CAL02cgQsz=tgU6xCA5h+kV5HApZfpuU59stEmkmOpcsd2WzsUw@mail.gmail.com> <00dcede6-11a0-6a33-d4b4-ceb413f22874@gmail.com> <21fa0425-ca36-6f65-0585-2ddc64f368db@gmail.com>
In-Reply-To: <21fa0425-ca36-6f65-0585-2ddc64f368db@gmail.com>
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Fri, 19 Jul 2019 12:26:24 -0400
Message-ID: <CAMm+LwhLyshCfBKvXc+v5YYO+Hv3XeX0__Dp_sC7wqpetCKfog@mail.gmail.com>
Subject: Celebrating NAT Was: Tolerance
To: Melinda Shore <melinda.shore@gmail.com>
Cc: IETF Discussion Mailing List <ietf@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000098e011058e0b30ef"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/TtMk62UivzVESUzWft72fCzXmNI>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Jul 2019 16:26:37 -0000

On Tue, Jul 16, 2019 at 7:09 PM Melinda Shore <melinda.shore@gmail.com>
wrote:

> On 7/16/19 2:39 PM, Doug Royer wrote:
> > You can not achieve your goal when you quit. How important are your
> > goals to you?
>
> It seems to me that driving away people with energy and
> ideas because they're not willing to deal with the tone of
> discussions here (and let's be clear: there are no longer
> very many organizations in which abusive language or behavior
> is tolerated) and leave, either to focus on implementation
> or to take their work to another body, the IETF is the loser,
> not the person who left.  I worry about several factors
> degrading the quality of our output and this is certainly one
> of them.
>

It is probably worthwhile recalling that the Web was originally
standardized in IETF. Most of it has left IETF because of the culture
issue. Cross area review sounds like a great idea until you end up with
people insisting on adding prefixes to distinguish URNs from URLs in the
mistaken belief that they are disjoint categories and refusing to accept
they are not.

On the NAT issue, Keith and others were not so nuanced or for that matter
polite back in the days when we ended up destroying the utility of IPSEC on
account of their opinion.

I get the fact that some people are desperate to deploy IPv6 and DNSSEC.
Really, I do. No, I really, really do get that people imagine that tying
some piece of functionality to one or the other is going to help
deployment. That does not mean that they are right or that they should get
their way even if they were.


The reason I deployed NAT in 1997 was simple, my broadband provider charged
$10/mo for every extra IPv4 address. I saw all the nattering about NATs as
frankly an abuse of process to steal money from me and every other Internet
user. It was obvious that 99.9% of users would do exactly the same.

I do not have a nuanced opinion on NAT. I believe it is here to stay so
whether or not it is a good thing is irrelevant. But NAT is in fact useful
even in a pure IPv6 network. I don't want to argue that NAT should be
tolerated, it should be celebrated. Here is why.


The user problem we have to solve here is that we don't have enough IPv4
addresses for every user in the world to have a unique one. We have already
got more users than there are addresses.

We do however have enough IPv6 addresses to give one to every user and the
stock of IPv4 addresses is sufficient to support the number of Internet
hosts that provide services and this should be sufficient till 2050 or so
if not longer.


The Internet is a network of networks. The only technical mandate of the
original Internet was that Internet Protocol be the only protocol used
between the networks joined to the Internet. That protocol used to be IPv4
and it is becoming IPv6.

The idea of IP protocol was not part of the original architecture, it came
later and for the obvious reason that there is no particular advantage to
switching network protocols at the network/internetwork boundary. But it
certainly doesn't follow from the fact that we run IP protocol in the
network and across the inter-network that the IP addresses should be
constant end to end.

If I have a device on my network that I wish to be an internet connected
device that can talk to any other internet device, then it obviously needs
IPv6 because it needs to be able to address any device on the Internet and
there are more than 2^32 devices already. But most devices only need to
connect to a service. My Internet connected blender (talk on Thursday) does
not need to talk to every other blender on the planet. It only needs to
talk to one service.


So rather than trying to insist on phasing out IPv4, we would do much
better to embrace NAT and actively promote, enthusiastically and
unreservedly, a scheme in which they are the agent enabling change that
meets the real near term need which is that a user who is on an IPv6 only
or an IPv6 with a limited share of an IPv4 gets the exact same Internet
service and benefits as a user with a full IPv4.

* Each residence gets an IPv6/104 (or better)
* Every device is assigned an address in 10.x.x.x
* Devices speak IPv4 to each other inside the network.
* Dual stack devices can contact any Internet server without restriction.
* Single stack IPv4 devices can only contact devices inside the network
unless they have help.
* Devise mechanisms that reduce the amount of state that an IPv4 device
needs to contact Internet devices to the bare minimum and allow the NAT to
transport these on IPv6 rather than IPv4 to limit the need for IPv4
addressing at the residence.

My proposal may not look pretty to some but it is essentially the strategy
the industry is adopting regardless of IETF opinion. So why didn't it
happen this way?

Well one reason was that people like me who made this proposal were
bullied. And when we responded to the bullying we were treated the same way
that women often complain of being treated when they make proposals. We
were accused of not being respectful and so on. And then when people took
the ideas we proposed and adopted them, nobody came back and said 'well you
were right'.

Right behind me is a 36" plotter that would cost me $3500 to replace. It
only works on an IPv4 interface. There is absolutely no circumstance in
which I am upgrading that machine just for the sake of IPv6. Now rather
than trying to persuade me to act in a way no ordinary Internet user is
ever going to act, please take my refusal to do so as an example of the
general case.


One of the things I find bizarre about IETF discourse is that there are
people who insist that we have to maintain backwards compatibility with the
PDP/11 era and there are people who advocate a fork lift upgrade of the
entire Internet to support IPv6, and they are the SAME PEOPLE.