Re: [v6ops] Thoughts about wider operational input

Simon <linux@thehobsons.co.uk> Sat, 02 April 2022 17:38 UTC

Return-Path: <linux@thehobsons.co.uk>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BF7433A11F9 for <v6ops@ietfa.amsl.com>; Sat, 2 Apr 2022 10:38:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level:
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=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 PEcEihr_sL8V for <v6ops@ietfa.amsl.com>; Sat, 2 Apr 2022 10:38:04 -0700 (PDT)
Received: from patsy.thehobsons.co.uk (patsy.thehobsons.co.uk [80.229.10.150]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 20F743A07DD for <v6ops@ietf.org>; Sat, 2 Apr 2022 10:38:02 -0700 (PDT)
X-Virus-Scanned: Debian amavisd-new at patsy.thehobsons.co.uk
Received: from smtpclient.apple (MacBook-Pro.thehobsons.co.uk [192.168.137.121]) by patsy.thehobsons.co.uk (Postfix) with ESMTPSA id 16D36110001 for <v6ops@ietf.org>; Sat, 2 Apr 2022 17:37:56 +0000 (UTC)
From: Simon <linux@thehobsons.co.uk>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
Date: Sat, 02 Apr 2022 18:37:55 +0100
References: <52661a3d-75dc-111a-3f23-09b10d7cb8d4@gmail.com> <9175dc32-45c1-e948-c20a-3bcc958b77b9@gmail.com> <YjmJQMNgnJoSInUw@Space.Net> <D75EF08F-6A41-41B2-AFB2-649CBCC1D83E@consulintel.es> <CAPt1N1nRnYUFA=yyJHx6t52yqWbmcd2Tf1H8gQuCZBd3Q3VqJw@mail.gmail.com> <7F4AEB43-4B24-4A21-AE9D-3EB512B98C46@consulintel.es> <8fac4314b8244ba6b33eea68694296d0@huawei.com> <9A13E47B-75D0-443F-9EE9-D2917ACB2D0F@consulintel.es> <CAO42Z2xUG+BXj+VQpajed9aGjH+q-HR7RX7C-T4DsTbouz7xWQ@mail.gmail.com> <F6A90BBF-7F44-403E-960A-8F756353B562@chinatelecom.cn> <B49417F7-3EFB-4A4D-9D1A-0D21574EA4F2@consulintel.es> <44B01ACA-3D5C-4618-B608-3B3479D29875@consulintel.es> <62447DCB.1010206@jmaimon.com> <7228D9A7-54A8-4BAE-9299-204C049F600B@consulintel.es> <6244BA91.3060306@jmaimon.com> <67762447-43D4-4393-851C-99370D3BF623@thehobsons.co.uk> <6246126C.1030609@jmaimon.com> <259B108A-C3DD-4460-B41A-A0028ACA9594@thehobsons.co.uk> <624759B1.8060700@jmaimon.com> <89D652EB-8920-4992-99EC-CC3C3A856D57@thehobsons.co.uk> <62477058.6020901@jmaimon.com>
To: v6ops list <v6ops@ietf.org>
In-Reply-To: <62477058.6020901@jmaimon.com>
Message-Id: <4ADAA521-00A2-4FAF-9A1B-500C8598164F@thehobsons.co.uk>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/yo5_7D-gbovOQbNEyjxd4oA6hN4>
Subject: Re: [v6ops] Thoughts about wider operational input
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.29
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: Sat, 02 Apr 2022 17:38:09 -0000

On 1 Apr 2022, at 22:36, Joe Maimon <jmaimon@jmaimon.com> wrote:

>> Identifying endpoints in a consistent fashion is trivially easy - you use its IP address*.
> 
> Which you know because you have successful communications with it.
> 
> What you dont know is what IP address YOU have from the point of view of the other endpoint.

Indeed, and that’s why Nat == broken. Pretty well the entire foundation of networking falls over if you have no idea who *you* are.


> Which if you consider it carefully, there never was any such guarantee. It was just the path of least resistance.

See the refs Mark provided which are quite clear that yes, you have one or more globally unique and globally routable addresses. That is the foundation of IP - globally unique addresses, so that an address can only refer to one end node; and end-end communication, so any end node can communicate with any other end node.
NAT plus private addressing breaks this - I can tell someone that I’m at 192.168.1.1 and that doesn’t differentiate me from the thousands or millions of other 192.168.1.1 nodes in other 192.168.0.0/16 (or 192.168.1.0/24) address spaces; nor does it enable them to send a packet to me. I.e. the network is broken.


> But you are free to break stuff.

We know that is the philosophy of a number of large corporates (no names, no pack drill), but that is the opposite of what the internet is supposed to be about.


> I read the RFC and I see that it says if you are going to use endpoints identifiers you need to ensure they are consistent.

OK.

> And if they belong to other protocol layers and traverse a network you do not control, more than an assumption is required for that sort of reliable behavior.

That’s a stretch. A reliable network will pass any packet you send provided its validly formed. All I need is a consistent endpoint identifier (address) for myself and the other end.
Note: having an application (e.g.) use multiple ports for different traffic types - such as a port we use for signalling and other ports we use for data streams, and they may mix TCP and UDP, doesn’t change that - that is all within the node and using tools provided by the OS for the purpose. Once that packet leaves my node, the network is not entitled to mangle it. In a transparent network, it is trivially easy to determine what address(es) I can use, and what (for UDP and TCP) ports I can use - I just ask the OS using the tools provided by the network stack.
See the references Mark provided :

On 2 Apr 2022, at 03:31, Mark Smith <markzzzsmith@gmail.com> wrote:

> RFC791.
> 
> RFC8200.
> 
> RFC2993.
> 
> RFC5902.

I’ll add RFC 4924 https://datatracker.ietf.org/doc/html/rfc4924

I’ll quote just one paragraph from that :
> A network that does not filter or transform the data that it carries may be said to be "transparent" or "oblivious" to the content of packets. Networks that provide oblivious transport enable the deployment of new services without requiring changes to the core.  It is this flexibility that is perhaps both the Internet's most essential characteristic as well as one of the most important contributors to its success.

What that is saying is that the internet “took off” as it did because of the flexibility provided by this “packets in one end, unmangled packets out the other” basic principle. It points out elsewhere that when you break this transparency, then you introduce barriers to innovation - if a new idea needs every NAT gateway in the world to be upgraded to add an ALG then that is an effective barrier to the new idea. And as we’ve seen over the last few years, the problems NAT creates have massively assisted the move from “peers” to “consumers” - where we hear regular stories of (e.g.) door bells not working because some service out in the internet isn’t working.


Just for good measure, I’ll point out that the idea of security being achievable by a “hard shell, gooey centre” network is long past. These days the threats are such that every node needs to be able to stand alone and secure itself. Put another way, who cares if the firewall in the gateway is turned off - with NAT, any of those IoT bits of (often cheap and “poorly coded”) equipment could be your attacker, or any device on the network could get infected - it can tunnel out through the NAT, create a reverse tunnel in, and if your other devices aren't adequately hardened than the NAT will have provided very little by way of security. So the point you make that NAT can’t be turned off, that makes it more secure than a firewall is actually the wrong way round - because it’s often described as good security, it instills a false sense of security which is “a bad thing”.
And I write that as someone who has routinely put devices, on public IPs, onto the internet without the benefit of a separate firewall. And yes, they’ve been attacked and survived.

Simon