Christian Huitema | 3 Nov 2008 18:31
Picon
Favicon

Re: /128 address allocation and "localized IPv6 address space exhaustion", was RE: Brokenness of specs w.r.t. client behavior with M&O bits

> > I can't see why IPv6 having variable length addresses would have
> > prevented people creating NAPT66 if /128s were allocated.
>
> Human hoarding instinct combined with old practices from the IPv4 days.
>  You can see similar behaviour in areas where the PSTN uses fixed-length
> numbers (e.g. North America) versus those there the PSTN uses
> variable-length numbers (e.g. Germany).
>
> Yes, people tended to use fixed-length addresses within their
> administrative domain, but that is exactly the issue: the crossing of
> administrative domains.  With a fixed-length address, each "owner" is
> going to try to control the address space as much as possible, even if
> it doesn't make sense.  With variable-length addresses, each "owner"
> will chop off as much as they feel they need, and knowing they don't
> have to worry about it.

You are looking for technical solutions to an economic tussle. Let's observe first that 64 bits is more than
enough to number the entire Internet: 64 bits would allow for 2E15 networks with an HD ratio of 80%. So, any
occurrence of  "128 bit allocation" is driven by something else than scarcity, most probably a desire to
somehow control the number of devices connected to a particular subscription point.

The case for variable address length, seems to be that "we could build a private network space out of any
address allocated by the provider." For example, if the provider allocated a 128 bit address, we could use
that address as a prefix in a private network with 160 bit addresses. The argument seems to be that, with
variable length address, the providers would not be able to control the private network numbering
anymore, even if they wished to. I am afraid that the argument is wrong.

Let's observe first that while there have been many proposal for variable length addresses, the length are
always somehow bounded. For example, there will be an address length field in the packet header, and there
will be some limited number of bits to encode the length. Even if the length was not technically limited,
there will be practical considerations, such as the inefficiencies that accrue when headers are too
large. So, if the provider is intent at limiting subscriber capacities, they could always simply
allocate a very long address to subscriber, close to the practical maximum. Voila, no private numbering anymore.

But they don't in fact need to go to such length. Providers who want to control user behavior routinely
inspect packets in transit. For example, many providers attempt to enforce prohibition against running
servers on subscriber connections by filtering incoming TCP SYN packets. If the provider is really
intent at enforcing "one address per subscription", they could easily filter incoming packets whose
destination address appears longer than the address they allocated.

Economic tussles should be solved by economic arguments. If it is in the economic interest of providers to
provide multiple addresses to subscribers, they will indeed do it. Otherwise, the only technical
solutions that can succeed against an uncooperative provider are those where a private network is
undistinguishable from a single host.

-- Christian Huitema

Gmane