Some Facts About IPv6
September 27th, 2006 by spk
Internet Protocol Version 6 is the imminent next generation Internet Protocol, which amongst other things will replace the four byte IPv4 addressing scheme we use now (numbers like 193.1.2.3) with a 16 byte addressing scheme.
Steve Gibson discussed IPv6 on his Security Now Podcast (number 25), and as I have said elsewhere, made a few errors, but this bit was interesting:
STEVE:  [...] So we have, you know, 4.3 almost billion IPs currently[in the IPv4 addressing scheme]. Well, 28 bits for addressing, which is what IPv6 gives us, is really out of control. That’s 3.4 times 10 to the 38th power. That’s 340 billion billion billion billion IPs. So…
LEO:Â That should be enough, at least until we conquer a few more galaxies, I think.
Okay, lets look at the numbers. With an equitable distribution of IPv4 addresses (and we don’t have an equitable distribution of addresses) we would not have enough addresses for everyone on the planet. As I am not atypical in having a home network of ten or more devices, all needing an IP address, the IPv4 range starts to look very small (especially as nearly half the address range is essentially wasted. Ford motor company have more IP addresses available to them than are available to the whole of China!)
So what does IPv6 give us? Steve Gibson says 28 bit addressing. From 16 bytes? How do we get that? 16 bytes = 128 bits doesn’t it? Where did the other 100 bits go?
Well actually Steve mispoke (or maybe he has been mistranscribed) because the figures he quotes next assume 128 bits of addressing. A 128 bit range allows theoretically for 2.4 x 1038 addresses. Leo says this is enough until we conquer some more galaxies. Actually, this is just enough. Forever!
How do I know? Well the number of stars in the universe is currently estimated to be about 1022. That means that we have, in IPv6, a theoretical 3.8 x 1016 addresses for every star in the universe. On the very silly assumption of one inhabited planet revolving around every star in the universe, each with a population of the size of Earth, each planet in the universe could have over 6 million IP addresses for every single inhabitant!
It is enough addresses.
But actually, 128 bits are not available for unicast IP addressing in IPv6. When Steve Gibson says that 28 bits or 128 bits is what we have in IPv6, he ignores the structure of the addresses.
64 bits of every IPv6 address are reserved for the host id on a network, and the remainder are split up into different classes. The important class for IPv6 addressing as we commonly understand IP addressing are the aggregatable global unicast addresses, which have a total of 61 bits available for addressing, but these bits are split into smaller blocks, as shown

These allow aggregation of the addresses for routing purposes by various authorities. There is a top level aggregation (TLA), next level (NLA) which might be an ISP and site level aggregation (SLA) which could be a company or university or somesuch.
That company can then set up multiple site networks from its 16 bit allocation. Each one of these networks can have 264 nodes which is nearly 2 x 109 on any single network.
Now assuming we could network together our nodes at a minumum distance of 1 metre apart, we could build a single network end to end, all the way from Aberystwyth (where I am writing this) to the M25.
No, not the M25Â London orbital car park. The M25 star cluster in the constellation of Sagittarius, some 2000 light years away.
This would give us an end to end round trip time on the network of 4000 years (plus a few milliseconds processing latency), which is not terribly fast. Indeed we might wonder whether it would be better to have a smaller network using the IP over Avian Carriers protocol (RFC 1149 and RFCÂ 2549)instead!
