Availability of Internet Addresses

30 May 2007

Categories: Random , Tags: Maths, IP, IPv4, IPv6, MAC

There are various addressing schemes on the internet - IPv4 and the new, still not very well adopted IPv6, MAC addresses, etc. I wonder how the number of each of these fares when stacked up against the world's population of ~7 billion people.

# IPv4 Addresses

An IPv4 address consists of 4 numbers, each between 0 and 256, separated by dots (e.g. 52.11.108.247). The theoretical maximum number of addresses is therefore 256 to the 4th power:

2564 = 256 x 256 x 256 x 256 = 4,294,967,296

If we divide this by our 7 billion people, we get:

4,294,967,296 / 7,000,000,000 = 0.61

This is 0.61 IP addresses per person, or an IP address per 0.61 / 1 = 1.63 people.

Eek, that doesn't seem to be enough! Remember that every home has a public IP, and each internet connected mobile device (mobile phones, etc) also has a public IP.

# IPv6 Addresses

IPv6 was created to help alleviate the issue of a lack of IPv4 addresses. An IPv6 address consists of 6 groups of two hexadecimal (0-9 or a-f) digits, separated by colons (e.g. 16:a2:aa:73:60:4b). The theoretical maximum number of addresses is therefore 16 to the 16th power:

1616 = 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 = 18,446,744,073,709,600,000

If we divide this by our 7 billion people, we get:

18,446,744,073,709,600,000 / 7,000,000,000 = 2,635,249,153

This is around 2.6 billion addresses per person - much better! It's interesting that IPv5 doesn't really seem to have taken off as an alternative to IPv4 as of yet - a lot of infrastructure supports IPv6, but wherever public IPv6 addresses are given out it's alongside an IPv4 address.

# MAC Addresses

MAC addresses are used for both Ethernet and Bluetooth, and are unique IDs allotted to all network communication devices (e.g. network cards, wireless devices), and consist of 6 pairs of hexadecimal characters, separated by colons (e.g. 05:AB:F5:20:94:9C). The theoretical maximum number of addresses is therefore 16 to the 12th power:

1612 = 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 x 16 = 281,474,976,710,656

If we divide this by our 7 billion people, we get:

281,474,976,710,656 / 7,000,000,000 = 40,211

This is about 40 thousand addresses per person - which seems acceptable.