Neon_Internet_Cafe_Open_24_Hours

Once you finish this article, I'm sure you'll be amazed that the Internet works at all! It's easy to complain about slow download speeds, or lost e-mail, but, geez, it's the Internet!

Ten years ago most of you were still buying magazines, and renting videos, and going to the post office, and ordering things from the Sears catalogue. The only thing cooler would be the ability to teleport ourselves through it.

Look at a map of the Internet sometime and you'll see that it is like a million superhighways with no lines painted on the road. It's a snake pit of computers attaching to modems attaching to phone lines, or cable, or satellites, or cell networks, attaching to more computers, servers, routers and modems and so on, and so on. There is no beginning. There is no end.

Map_of_the_Internet

In the image above, you are looking at one very small part of the Internet. See that star-burst like image it is extracted from? Go take a look at the full image. It takes awhile to load. Then come back, of course.

What makes the Internet work at all, is something called the Internet Protocol (IP). You may have heard of the term IP Address. Now you know what the IP stands for, but do you know what it is? A protocol is a set method for a way of doing things. Think of an incoming phone call. Typically it goes like this: you hear the phone ring, you pick up, you say "Hello..." and maybe a little more like, "...this is Guy speaking." Then the person on the other end acknowledges you with something like, "Hey Guy, this is work. Where the heck are you?" Then the lying, I mean conversation, begins. That's a socially accepted phone call protocol.

That's basically how the Internet works. You tell your computer to connect to a resource, let's say MakeUseOf.com. Just pulled that out of my hat. MakeUseOf.com is a human readable form for the IP address 216.92.56.91. Who's going to remember that?  Exactly.

So we have something called a Universal Resource Locator (URL) like MakeUseOf.com. Something called a Domain Name Server (DNS) which looks up that URL and then figures out the IP address associated with it. Think of a REALLY big phone book. You look up your plumber's name and then you figure out what his phone number is. Same deal. Makes sense so far? Relax, there is no quiz and your Internet Users License won't be revoked.

IPv4_space

What the above image shows is the available IP version 4 (IPv4) space. MakeUseOf.com is located in the 216 block. Remember that from the first 3 digits of the IP address? That block belongs to ARIN - American Registry for Internet Numbers. Kind of like how the area code 403 belongs to Alberta. Got'er figured?

Here's where it gets a little crazy. Each piece of data you send out is broken down into packets. Imagine mailing your friend a book, page by page. Each page will have to carry your friend's address and the page number to let him know what order it goes in. It should also let him know how many pages there are, so he knows when he has it all. They should also have your address, so if the mail person can't deliver it, they know where it came from.

So, each packet carries the intended IP address, a number to determine where the packet fits back into the data sent, how many packets to expect, as well as your IP address. Crazy huh? It has more than that, but that's the really important stuff. Check it out in the packet header below. I highlighted the stuff we talked about in green.

packet_header

Now, check this out. Each packet doesn't necessarily go down the same set of wires to its destination. "What kind of glue are you  on, Guy?" No, it's true. Those packets go out to a device called a router, which then sends the packet to the nearest available router that is closer to that destination, and, hopefully, isn't too congested. It figures that out based on the numbers in your IP address. The first three numbers identify a large area, and the rest make it more specific. Yet again, just like a phone number. This is known as 'best-effort-delivery'.

So one packet may get routed through Virginia and another may go through Vancouver on their way to the same server in Hong Kong. This also means that packet A might get there later than packet B, or not at all! See what I mean about the miracle of a working Internet?

When the packets arrive at the destination, the server or computer receiving it compiles it into something cohesive, or it puts the book back together, to carry on that metaphor. Now the computer receiving all the packets sends back a message to the originating computer to say, in effect, "Thanks! Good-bye." Thus the communication ends.

That's the simplest, high-level overview I can give on how the Internet works. Take what I've said and add in millions of servers, routers, modems, and other networking devices and you can see how the complexity is magnified exponentially.

Next time you get an error message or a page loads a little slower than normal, reflect on this article and relive the amazement that the thing works at all. It's all perspective, my friends. And lots of wires.

Photo Credit: Justinc