A lot of us take for granted the amount of work our computers have to do in order to serve us the web. We launch a web browser, type in an address and almost instantly, a web page is shown to us. But most of us don’t know the amount of work that the computer does in the background in order to request that information. Even though it seems fairly quick, the computer actually goes through a lot of processes.
Last Wednesday night, I attend my first lecture of the semester, Networking I at Mohawk College. It’s been almost three years since I last stepped foot on campus but not much has changed. The Tim Horton’s was where it was the last time I was here. The Information Wing was still there filled with nerds playing World of Warcraft. And the bus stop was still filled with students waiting for the 35 College bus.
Networking I proved to be a great refreshing and informative class. Herman Poon, the instructor knew exactly what he was talking about. Anything anyone had a question about, he was right on top of it with an answer. That’s when you know you have a good teacher. There are some who will say that they’ll get back to you with an answer but a teacher who can give you the facts right away knows what they’re talking about.
The last time I took a networking class was back during the first semester of college in 2001. I don’t quite remember much from that class other than some of the basics. I was a software student and I wasn’t too eager to learn the networking stuff. Now I’m starting to see that if you want to write code, you have to know the hardware that you’ll be dealing with. You can’t write code for data to be sent through the network cable to a recipient and expect the exact same code to work wirelessly. It’s two different mediums.
The first day of class we touched based on the Open System Interconnection (OSI) Model. This model describes the layered communication and networking protocol that are used by computers when they transmit data. There are seven layers to the model:
The bottom lays provides function for the lay above it while the top layers provides data for the layer below it. There are different types of protocols that will take advantage of each layer. For example, the Internet Protocol (IP) stack uses the application, transport, network and data link layer.
For example, if you’re using MSN Messenger to send an instant message to your friend. Your Messenger needs to send data to your friend’s Messenger but Messenger doesn’t talk directly to the other Messenger. Messenger needs to send the data down to the next layer until it reaches the Physical Layer. That layer is the only layer that can actually transmit the data because there’s a physical connection.
In order for your message to arrive on your friend’s computer, Messenger (application) sends the data down to the transport layer. The transport layer will create a connection between your Messenger and your friend’s Messenger and then it’ll send data down to the network layer. The network layer will add in the addressing information and send the data down to the data link layer. The data link layer sends that message to the next person and the process starts again.
It seems like it’s a quick and easy process but there’s a lot that goes on. That whole transmitting of a message process has to go through your ISP and if you’re behind a router, you have to go through that. The IP stack tells knows where to send the next information to. So from your computer, to the router, from the router to your ISP, from your ISP to your friend’s ISP, from your friend’s ISP to their computer. So for your Messenger to talk to your friend’s Messenger, the data has to go up and down the layers. And if you see how fast that message gets sent, you’d appreciate why it’s called instant messaging.