Wednesday, October 27, 2010

Hour 3 - Chapter 1 - Top three layers

Firstly, I would like to apologize for not posting yesterday, I am rarely sick however I had a pretty bad cold and am just now getting better. I did do quite a bit of study but simply could not find the time or energy to blog my notes - I'll make sure to blog them as soon as I get them down from now on. Now that's out of the way let's get on with it! Today we have a look at the three highest layers of the OSI Reference Model (see previous post). These are the Application, Presentation and Session Layers. As I've mentioned in my previous post, these top three layers pertain mainly to the way that the network applications running on networked device communicate with each other.

The Application Layer

The Application Layer is the seventh and top layer of the OSI Reference Model. It is responsible for interfacing with end-user application programs and it provides a way for these applications to transmit information down the protocol stack using application layer protocols. A common misconception is that programs such as web browsers reside on this layer, however this is not quite true. Web browsers do not reside on the Application Layer, rather they interface with Application Layer protocols such as HTTP and HTTPS. Additional functions at this layer include ensuring that the communicating partners are both available and that that there are enough resources to enable the transmission.

Here is a short list containing just some of the more popular protocols operating at this layer (there are literally hundreds of Application Layer protocols in use today):

  • FTP: File Transfer Protocol
  • TFTP: Trivial File Transfer Protocol
  • HTTP: Hypertext Transfer Protocol
  • HTTPS: Hypertext Transfer Protocol Secure
  • DNS: Domain Name System
  • SSH: Secure Shell

The Presentation Layer

The role of the Presentation Layer is not quite as easy to grasp as the Application Layer. According to the OSI Reference Model, the Presentation Layer presents data to the Application Layer and is responsible for functions such as data translation and code formatting/conversion. Let me explain these concepts as I understand them. When data is transmitted, it is generally encoded with a particular encoding standard (i.e. a character encoding standard) and must be decoded when it is received. According to this Wikipedia article, "a character encoding system consists of a code that pairs each character from a given repertoire with something else, such as a sequence of natural numbers, octets or electrical pulses, in order to facilitate the transmission of data (generally numbers and/or text) through telecommunication networks or storage of text in computers." Examples of common character encoding standards include:

  • ASCII
  • EBCDIC
  • Unicode

Therefore when communicating, network applications have to agree on which coding standards they're going to use to encode data so that they are both able to process and interpret it. Some of the additional functions that may occur at this layer include data compression/decompression, encryption/decryption, and sometimes even multimedia operations.

The Session Layer

The Session Layer has a fairly simple role and we will not go into it in too much detail. In simple terms it is responsible for making sure that each application's communications are kept separate, as well as opening, managing, and eventually closing sessions between these network applications. The Session Layer typically offers three different communication modes:

  • Simplex: One direction only.
  • Half duplex: Both directions but not simultaneously.
  • Full duplex: Both directions simultaneously.

I hope that this brief look at the top three layers of the OSI Reference Model was informative. Feel free to leave any questions you may have in your comments and I'll try my best to answer them. In the next few blog posts we will look at the bottom 4 layers and then delve into Ethernet in a quite a bit of depth.

26 comments:

  1. Damn. I could've used this info when I was taking a networking class over the summer.

    ReplyDelete
  2. Hey I'm fighting a cold too! It's okay I understand.

    ReplyDelete
  3. Knew most of this stuff already. There was some new info though.
    Get well.

    ReplyDelete
  4. most of this stuff I knew :D
    I'm working at T-Com/T-Mobile on technical service desk :D

    ReplyDelete
  5. It would be good for the people who knows little about this.

    ReplyDelete
  6. Hmm it's neat. But all I really knew before was ASCII :D

    ReplyDelete
  7. oh man, it looks like you're making progress with your studies

    ReplyDelete
  8. That was some informative shit man, I wish I had an attention span...

    ReplyDelete
  9. This just went straight over my head, but thanks anywas!

    ReplyDelete
  10. No troubles, I'm still trying to get through the beginning of what you posted. Hoping to learn something I can use out of the notes you post here. :)

    ReplyDelete
  11. i know how to tie my shoes and make internets. also i can connect cables to my computer like usb's or networks :D

    ReplyDelete
  12. I always like these kind of posts! thanks man

    ReplyDelete
  13. wow if i ever need a refresh on my networking stuff ill be coming here.

    ReplyDelete
  14. Three layers? We need to go deeper!

    Nah, good info man :)

    ReplyDelete
  15. I wrote a tutorial today about AdSense estimated earnings versus actual earnings. It's called AdSense Adds Cents in Your AdSense in Order to Make Sense?

    I also include a bit about why I promote my blog in your blog's comments.

    See you there!

    ReplyDelete
  16. such a good read!
    awesome blog :)

    ReplyDelete