Re: [v6ops] draft-ietf-v6ops-ula-usage-recommendations - work or abandon?

Joe Touch <touch@isi.edu> Tue, 10 November 2015 17:35 UTC

Return-Path: <touch@isi.edu>
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 956FB1B30A3 for <v6ops@ietfa.amsl.com>; Tue, 10 Nov 2015 09:35:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.91
X-Spam-Level:
X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, 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 1ULXrGJ5x0jd for <v6ops@ietfa.amsl.com>; Tue, 10 Nov 2015 09:34:59 -0800 (PST)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 35B031A87EF for <v6ops@ietf.org>; Tue, 10 Nov 2015 09:34:59 -0800 (PST)
Received: from [128.9.160.211] (mul.isi.edu [128.9.160.211]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id tAAHYPb6019100 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Tue, 10 Nov 2015 09:34:26 -0800 (PST)
To: Philip Homburg <pch-v6ops-3@u-1.phicoh.com>, v6ops@ietf.org
References: <D25D5920.C914E%Lee.Howard@twcable.com> <5637FDD0.70300@jvknet.com> <D25E32F1.C9507%Lee.Howard@twcable.com> <CAKD1Yr1VvzkSmJo3hu6t_3CUguLN_UkNZjRUqvU_ygPBTyb+8g@mail.gmail.com> <8AE0F17B87264D4CAC7DE0AA6C406F45C2319739@nkgeml506-mbx.china.huawei.com> <CAKD1Yr3g-ZV+MkbtDrusbtYaZ_wmCxDG9XbT25Ldma4koGpV6A@mail.gmail.com> <D25E7DDF.C9709%Lee.Howard@twcable.com> <CAKD1Yr3Vsn7Ny_xSCr_=sVCHyU+=ZrRh2iQDUPx-5FWdHajv2w@mail.gmail.com> <D2614A6A.CA099%Lee.Howard@twcable.com> <563B9D1E.4030606@umn.edu> <D261FE8E.CA1FB%Lee.Howard@twcable.com> <CAKD1Yr3jip0NBkDxg=MvgZXg0LMS+PtREDw2jSRx0xJLqHwhGQ@mail.gmail.com> <563C7C01.6010703@foobar.org> <CAKD1Yr1rKjkDhhuD9L=R_MJ+ofOAZ2Nt+5mszZKQxCh-kH4vqw@mail.gmail.com> <563F3AC3.6000205@foobar.org> <m1ZvVwA-0000CLC@stereo.hq.phicoh.net> <563FC756.5090906@foobar.org> <m1ZvZ4v-0000CeC@stereo.hq.phicoh.net> <56410A97.7050508@isi.edu> <m1Zw7Rx-0000CoC@stereo.hq.phicoh.net>
From: Joe Touch <touch@isi.edu>
X-Enigmail-Draft-Status: N1110
Message-ID: <56422AA1.2050700@isi.edu>
Date: Tue, 10 Nov 2015 09:34:25 -0800
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <m1Zw7Rx-0000CoC@stereo.hq.phicoh.net>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: <http://mailarchive.ietf.org/arch/msg/v6ops/YtE5m8DlaEf6Z93doI7cqsqNUbA>
Subject: Re: [v6ops] draft-ietf-v6ops-ula-usage-recommendations - work or abandon?
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: Tue, 10 Nov 2015 17:35:00 -0000


On 11/10/2015 3:50 AM, Philip Homburg wrote:
>>> Call me old fashioned, but what NAT breaks is not what is traditionally
>>> called a protocol layering violation. (The TCP checksum is one of the classical
>>> layering violations in the IP protocol stack)
> 
>> Given that a NAT breaks the TCP checksum (which depends on the IP
>> pseudoheader and TCP header) and thus has to recalculate it, wouldn't
>> that be proof that a NAT breaks what you consider protocol layer violation?
> 
> If a layering violation like in TCP gets broken by NAT, then I consider
> that fair game.

What's the layering violation?

TCP endpoints are defined as being the endpoint IP + port pair. TCP and
IP are not independent layers; they never have been.

> I.e., such layering violations should not exist in the
> first place, so it is TCP that is broken.

If you believe that TCP should have its own IP addresses, then fine.
Let's consider the following:

	IP-IP-TCP

Then the first layer is IP, the second is the IP-TCP pair.

That would provide the clean layering you desire, but NATs would break
that too. NATs intentionally overwrite identities - not just routes.
There's no way to do that without violating every basic premise of layering.

...
>> We often use L4 identifiers when there are no other upper layer
>> end-to-end identifiers available, e.g., the app uses 128.9.160.161:80
>> because that's what the user provided. The fact that these are L4 (or
>> L3) identifiers is true only because the addresses got passed down
>> through the stack - which is definitely not layer violation.
> 
> Commonly used URNs rely on transport layer addresses (which are broken by
> NAT) or DNS, which is also broken by NAT (in some cases).

Right - the basic concept of a NAT is exactly opposite the concept of
strict layering.

> One way of looking at NAT is that it deals with a failure of IP addressing.
> In the case of IPv4, with the fact that 32 bits is just not enough.

Another view is that NATs also exist - especially in IPv6 - as a way for
ISPs to enforce a pricing policy that differentiates consumers from
corporate customers by artificially and deliberately interfering with
the Internet model of global endpoint addresses (i.e., to interfere with
setting up a server, because - of course - only a corporate customer
would need to do that).

> And in IPv6 most likely in cases where the locator/identifier split is not
> in the architecture. 

See above.

> I.e. NAT breaks the model because it is a fix where the model is broken.

I agree that NATs for true address sharing serve a useful purpose, but
that disappears with IPv6. NATs for security can easily be replaced by
stateful firewalls, i.e., that limit incoming connections without
rewriting the headers.

The problem with believing that NATs fix a broken model is that, if the
model *is* broken, it's because of a lack of transport-layer IDs. NATs
further destroy that concept when they overwrite both addresses and
ports - that's not fixing a broken model, it's breaking it even more.

Joe