I wanted something to sink my teeth into on just how large IPV6 really is. As such, I decided to do it graphically. Initially, this meant just representing each IP address with a single pixel. Surely, the images would be doable. However, as I started crunching the numbers, they were much larger than I thought, and I came to a very quick realization that this wouldn’t be possible. I needed to do some compression if I wanted to show it visually. So, I took advantage of compression where possible, and I let your imagination work in a couple spots where even compression won’t turn out anything reliable or representational.
To start, it’s well known that we’re running out of IPv4 addresses. IPv4 only address 2^32 possible IPs, which is 4,294,967,296. There are already 6.5 billion in the world, so we don’t even have enough IPs for 1 per person. Given the fact that many of us have more than 1 (Internet, cell phones, cable/satellite TV) and many businesses have gobbled up millions at a time, such as IBM and Sun Microsystems, we’re in trouble. It’s estimated that we’ll be out of IPv4 addresses within the next 2 years. There are things we can do to extend that life, but for the most part, it’s time to move on to IPv6. To give a visual of how much of the space is left, consider the image below.
This first image is 256×256 pixels, for a total of 65,536 pixels. As already mentioned, there are currently 4,294,967,296 possible IPv4 addresses. As such, each pixel in my image represents 256 unique IPv4 addresses. There are currently only 511 million addresses left, or about 12%. My graphic below gives an accurate representation of the exhaustion, if black is all the used addresses and white is what is available.

Now, what about IPv6? Well, to start, it addresses 2^128 possible IPs, which is 340,282,366,920,938,463,463,374,607,431,768,211,456 possible addresses. There are a lot of technical points of interest with IPv6. First, it is NOT backwards compatible with IPv4, which means we’ll be living a dual IP stack for some time. Second, 64-bits of the 128 in IPv6 are dedicated to your Ethernet hardware address, commonly referred to as the MAC address. Which means, that your ISP could give you the other 2^64, or 18,446,744,073,709,551,616 unique IP addresses when you sign up for an account. After all, as you’ll see, we have more than enough room.
This number may not look large, but I want to put it into perspective visually, so you have an idea of what we’re looking at. If each IP was a single pixel, this would produce an image 18,446,744,073,709,551,616 pixels square. Now, my monitor has the capability of showing 105 pixels per linear inch. This means my monitor would need to be 2,772,778,991,358 miles in length and width if I wanted to see the image without any scrolling. Just for comparison, a light year is 5,865,696,000,000 miles. It would take almost 6 months traveling at the speed of light to start from one end of my monitor to reach the opposite. Want an image to wrap your mind around it? The maximum distance of Pluto from our Sun is approximately 4,557,000,000 miles away. We need to do that distance about 600 times before reaching the end of my monitor. We’re still well within the Milky Way however.
Let’s get closer though. If I were to keep the same allocation of 256 IP addresses for a single pixel, as I did with my first image, then I would need a monitor capable of showing 72,057,594,037,927,936 pixels square. A linear distance of that size is about 1,083,116,793 miles across. This is slightly more doable as a visual representation. The distance from our Sun to Saturn is roughly 886 million miles. So, drive about 200 million miles further, long before we reach Uranus and we’ll reach the edge of my monitor. Want a visual representation to scale? The yellow blob on the far left, just outside the white monitor is our Sun. The pink dot on the far right just inside the monitor is Saturn. Remember, this is our monitor size if each pixel on my monitor was 256 IP addresses.

Certainly, this is much too large. Can’t I get a monitor to fit on my desk? Let’s allocate the entire IPv4 space to a singe pixel on my screen. This should give us a more manageable image, no? That means that I would need an image size of 4,294,967,296 pixels square. An image of this size would require a monitor width of only 645 miles. Putting the center of the monitor in the center of the United States, and I can see that my monitor is large enough to cover 6 states in the Midwest- Nebraska, Iowa, Missouri, Kansas, Oklahoma and Arkansas. Again, remember that each pixel in my monitor would be occupying 4.2 billion IP addresses. Think any hardware manufacturer is willing to make a monitor this large for me?

