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: 111000 111001 111010 111011 111100 111101 111110 111111 which is equivalent to 111000/3 or (111000,000111) --Michael Dillon