nanog mailing list archives

Re: v6 subnet size for DSL & leased line customers


From: Mark Smith <nanog () 85d5b20a518b8f6864949bd940457dc124746ddc nosense org>
Date: Mon, 24 Dec 2007 09:29:24 +1030


On Sun, 23 Dec 2007 12:54:34 -0500
Ross Vandegrift <ross () kallisti us> wrote:


On Sun, Dec 23, 2007 at 12:24:32AM +0100, Iljitsch van Beijnum wrote:
First of all, there's RFC 3513:

For all unicast addresses, except those that start with binary value  
000, Interface IDs are required to be 64 bits long and to be  
constructed in Modified EUI-64 format.

Ahhh, thanks - that is the only thing I have ever seen that gives any
reason for the /64 prefix.  Sadly, the document contains no
compelling technical reasons for it - looks like it's done just so
things are easy when generating interface IDs from ethernet addresses.


If operational simplicity of fixed length node addressing is a
technical reason, then I think it is a compelling one. If you've ever
done any reasonable amount of work with Novell's IPX (or other fixed
length node addressing layer 3 protocols (mainly all of them except
IPv4!)) you'll know what I mean.

I think Ethernet is also another example of the benefits of
spending/"wasting" address space on operational convenience - who needs
46/47 bits for unicast addressing on a single layer 2 network!? If I
recall correctly from bits and pieces I've read about early Ethernet,
the very first versions of Ethernet only had 16 bit node addressing.
They then decided to spend/"waste" bits on addressing to get
operational convenience - "plug and play" layer 2 networking.

If IPv6 can have the same operational simplicity as Ethernet,
and addressing bits can afford to be spent on it, then I think those
bits are well worth spending.

The /64 for all subnets idea is probably an example of "worse is
better" principle. It's not ideal for everything, but because it's
general enough, it works with everything, and is simpler and a
*single* solution to everything, and that's what makes it better.

Regarding where the /64 boundary came from, from what I understand, the
following Internet Drafts are it's origin:

"8+8 - An Alternate Addressing Architecture for IPv6"
http://arneill-py.sacramento.ca.us/ipv6mh/draft-odell-8+8-00.txt

"GSE - An Alternate Addressing Architecture for IPv6"
http://arneill-py.sacramento.ca.us/ipv6mh/draft-ipng-gseaddr-00.txt

Second, we currently have two mechanisms to configure IPv6 hosts with  
an address: router advertisements and DHCPv6. The former has been  
implemented in ALL IPv6 stacks but doesn't work if your subnet isn't  
a /64.

But the protocols don't imply or require this.  All of the messages
used in stateless autoconfig will behave as expected with longer prefix
lengths.  So it seems that because the interface identifier has to be
64-bits, stateless autoconfig is unnecessarily crippled.

For kicks I just tried RAs with a /96 prefix.  Linux 2.6 checks and
enforces the requirement from RFC3513, though it'd be trivial to
change.  But I'm guessing other vendors enforce this as well.

-- 
Ross Vandegrift
ross () kallisti us

"The good Christian should beware of mathematicians, and all those who
make empty prophecies. The danger already exists that the mathematicians
have made a covenant with the devil to darken the spirit and to confine
man in the bonds of Hell."
      --St. Augustine, De Genesi ad Litteram, Book II, xviii, 37


-- 

        "Sheep are slow and tasty, and therefore must remain constantly
         alert."
                                   - Bruce Schneier, "Beyond Fear"


Current thread: