2.9 KiB
OSI Model
The OSI Model is a layered protocol model. It was proposed by the International Organization for Standardization. The model can be used as a reference to understand how networks operate.
The model was created to have a standard which hardware/software producers could use so that different products could work with each other.
For example, before this model was introduced, hardware from company A could not work together with hardware of company B because the protocols and techniques used were completely different.
As you can see the model has 7 layers. Each layer has their own responsibility.
Note: We don't actually "use" the OSI model, we mostly use the TCP/IP Model now. The implementation is exactly the same, only some layers are different.
7. Application Layer
The application Layer provides services to the end user. So this is the layer the user actually interacts with.
These services are usually protocols that interact with the data that the user uses.
Examples of services (protocols):
- HTTP
- FTP
- IRC
- SSH
- DNS
- SMTP
For example a web browser like Google Chrome uses the HTTP protocol to browse files on the internet. And the mail client Outlook uses the SMTP protocol to send mail via the internet.
6. Presentation Layer
The presentation layer is responsible for preparing the data so that it can be used by the Application Layer.
Presentation layer is responsible for:
- Translation of data
- Encryption of data
- Compression of data
For example, two devices can use different types of encoding on their data, the presentation layer will translate the data in a way that the Application Layer can understand.
When sending sensitive data, we would like to encrypt the data so that its secure. The Presentation layer is responsible for encrypting and decrypting ingoing or outgoing data.
Also when sending of receiving data we sometimes want to compress the data so that sending and receiving data is more efficient. (smaller size)
5. Session Layer
The session layer is responsible for opening and closing connections between two devices. The duration of a connection is called the session.
The session layer ensures that the connections remains active and open so that the data being received and/or send is complete.
For example when sending a big file to someone, which takes some time, the session layer will keep the connection open long enough to send the complete file.
The session layer also synchronizes the data transfer with checkpoints. For example, if a 50 MB file is send to a device, the session layer could set a checkpoint every 10 MB. In case of a disconnect (session close), the session could be restored to a certain checkpoint and the data transfer can resume where it disconnected.
This way we do not need to completely resend the file.