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

Simon Hobson <linux@thehobsons.co.uk> Tue, 11 July 2017 10:19 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 D197C128BC8 for <ipv6@ietfa.amsl.com>; Tue, 11 Jul 2017 03:19:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, 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 Lyq1t0zeoYLZ for <ipv6@ietfa.amsl.com>; Tue, 11 Jul 2017 03:19:11 -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 6BDA2128DE5 for <ipv6@ietf.org>; Tue, 11 Jul 2017 03:19:11 -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 E5AE91BC37 for <ipv6@ietf.org>; Tue, 11 Jul 2017 10:19:05 +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: <6bf7f3d0e9c047b1b86d4bcc220f8705@XCH15-06-11.nw.nos.boeing.com>
Date: Tue, 11 Jul 2017 11:19:05 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <9E06F041-CBAC-4D63-96CF-1E54FA63C009@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>
To: 6man WG <ipv6@ietf.org>
X-Mailer: Apple Mail (2.1510)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/N4RzyBWZae4LeE8X6s0CM3eaINg>
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: Tue, 11 Jul 2017 10:19:14 -0000

"Manfredi, Albert E" <albert.e.manfredi@boeing.com> wrote:

> The problem I have is mainly that in the ebb and flow of these continuing discussions, one sees the "IIDs must be 64 bits wide" creeping back in, again and again. Where instead, the rough consensus seems to have become, must be 64-bits wide unless the addresses are statically configured or are provided by DHCPv6. In the latter cases, 64-bit IIDs might still be "recommended," but in fact, the on-link prefix length can be from zero to 128 bits, and the IID must therefore be 128 - prefix length.

I'd go further ...
While I've not been following the detail too closely, I get the feeling that SLAAC for global addressing BASED ON HARDWARE ADDRESS, and link local addresses, need 64 bits, nothing else actually does. On that basis, surely the better way to express it would be to say that in general there is no restriction as to where the prefix/id split falls - but some addressing methods have specific requirements. And in reality, link local addresses are pretty irrelevant in terms of how you manage other addresses as they have their own prefix and semantics.

If you say "it must be 64 bits except for X and Y" then if someone comes along in the future with a spiffing idea for method Z - then the whole merry go round of discussion starts up again getting "that changed to "... except for X and Y and Z".

Ie, unless there is some fundamental reason why the split MUST be at 64 bits, then simply say there isn't a requirements except where noted in the RFCs for the addressing methods that DO have a requirements for a specific length. IMO that's the cleaner way of expressing it.
If there are reasons why it's a good idea to use 64 bits - such as because there are implementations out there that make that assumption - then point them out (with a "for reasons of A, B, C is is recommended that ..." paragraph) rather than using them as a reason to maintain something that doesn't seem to make much sense now.



David Farmer <farmer@umn.edu> wrote:

> IPv6 as currently defined does actually require IIDs to be 64 bits, if this wasn't the case then you could use subnets of any length without any special requirements or considerations. 

And so we come back to (what appears to me to be) the fundamental problem. At some point, for whatever reason, it was written that the split must be at 64 bits. Now it seems that in the general case there is no such requirement - but that CERTAIN ADDRESSING MODES/PROTOCOLS or IMPLEMENTATIONS require it to be at 64 bits.

So if the argument is that "we can't change 'something' because it clashes with 'something else'" - then isn't that an argument for 'correcting' the something else ?


> So, how about something like this;
> ...
> Oops, forgot something;
> 
> For the full functioning of all IPv6 capabilities, when assigning unicast addresses, except those that start with the binary value 000, Interface Identifiers are required to be 64 bits long. The rationale for using 64 bit Interface Identifiers can be found in [RFC7421]. However, as IPv6 unicast routing and on-link determination are separate from address assignment and will operate with Interface Identifiers of any length. It is therefore possible, with several limitations, to use Interface Identifiers of other lengths in limited scenarios, these include; 128 bit prefixes, such as for router loopback addresses, point-to-point router-links [RFC6164], and links where all node are manually configured.

As it read the discussions, it's not so much a case of "in limited scenarios", but a case of "where an addressing mode requiring a specific IID length is not in use".

Al Albert writes, it seems that there's a desperation to hang on to 64 bits but allow some exceptions (and somehow imply that even when these exceptions apply, then it's a really really bad idea to depart from 64 bits - rather than simply drop the requirement and move it to where it actually applies (in the definition of those features/protocols that require it).



Just for completeness I'll add that my experience with IPv4 started more or less after classless addresses was the norm. In a parallel to the bit above about implementations having hardcoded assumptions, it came as "a surprise" to me when I came across a piece of equipment (an oldish serial terminal server) that refused to allow a /23 in the 192.168 RFC1918 range as it had hard-coded assumptions about address classes. That was the only time I came across such an issue - other than Cisco course content still stuck in classful mode even after the whole world set their routers to allow classless (and IP subnet zero) as the first step in configuring a router.