Well, this is it. It's time to understand how this magical world called The Internet works. You've seen it, you've used it, in fact, it's been almost an inseparable part of your life. But how well do you exactly know it? Before you'll be so sure with yourself, how if you read through the questions below. If you can get it all right, then you don't really need to read all this post. But if you can't, then you might find this post useful.
How are you able to get your file transferred from one computer to the other which is across the globe
How can you be so sure that those files are going to the right destination, in other words, they don't go to anywhere else?
Early days
First thing first, what is exactly the Internet? Truth be told, it was almost nothing before the 70s era. At that time, the brains at the U.S Department of Defense developed a way to enable them to control the communication throughout the world by creating a worldwide network that could remain operational even if parts of the network were destroyed by military action or sabotage.
Continuous innovation and development by academic community resulted in the beginning of commercial use of the Internet in the late 80s. People started to use service like email and mailing list to exchange informations among themselves. It was not until the early 90s when the world saw the beginning of Internet growth, from only 4 computers at U.S Defense Department to more than 300,000 computers. But this was actually nothing compared to what happened during the 90s. More and more commercial Internet service providers (ISP) were opened. The number of internet hosts (computers directly connected to the Internet) grew from less than a million to almost 100 millions.
Behind All This Drama ...
... were these two: a script called hypertext and the software to translate such script into something we, human being, used to read. Hypertext is basically the way to link the information on one page to other information on other pages. It includes the language of HTML, a language full of set of codes to describe the relationships among the text elements. And to read such coded script, we need a software. Such software presents an HTML document in an easy-to-read format. Those icons, graphics, pictures and everything displayed on your browser window are the result of their works.
But one question remains: how can these all codes and informations be transferred from one computer to other? One possible analogy (and probably the lamest one) is by comparing the set of the informations as one piece of furniture (say, bed) you just bought from IKEA. As you might probably know, IKEA don't give you the whole set of ready-to-use bed, instead they provide you with all the necessary parts to construct the bed on your own.
The assumption I made isn't just for nothing. Imagine, two of eight available routes are blocked due to traffics or accident. If your bed comes in one piece, and the poor delivery guy has no idea whether the route he's about to take is blocked, then chance is you won't get your bed ready by the time you expect it to be. But if it comes in pieces, then at least you still get something (although it doesn't do much for yourself) because some of delivery guys arrive at your place in time.
If you can get what I'm trying to say above, now change the story with the following:
- bed = files,
- bed parts = file chunk,
- delivery guy = routing algorithms,
- the route available = network available,
- bed construction manual = TCP (Transmission Control Protocol),
- your home address = IP address,
- you as the customer who order the bed = user who request the information,
- you as the one who reconstruct bed pieces = software your computer use to display the information.
Pretty simple right? It is, but bear in mind, that this isn't totally true. There might be some deviation for the sake of simplicity.
to be continued