As someone who loves computers and works with them for a living, I sometimes forget that not everyone is as familiar with their inner workings as myself. For example, the other day a friend of mine said, "i'm confused. i'm too tech-illiterate to understand the hullabaloo over ipv4 being over? like, for practical purposes, what does this mean? does it mean anything for me / the average computer/internet user?" To help my friend, and the people out there that are like her, I have decided to present to you a series of articles that explain Internet related topics. Since this is the first article, I will attempt to give a brief history of the Internet and an answer to my friend's question.
The Formation of the Internet
To start, let us look at computers before the Internet existed. These computers could do most of the things that modern computers can, but at a slower speed. The computers of this time could only access information that was stored on its harddrive. If you wanted to transfer data from one computer to another, you would have to put that data onto a floppy disk*. This required you to physically move the data from one location to another, which was terrible. As everyone knows, people who use computers extensively don't like to move around so they had to come up with a solution. The solution was to connect the computers together using wires. This allowed people to connect together small groups of computers. The group of computers that are connected together is called a network.
These networks were great as they allowed people to send out a lot of information, originally mostly text, to other people on the network. Though each network accomplished the goal of connecting people, there were a lot of different networks. Each network had its own unique form of sending information to the people on the network. Since each network effectively spoke a different language, it prevented people from sending information from one network to another. To solve this problem, the concept of an IP, internetwork protocol**, was devised. By translating your information into this common language, you can send information between networks.
Through the use of the Internet Protocol, you could begin forming connections between networks. This group of networks is the thing most people call the Internet. So long story short, the Internet is a network of networks.
The Internet Protocol
We are finally getting close to answering my friend's question. Before we do though, we need to talk about how the Internet Protocol actually sends information between computers. When information is sent over the Internet, it is broken down into smaller pieces. Each piece is sent separately and then reconstructed on the other side. These tiny pieces of information are called packets.
In the above picture, computer A sends an email to computer B. When computer A sends the email to computer B, it first splits the email up into packets. When all of the packets arrive at computer B, the email is put back together.
You want to make sure all of the pieces arrive to the right place, so some additional information is sent along with each packet. One of the most important pieces of information that is sent with each packet is the destination. The Internet, like the post office, is able to deliver its information because each computer has an unique address***. The address of computers are specified using an IP(Internet Protocol) address. In the current version of the Internet Protocol, IPv4, the address is made up of 4 numbers in the range 0-255. For example, my computer is at the address 192.168.1.13 on my network. Based on these 4 numbers, you can specify 4,294,967,296 different addresses. Though that seems like a lot, almost all of these numbers have been given out already. In order to make sure we never run out of addresses, the next version of the Internet Protocol, IPv6, will use more numbers. In fact, it uses so many number that it will give us 2^128 different addresses. This is an insanely large number. Here is a quick list of comparisions:
- There are 79,228,162,514,264,337,593,543,950,336 IPv6 addresses per IPv4 address
- There are 10 ^28 IPv6 addresses per person that is currently alive on Earth
- There are roughly 10^15 IPv6 addresses per star in the known universe
Finally we get to the answer of that original question. As I said before IPv4 is the common language that networks use to communicate. If some of the computers start using a new language, IPv6, then certain parts of the Internet will no longer be able to communicate. This means that either everyone in the world needs to switch to IPv6 at the same time or every computer will have to be able to translate between IPv4 and IPv6. Either option is difficult to accomplish, but luckily for you, it is unlikely to affect you. Like the recent switch from analog to digital tv, you might have to spend a little money, but overall service should continue on as it always has.
I hope you found this first article entertaining and informative. If there is a particular topic that you felt was unclear or you would like more details on, just leave a comment and I will be happy to write up something that attempts to answer your questions. Be sure to check back next week for the second article in this series.
*Floppy Disks were actually developed after most of the early networks, but I thought that it was the oldest storage medium that most people might have heard of before.
**A Protocol is a formal set of rules for exchanging messages
***Yes, I know that each computer does not have a globally unique IP address and that the address space can last longer through the use of NAT. Those are topics for another time