>* /32 for ISPs unless they can justify more
>* /48 for subscribers unless they can justify more
>* /64 when you know for certain that one and only one subnet will ever be required
>* /128 when you know for certain you're dealing with a single device
>* Sparse allocation so whichever size you choose you can usually increase it by simply changing the prefix length.
So if /64 is "subnet" rather than "node" then the practice of placing one and only one node per subnet is pretty wasteful.
And giving residential users a /48 will leave them with 80 bits for addressing.
Even if the household was using 1,000,000,000,000,000 IP addresses in their home, this would mean that they are still not using
99.9999999% of the IP addresses they have been allocated.
I know the reason for this is becasue they are allocated IP's based on number of possible subnets, rather than total number of available IP's, so it would be more fair to say they are allocated 65,536 subnets.
So Acme DSL has been given a /32 from ARIN. Bob their administrator promptly decides it is a good idea to just give each customer a /48 becasue who knows /what/ their needs may be.
This gives Acme Bob enough IP addresses for 2^(48-32) or 65,536 customers assuming bob uses none of these IP addresses for his own equipment and has a single homed network.
If Bob has a multihomed network, he can't just give one /48 to a customer in NY and the next one to a customer in CA unless he wants to fill up Internet routing tables with /48's, so he will have to assign large aggregate blocks to each region.
Accommodating for this, Bob is unlikely to plan for more than 30% utilization in any one region, with most being less and some aggregate blocks withheld entirely for growth.
So lets say Acme DSL's IPv6 deployment places them in the ballpark of 10% utilization (not bad considering end users are wasting
99.99999999999999999999%), this gives them enough blocks for only 6,500 customers.
Take someone like Comcast with ~12 million subscribers.
It would take an IPv6 /24 to get 16.7 million /48's (2^24). With a net efficiency of 10% they are going to need to be allocated 120 million /48's. It would take a /21 to give them 2^(48-21) = ~134 million /48's.
So in short, a /48 to subscribers seems like complete overkill, and a /32 to ISP's seems completely inadequate (80 vs 16 bits).
I thought one of the goals of IPv6 was to assign ISP's huge blocks with low utilization so they don't have push a bunch of individual prefixes out to the worlds routing tables?
It seems to me while being extra super sure we meet goal 1 of making sure NAT is gone for ever (and ever) we fail goal 2 of not allocating a bunch of prefixes to ISP's that are too small.