Re: IPv6 Routing & ND vs. Addressing, (Was: Re: <draft-ietf-6man-rfc4291bis-09.txt>)

Simon Hobson <linux@thehobsons.co.uk> Thu, 13 July 2017 15:02 UTC

Return-Path: <linux@thehobsons.co.uk>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F11C31316D9 for <ipv6@ietfa.amsl.com>; Thu, 13 Jul 2017 08:02:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-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 aw2q78mzcciO for <ipv6@ietfa.amsl.com>; Thu, 13 Jul 2017 08:02:23 -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 6176D13192B for <ipv6@ietf.org>; Thu, 13 Jul 2017 08:02:22 -0700 (PDT)
X-Virus-Scanned: Debian amavisd-new at patsy.thehobsons.co.uk
Received: from [192.168.137.111] (unknown [192.168.137.111]) by patsy.thehobsons.co.uk (Postfix) with ESMTPSA id 7DB781BC37 for <ipv6@ietf.org>; Thu, 13 Jul 2017 15:02:17 +0000 (UTC)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
Subject: Re: IPv6 Routing & ND vs. Addressing, (Was: Re: <draft-ietf-6man-rfc4291bis-09.txt>)
From: Simon Hobson <linux@thehobsons.co.uk>
In-Reply-To: <CAO42Z2zeFkgH4EsYCn+HBktbrsj0mSA5LdQ5w8GDrXB5MyE8pw@mail.gmail.com>
Date: Thu, 13 Jul 2017 16:02:17 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <374AC757-B69A-426C-8C28-E84132E6C7C4@thehobsons.co.uk>
References: <CAN-Dau2zgthR2w9e5ZVUdGc-vm+YvK2uTUJ8O=vrcv0jNc58RA@mail.gmail.com> <CAKD1Yr2+Si_tzNF8p6ASf4=StgFSX9Gm3TEj9iiqdE2gHQaNmQ@mail.gmail.com> <CAN-Dau03r_CKW53kegaLa=F_R_RG4cWaCT1j6idrqPm9UuN03A@mail.gmail.com> <5963BF27.1050300@foobar.org> <ff09ffcd-df65-4033-8018-fbe7ae98cff8@gmail.com> <6bf7f3d0e9c047b1b86d4bcc220f8705@XCH15-06-11.nw.nos.boeing.com> <CAN-Dau1bxm5y0v_6kUBc_ym39bSSxepjdwrzcS7YHWD=CV9-bw@mail.gmail.com> <3b34d6e9718a45ae80877e36fb55f2b4@XCH15-06-11.nw.nos.boeing.com> <CAO42Z2x+282VK7nMFHjcCz9tBmJ_=d4OhkiRZFZDLcZhakGB1Q@mail.gmail.com> <8392C5AA-0E37-4A09-AFEB-13A61D11E783@thehobsons.co.uk> <CAO42Z2zeFkgH4EsYCn+HBktbrsj0mSA5LdQ5w8GDrXB5MyE8pw@mail.gmail.com>
To: 6man WG <ipv6@ietf.org>
X-Mailer: Apple Mail (2.1510)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/8e3BZTT71ZFiFktDJO77qGTCnHE>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Jul 2017 15:02:25 -0000

Re-ordering the comments slightly ...

Mark Smith <markzzzsmith@gmail.com> wrote:

>> Ignoring LL addresses, it seems that only self assigned addresses using deprecated methods (ie based on hardware address) actually *require* a 64 bit split. So on that basis, the standard defining how the protocols work should require implementations to support an arbitrary split.
>> 
> 
> I think the final arbiter in any of these situations is "what is best
> for the end-users?"
> 
> What is the simplest, that will result in lower network capex and opex
> costs to the end-users who directly or indirectly pay those costs?
> 
> What is the most reliable and robust, so that when an end user
> connects to and uses the network, they're least likely to encounter
> issues for which they do not have the technical skillsets to resolve?

The obvious answer to that is "all implementations MUST handle any IID length". That way, when a device does get connected to a network where the IID length isn't 64 bits - it'll still work.
If you leave in any suggestion that an implementation can assume a split 64/64 then some implementations are going to have that embedded in them. If you allow that, and the device gets connected to a network where that isn't the case (for whatever reason*) then it's going to "not work" (either at all or properly).

* We've already seen some suggestions of why that might be - for example where an ISP only provides a single /64 and the user wants more than one network.


>>> This is not recognising that there are more than operational or functional properties of addresses. They have privacy and security properties too.
>> 
>> Shouldn't this requirement be separate from the underlying protocol requirements ?
> 
> No, I don't think so. These protocols fundamentally exist to serve
> end-user needs. If they don't, then they're no more than an academic
> experiment, and we'll have wasted an awful lot of human capital on
> them. These are primary protocol requirements, necessary to meet to
> justify the protocol's existence.

But that's the point I was making - having the IID length at (say) 64 bits is NOT a fundamental requirement. Things would still work just fine even if it was (say) 32 bits, or 16 bits, or ... With shorter lengths (smaller address space) the problem of creating addresses autonomously without clashes becomes harder - but other than that, as long as there is "enough" space then devices will still work.

Where the large address space requirement comes from is a secondary function - privacy. It is not in any way a fundamental limitation in shifting packets about.

> Separate to that (in a separate section), make recommendations (as in "should") to support security and privacy.
>> 
> 
> We've tried that before, making security and privacy optional to
> implement makes it easy to justify not implementing it.

I think there's something of a difference between an optional feature - ie something that needs to be added - and something where it's not a feature that's turned on or off. And the IID length would need to be a lot shorter than 64 bits before the address space becomes trivially smaller. You can't really say the privacy feature is "off" if the IID is only 63 bits, or even down to (say) 32 bits which still gives 4 billion addresses to play with.

If the recommendation is for 64 bits, then it's going to be hard to justify such a small address space that privacy is nullified. And the sort of outfit that does, will be quite happy to do other crap that's harmful to their users - regardless of what any RFC says.

So if you're going to set some arbitrary sizes for IID lengths - then give the real reason which is security/privacy. Because AIUI there is no other fundamental reason to set any restrictions.