Michael Altfield's gravatar

IPv6

In light of the whole world going crazy because the we’re running out of IPv4 addresses, I did some calculations.

IPv4 contains 2^32 unique addresses = 4,294,967,296 = ~4 billion
IPv6 contains 2^128 unique addresses = 340,282,366,920,938,463,463,374,607,431,768,211,456 = ~340 undecillion

Taking into consideration that not all IP addresses are available (there’s reservations for private and multicast address ranges such as 192.168.0.0, 10.0.0.0, etc), there’s actually less ~34 million addresses available in IPv4 (~0.8%). Since I’m already being rough with the math, I’m going to do some assuming here and say that IPv6 is going to have the same PERCENTAGE of reservations, therefore:

IPv4 contains ~4,260,607,558 unique, internet addresses = ~4 billion
IPv6 contains ~337,560,107,985,570,955,755,667,610,572,314,065,764 unique, internet addresses = ~338 undecillion

According to google, the world’s population is approximately 6,602,224,175 = ~7 billion (as of July 2007). Therefore:

IPv4 provides ~0.6 unique, internet IP addresses per person.
IPv6 provides ~51,128,240,883,394,565,401,237,320,236 = ~51 octillion unique, internet IP addresses per person.

Conclusion

I’m astounded by the results. Obviously, IPv6 provides a shit-ton more unique IP addresses per person than IPv4, but I didn’t realize that IPv4 didn’t even allow for 1 unique, internet IP address per person! Not that I’m bashing the original IPv4 specification–they had no way of knowing how popular the internet would become, but it is time for an upgrade!

Personally, I can see myself requiring at least 10 unique, internet IP addresses by 2010 (the current estimate for the exhaustion of unique, internet IP addresses on IPv4) between servers, personal handheld electronic devices, etc.

Also, as a metapost, this number to word converter is great for understanding very large numbers, but it only goes to nonillion. I had to use wikipedia for those REALLY large numbers. If anyone knows of a online converting script/applet/etc that allows for much larger numbers, please let me know!

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>