What does “the Internet” look like geographically? Recently, I wondered where the world’s IP addresses were physically located. I thought that getting the answer to this question would be a 5 minute project, but it turns out that for a network novice such as myself there was a little learning curve. By the end of the project, in addition to writing this blog post, I also updated two incorrect Wikipeda pages.
Initially, I found a dataset at MaxMind which gave the latitude and longitude of IP address blocks throughout the world. The data is updated monthly and the set I used was from April 2014. Plotting all the IP block coordinates on a world map was actually not that interesting. The dots distributed themselves mostly across the US and Europe and then more sparsely around the rest of the world. I suppose a big surprise to me was how few of these blocks are located in India and China, the two most populous countries in the world.
Seeing the big smear of points begged the question: what are all these networks? Somewhere along the way, I learned that there’s IPv4 addresses (which have essentially been exhausted) and IPv6 addresses which are still in the early days of distribution. I was able to find a list of all the owners of IPv4 blocks on IANA’s website. Replotting the geo-locations with different colors for the IPv4 block owners gave this lovely chart:
The dots show about 2.7 million IPv4 addresses that map back color-wise to the various block owners. These IP address blocks expand out to over 3.7 billion public IP addresses, but the MaxMind dataset provides IP block data, not complete IP resolution, so the geo-locations must be averaged.
Because of the large number of IPv4 owners the color-differentiation is rather poor. The low-resolution of the latitude/longitude coordinates means many dots fall right on top of each other. So this conglomerate world map still buries the IP distributions. I ended up separately plotting each individual IP owner on the list to get a better idea of how they all look. Plus, I added back the IPv6 addresses in the MaxMind dataset as their own map.
It’s interesting to see the puny, little organizations that own IP blocks like the “Amateur Radio Digital Communications” club which boasts 9 dots in Germany, the US and Japan.
The “UK Government Dept for Work and Pensions” has 1 IP location — in Australia. Similarly, the “UK Ministry of Defense” has an IP address — in California. I’m guessing those IP geo-locations are wrong on purpose? Or perhaps the rest of the UK Ministry of Defense’s IP locations are concealed from router-sniffing vans.
Clearly, there are also some spurious addresses, because the latitude values should only range from -90 to +90 degrees, whereas some of the charts show dots with latitudes going up to +/-180 degrees, particularly among the IPv6 addresses. However, most of the values look genuine.
Click on the gallery below to scroll through the readable-sized images. It’s interesting to peruse the 41 maps at least once.
- All IP addresses from: GeoLite2, offered by MaxMind.
- I found a chart detailing common router IP addresses by manufacturer on techspot.com. None of these addresses appeared in the MaxMind dataset, though.
- A listing of all assigned /8 IPv4 address blocks on IANA.org’s website.
- Caida.org’s Internet topology kit. I didn’t see this particular dataset until after I had already posted. It uses the MaxMind dataset and provides associated topology information so you can plot how all the IP addresses are connected.
Warning: Declaration of Social_Walker_Comment::start_lvl(&$output, $depth, $args) should be compatible with Walker_Comment::start_lvl(&$output, $depth = 0, $args = Array) in /home/jqqi7nt29y32/domains/researchpipeline.com/html/wordpress/wp-content/plugins/social/lib/social/walker/comment.php on line 0
Warning: Declaration of Social_Walker_Comment::end_lvl(&$output, $depth, $args) should be compatible with Walker_Comment::end_lvl(&$output, $depth = 0, $args = Array) in /home/jqqi7nt29y32/domains/researchpipeline.com/html/wordpress/wp-content/plugins/social/lib/social/walker/comment.php on line 0
Randall Munroe did a less detailed mapping of this sort back in 2006: http://xkcd.com/195/ Look at all of those unallocated blocks!
Actually, there are large blocks of unused IPv4 addresses even today. I didn’t include all the charts for where there were zero used IP blocks. I think some of them have other purposes like “Multicast”, “IANA Loopback”, and a few others. But there’s this big block of addresses from 240/8 to 255/8 that are still reserved for “future use”!
Multicast and IANA loopback can’t be touched without breaking everything.
I don’t know what’s going on with the /8s from 240-255, but we were warned against using them internally by some authority who knows better. Most of our internal address are from the 10/8 private use block, but we’re running out of them.
Ah! So that’s what’s meant by “IANA – Private Use” and I suppose it’s something similar for “IANA – Local Identification”.
So after you run out of 10/8 blocks, it’s on to IPv6 addresses?