But like a sleek sports car, there's a lot of complex engineering behind the World Wide Web. This page will help give you a bit of an understanding of what's going on when you type in a web address.
The Metaphor: Sending a book
Let's imagine you are a writer and you want to get your latest 3,000 page manuscript from your desk in a Calgary office tower to your publisher in Montreal.
Step 1: Look up the address
The first thing you do, of course, is look up the address of your publisher.
Step 2: Put the book into envelopes
Now, most people would send the book in one single box. But it would be a lot safer if you sent it out with each chapter going in its own envelope. That way, if any parts get lost or delayed along the way, your publisher can still go over individual chapters while you resend the missing pages.
Step 3: Number and address your envelopes
To make sure your publisher knows which chapters go in what order, you should be careful to number each one. And, of course, you should write down the address of your publisher in the centre of the envelope and your return address in the top-left-hand corner (so that your publisher knows where she should write back to.)
Step 4: Put your envelopes in outgoing mail
Finally, you'll want to drop your manuscript in your office building’s external-mail bin (because you don't want your priceless work getting mixed up with all your office’s internal mail and memos) with explicit instructions that the envelopes get to Montreal as fast as possible.
Step 5: Send each envelope along the fastest possible route
Now the workers in the mailroom will try to decide where Montreal is and how to get it there the fastest, and they will start sending them out. Some envelopes may go through Canada Post in Toronto. Some may go through FedEx (passing through its hub in Memphis, Tennessee on the way). Still others may go UPS (through its centre in Louisville, Kentucky). There's no saying exactly who the mailroom employees will choose or what path your envelopes will take except that the mailroom workers (and everyone else along the way) will try to send them along the fastest possible route at that exact moment. Even though it's not the most direct way, it's possible that some of your packages might pass through Timbuktu, if that turns out to be the fastest way from Calgary to Montreal.
Step 6: Sort the envelopes and assemble the book
Finally, your packages will arrive in Montreal in the mailroom of your publisher and be delivered to her desk. There she will probably sort them and start opening them. If anything went wrong along the way, she'll probably end up sending you requests for any missing or damaged envelopes. But ultimately she’ll likely send off a note telling you she got your book.
In real life
This is actually pretty similar to what happens on the Internet. This process is known by the unwieldy title Transmission Control Protocol / Internet Protocol —or TCP/IP for short. And it happens just about every time you communicate over the Internet, whether you are sending a 3,000-page manuscript or blasting off a short email or clicking on a web page’s hyperlink.
Step 1: Look up the address
The first thing your computer does is look up the exact address of the information's destination — called an IP address (IP stands for Internet Protocol). To you and me, Internet addresses look pretty simple: exn.ca, for instance. Unfortunately, this sort of address doesn't do any good for your computer. That's because it doesn't include any real information about where exn.ca is. At the time that I write this, our real address (our IP address) is in fact 188.8.131.52.
Want proof? Right now, your address bar probably reads http://exn.ca/Nerds/internet.cfm or http://www.exn.ca/Nerds/internet.cfm. But if you replace this with http://184.108.40.206/Nerds/internet.cfm you should arrive back at this same page.
So an IP address is kind of like a complicated-looking street address — not unlike the street addresses in Edmonton. Take 10145 109 Street, for example (my old apartment in Edmonton). Kind of intimidating. But, of course, all my friends knew it simply as "Andrew's place".
To get this IP address, your computer sends a request to a Domain Name Server (or DNS). It’s basically a computer program whose sole job is to convert common every-day Internet domain names into their numeric IP equivalent. Armed with this IP address, your computer now knows where to send the data.
Step 2 & 3: Slice the file into packets and address each one
Next, it hacks your data into small pieces between 1,500 and 2,000 characters long, slaps on the destination's IP address, your computer's IP address (so the other computer knows who to write back to), and a number indicating which order these data fragments were created. All together, each one of these pieces is called a packet. The file is now ready to be sent.
Step 4: Send the packets to the gateway
Next, your computer starts sending off the packets to a gateway server. This is a computer (also known as a router) that acts as the doorway connecting your Internet Service Provider's computer network with the rest of the Internet, and decides what packets belong inside the network and which ones can venture out into the ‘Net. It also acts like a travel agent, deciding which computer should be sent the packets next.
Step 5: Send each packet along the fastest possible route
From now on, the packets bounce from computer to computer, leaping into increasingly bigger and faster communications streams. And with each leap, the packets get closer to their final destination. If at any point the network connections ahead are ever slow, the packets are sent off along a different route to avoid the slowdown.
Step 6: Sort the packets and reassemble the file
The packets eventually stream in through the gateway router of the destination computer’s network and are sorted and reassembled into their original form. Packets that never make it are requested again and the final file is deposited in the destination computer in the same form in which it left. Finally, a message is sent back to your computer, using the same process, telling it that the transmission was a success.
What is particularly impressive is that this whole process usually takes a fraction of a second to happen. And it happens over and over and over again, every time you click on a link, submit a form or request a file. Think about that next time you drop an envelope in a mailbox!
It sounds almost comically elaborate, but it works and works very, very well. In fact you used it several times just to see this page!
| Story by: |