The Internet Protocol: Past, Present, and Future – Part 2
Today, in the continuation of our series on the Internet Protocol, we talk about IPv4, binary and the end of the internet as it has existed for the past 30 years.
Last time, we talked about the formation of the Internet Protocol, the addressing system that allows the internet to function. Without the Internet Protocol, communication between computers would be impossible, as routers would have no idea which computer to send a particular signal to. Today, we’re going to talk about the previous version of the Internet Protocol and still the most widely used version, known as IPv4.
Codified in 1981, IPv4 is the most widespread version of the Internet Protocol. When first introduced, it was believed that the number of addresses would be more than enough for the needs of the nascent Internet; the engineers who came up with the protocol suite could not have imagined the explosion of personal computers or mobile devices that would connect to the internet. In 1981, the 32-bit addresses used to identify various computers seemed to be more than enough.
But what is a 32-bit number? To answer that, I need to explain a little bit about how computers operate on an electrical level for those who don’t know. To those who know how a computer counts and what binary is, feel free to skip the next paragraph, or go ahead and read it for a quick refresher course.
Computers operate by sending electrical signals through various circuits on microchips and silicon boards. The electrical signal has two possibilities: if the circuit is open, then no current flows, and its signal is “off,” whereas if the circuit is closed, an electrical current flows through it, and the signal is “on.” These two possibilities are represented by a base-2 number system, called binary; on is 1 and off is 0. Computers use this numbering system to count by using millions of circuits; for example, instead of counting “1, 2, 3, 4, 5,” binary counts as “1, 10, 11, 100, 101.” Each of the ones and zeros is known as a “bit,” and 8 bits make up a “byte.” A 32-bit number, therefore, is a binary number with 32 ones or zeros. For example, Google’s IP address, 18.104.22.168, can also be written as 1001010.01111101.10000010.01101010, with 4 octets of bits (or 4 bytes) separated by periods (purely to make it human-readable).
Now that we’ve had a refresher on binary and how the IPv4 address is constructed, you might be able to see the main problem with this addressing scheme; we’re running out of addresses. With any addressing system, there’s going to be a finite number of addresses; in the case of IPv4, there are nearly 4.3 billion addresses. With 7 billion people on the planet, this means that even if every person were given just a single address, we would be three billion addresses short. The biggest problem is this: People don’t have just one device. Today’s internet user is connected through a phone, a tablet, maybe even a computer or two. The last blocks of IPv4 addresses were recently assigned to the regional address issuing authorities, and it’s projected that IPv4 will be fully tapped out in Europe and North America by August of this year, with Asia, Africa, and South America following within two years. Once all of the IPv4 addresses are used up, that’s it. No more growth is possible on the Internet using IPv4, because there are no more unique IP addresses available.
We have been aware of this problem for years, and a solution has been created. But its implementation among ISPs and various routers around the internet has been slow. That solution is called IPv6, and it will be the subject of the final part of our series on the Internet Protocol.