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?

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.