Understanding the inner works of the Internet
The Internet is a relatively new technology, and yet it has become a key component of our everyday lives. It's quite hard to imagine that our parents had to open a 5-pound dictionary to find out the meaning of a specific word, isn't it? And yet, very few of us can explain how the Internet works. Hopefully, by the end of this article, you will be able to impress your friends and coworkers with your newly acquired knowledge.
You may have heard of computer networks; they are collections of computers which are linked together using wires or wirelessly, and are able to share data with each other. Believe it or not, the Internet is a global computer network; yes, your Internet-connected computer plays an active part in defining the web!
To keep things in order, each computer must have a unique IP address. (On a side note, "computer" refers to your phones and tablets as well; they have a similar architecture with your desktop PC or laptop, including a processor, ram, storage space, etc). Each time you connect to the Internet, your computer is assigned a unique IP address which may look like this:
The same thing happens with any resource that is available on the web. This means that your favorite site has a similar IP address. Yeah, cnn.com is just a nice name that is assigned to CNN's IP address. A distributed database called DNS translates common website names such as cnn.com into IP addresses that computers can understand.
Since there are billions of web resources on the web, it would be almost impossible for a single DNS server to store all the required information. So, any DNS server will redirect the request to another server if it doesn't store the required information. You can use a site like the one below to discover the IP address of any website.
You can also "ping" websites to get their IP addresses and see if they are alive or not. Simple open a command prompt, and then type in:
Your computer will connect to the targeted computer (if it is online), and then it will display several stats, including the approximate round trip time for the all the information that was sent back and forth.
So, you can connect to the desired website and exchange data with it because you know its address. But there's much more going under the hood; how do your computer and the remote server exchange information, for example? By making use of various protocols, of course! The Internet uses the TCP/IP protocol stack to give people the ability to browse various websites, get access to email, transfer files via FTP, etc.
Any message must know the destination's IP address and the port number; this way, it will be able to reach its destination, and it will know what to do after it has arrived at the targeted server. If a specific message is too long, it will be split into smaller messages, which are known as "data packets".
Here's what happens when you want to access cnn.com, step by step:
- You type in the domain name in your browser's URL bar;
- The browser connects to a DNS server and finds out the IP address for cnn.com;
- The browser connects to the web server which hosts cnn.com;
- The server verifies if the desired resource exists. If the answer is affirmative, the page is sent over the Internet and your browser will display it. If the page isn't available anymore, your browser will display an HTTP 404 error message (page not found);
- Your browser will close the connection until you request a new page or resource.
It's a simplified explanation, but it covers all the key aspects.
One more thing: the Internet wouldn't be able to work properly without having a huge infrastructure, which consists of several large networks that are connected to each other. Most of these key data routes are sustained by strong computer networks which belong to government-owned data centers, universities, etc.