So, there you have it. A visual representation of IPV6 as best as I could do. Hopefully, this will help you understand just how large IPv6 is, and that I don’t expect us to run out of addresses with that vast number. Unless, of course, we enter inter-galactic communication on the same protocol.
(If I wanted to fit the entire IPv6 space on my physical monitor right now, each pixel would need to represent 192,903,836,122,980,988,357,922,113,056,557 IP addresses. Cool.)
{ 19 } Comments
Great entry! I tried to Digg it but as soon as I click on submit Digg asks me to register a new account (and that’s when I’m already logged in… grrrr.)
A professor I worked for in college (in the 90s!) explained IPv6 like this: “It’s large enough for every lightswitch in every home to have its own public IP address.”
I presume you’re referring to http://www.potaroo.net/tools/ipv4/index.html when you say that IPv4 is predicted to run out of addresses in the next two years. If not, take a look – there are lots of graphs!
Out of idle curiousity I started tracking the estimated dates on potaroo to see how they changed with time and it seems as though the estimated expiry date is moving backwards: http://atchoo.org/ipv4/
interesting idea to have a monitor this big
i liked the idea that there are more ipv6 addresses than there are atoms on the surface of the earth – see for example http://www.edn.com/blog/980000298/post/820024082.html
IMO this results in something which can be imagined easier that a monitor of this size
I managed to Digg this here: http://digg.com/linux_unix/The_sheer_size_of_IPv6. Great article.
We have been running out of IPv4 addresses since 1998. The solutions employed then to expand the address space are still valid and could expand the use of IPv4 well beyond 10 years.
The real problem with IPv6 has been and still is compatibility. There were other ways to expand the address space while remaining much more compatible with IPv4 (by reshuffling some bits in the IPv4 header). The IETF made the choice of IPv6 over other compatible options and consequently we are still using IPv4 11 years after the standard has been adopted.
As you point out 2^128 is a unimaginably huge number, it is in fact much larger than what humanity will need for the next one million years. It probably could address all hosts in the entire universe if we accounted for thousands of extraterrestrial intelligent civilizations. But then IP would probably not be the solution anyway, imaging the retransmission of a packet lost across 4 light years (the distance to our closest star).
It has been only a year since ICANN/IANA has finally enabled IPv6 into root DNS servers.
Eventually ISPs will move to IPv6 but very gradually and I bet there will still be IPv4 hosts for well over 20 years.
I’d like a larger address space as much as the next guy, but using phrases like:
Doesn’t really help your argument at all, as we’ve been hearing this for a dozen years now. IPng anyone?
There’s a typo. “the our Sun”
It looks like the purple dot is Uranus. Saturn is the yellow dot that comes after the big orange Jupiter.
You’re right. It was late when I made the image, so I must not have been thinking clearly. Thanks.
Fixed. Thanks!
http://lmgtfy.com/?q=ipv4+exhaustion
It’s a bit larger than that. If there are exactly 6.5 billion people on the planet, and each person lived in their own house, and each of house had 6.5 billion light switches (I think we’ve grossly overdone an even remotely accurate representation, no?), we would still have left over 340,282,366,920,938,463,421,124,607,431,768,211,456 addresses. Yeah- we’re barely scratching the surface with that one. You might want to tell your professor to find a better model.
Your comment about the IPv4 image is wrong.
IPv4 is 2^32, dropping 2^16 (2^8 * 2^8 image) leaves 2^16 IP’s per pixel, or a /16, 64k IP’s per pixel.
Also my personal way of describing v6 is:
* Each ISP gets 4-billion subnets (a /32), there’s potentially 4 billion of these
* Each user is assigned either 256 (a /56) or 64k (a /48) subnets, 64k large allocations or 16M smaller ones
* Each subnet is four billion times the size of the entire IPv4 internet
When I tried to get redundant routing from two separate ISPs, I learned that no public ISP routes less than a /24 and many don’t route less than a /22. I don’t understand the advantage to IPv6 until there is routing for /48 – and I haven’t seen that discussed. What’s the point to having an address if no one can discover how to get there?
Wouldn’t IPV5 have been sufficient?
Heyah, very nice article, though i think there is a mistake in the pixel representation of IPv4
256 * 256 = 65536 = 2^16 pixels in your square
IPv4 address space = 2^32 addresses
so each pixel should be 2^16 addresses to get 2^16 * 2^16 = 2^32 addresses
Does the solar system representation then count?
me view your content in ie6, which i’m forced to use by coroporate policy
@you’re awesome
I’m sorry you’re bothered with using technology that is 8 years old, when it’s been replaced two times over. Maybe you should pressure your corporation (not “coroporation”- another reason you should be using an up-to-date browser- spell check is a good thing) into updating the policy to allow at least IE7 or IE8 or some other browser, like Firefox or Chrome.
I’ve thought about it, and I don’t want to support IE6 users visiting this site. So, either don’t visit my site with IE6 or use a different browser. After all, I didn’t force you here. You came here on your own. You’re more than welcome to leave.
{ 4 } Trackbacks
[...] Toponce posted some interesting “libraries of congress” analogies about the size of the IPv6 address space. I loved how he said that “18,446,744,073,709,551,616…may not look large” [...]
[...] has huge number of IP address how huge? 40,282,366,920,938,463,463,374,607,431,768,211,456 huge! This article puts this in perspective. For example: if every pixel of a monitor was 256 addresses your monitor [...]
[...] En cambio necesitaríamos un monitor de tal tamaño que abarque desde la superficie del Sol hasta pasar la orbita de Saturno para ver las direcciones que nos proporciona IPv6. [...]
[...] each pixel on your monitor were to represent a number of IPv6 addresses it would come out to about 192,903,836,122,980,988,357,922,113,056,557 per pixel to cover the entire amount of [...]
Post a Comment