In the beginning the development of networks was disordered and confusing. Each vendor (companies) had its own proprietary solution. The bad part was that one vendor’s solution was not compatible with another vendor’s solution. This's where the idea for the OSI (International Organization for Standardization) model was born, having a layered approach to networks our hardware vendors would design hardware for the network, and others could develop software for the application layer. Using an open model which everyone agrees on means we can build networks that are compatible with each other.
UNDERSTANDING THE OSI MODEL
REAL LIFE EXAMPLE
1. First you write a letter.
2. You put the letter in an envelope.
3. You write your name and the name of the receiver on the envelope.
4. You put the envelope in the mailbox.
5. The content of the mailbox will go to the central processing office of the postal service.
6. Your envelope will be delivered to the receiver.
7. They open the envelope and read its contents.
UNDERSTANDING EACH LAYER
- Physical Layer: This layer describes stuff like voltage levels, timing, physical data rates, physical connectors and so on.
- Data Link: This layer makes sure data is formatted the correct way, takes care of error detection and makes sure data is delivered reliably.
- Network: Logical addressing. Ability to send data end to end in different network.
- Transport: The transport layer takes care of transport, when you downloaded this lesson from the Internet the webpage was sent in segments and transported to your computer.
UDP lives here; it’s a protocol which sends data in an unreliable way.
- Session: The session layer takes care of establishing, managing and termination of sessions between two hosts. When you are browsing a website on the internet you are probably not the only user of the webserver hosting that website. This webserver needs to keep track of all the different “sessions”.
- Presentation: This one will make sure that information is readable for the application layer by formatting and structuring the data. Most computers use the ASCII table for characters. If another computer would use another character like EBCDIC than the presentation layer needs to “reformat” the data so both computers agree on the same characters.
- Application: Here are your applications. E-mail, browsing the web (HTTP), FTP and many more.
Going from the application layer all the way down to the physical layer is what we call encapsulation. Going from the physical layer and working your way up to the application layer is called de-encapsulation.
Real example of data transmission:
1. We want to download some files of a local webserver.
We start up your web browser and type in the URL of website. Our computer will
send a message to the web server requesting a certain web page. We are now using the HTTP/HTTPS
protocol which lives on the application layer.
2. The presentation layer will structure the information of the application in a certain format.
3. The session layer will make sure to separate all the different sessions.
4. Depending on the application we want a reliable (TCP) or unreliable (UDP) protocol to transfer
data towards the web server, in this case it’ll choose TCP since you want to make sure the
webpage makes it to our computer.
5. Your computer has a unique IP address (for example 19.16.1.1) and it will build an IP packet.
This IP packet will contain all the data of the application, presentation and session layer. It also
species which transport protocol it’s using (TCP in this case) and the source IP address (our
computer 19.16.1.1) and the destination (the web server’s IP address).
6. The IP packet will be put into an Ethernet Frame. The Ethernet frame has a source MAC address
(our computer) and the destination MAC address (web server). More about Ethernet and MAC
addresses later.
7. Finally everything is converted into bits and sent down the cable using electric signals.