We were talking at work the other day about the transition (any day now!) from IPv4 to IPv6. One colleague said that at least we would have plenty of addresses, and another said something like "Ha! That's what they said about IPv4!" Well, yes. But the jump from 32-bit addresses in IPv4 to 128-bit addresses in IPv6 is quite something else. Let me illustrate.
Let's say you can build computers ridiculously small, like the size of a grain of sugar. This page says that a grain of ordinary granulated sugar is about 0.5 mm in size. Let's assume it is cubical, so that gives it a volume of 0.5x0.5x0.5 = 0.125 mm3. Now let's suppose we want to build one of those computers for every IPv6 address.
With 128-bit addresses you can have 2128 different addresses in IPv6, which is (deep breath) 340,282,366,920,938,463,463,374,607,431,768,211,456. No, I don't know how to pronounce that either, but in scientific notation that's about 3.403x1038. How big a mountain of sugar would that create?
Well, 2128 computers with a volume of 0.125 mm3 makes the total volume 0.125x2128 = 4.254x1037 mm3 = 4.254x1028 m3 = 4.254x1019 km3.
This page says that Mount Everest has a volume of "approximately 2413 cubic kilometers". Not sure how accurate that is, but it's clearly quite a bit smaller than our sugar/computer mountain.
All right, let's take a step up in size. How about the Earth? That has a volume of 1.08321x1012 km3, according to Wikipedia. Closer, but still a factor of about 4x107 off.
Let's go truly big then. According to (again) Wikipedia the sun has a volume of 1.412x1018 km3. So that means even the sun could fit inside our ball of sugar grain-sized computers 4.254x1019 / 1.412x1018 = 30 times. In short, there isn't enough matter in the solar system to build that much hardware.
No, IPv6 adresses aren't going to run out in my lifetime, or in yours.