Is it even a possibility then? A /48 to everyone means 48
bits left over for the network portion of the address.
That's 281,474,976,710,656 /48 customer networks. It's 16
million times the number of class C's in the current IPv4
Internet. Am I just not thinking large or long term enough?
No, you are just counting wrong. When you are talking /48's
you are talking "number of bits of of subnet hierarchy", not
"pile of pebbles on the beach". If you read the ARIN IPv6 policy
you will see that they don't count /48's like pebbles, instead
they use something called the HD Ratio.
Basically, this recognizes that IP networks are not flat piles
of pebbles, but have a hierarchical aggregation structure in
them. At each level of aggregation, you have to do a fitting
exercise, where you fit what you have into a power of two
sized block. If you have 5 subnets that need to be aggregated
into a single higher level subnet, then you must use 3 bits
of your subnet hierarchy, even though those 3 bits could be
used for as many as 8 subnets.
This is not waste. It is a fact imposed by the structure of
IPv6 (and IPv4) subnet addresses. In fact, when you "throw away"
subnets (addresses) like that, you are actually following a
prudent conservation policy. That's because this kind of bitwise
network addressing is cheaper to implement in hardware and
can be processed faster in hardware when doing things like
FIB lookups. That conserves MONEY and TIME which are vastly
more important to conserve than theoretical counting capacity
of a bitstring.
Remember, IP addresses don't really exist. They are just bitstrings
which some people like to arrange in orderly sets such as:
which is equivalent to 111000/3 or (111000,000111)