61 lines
3.1 KiB
Markdown
61 lines
3.1 KiB
Markdown
# 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.
|
|
|
|
![[OSI-model.png]]
|
|
|
|
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.
|
|
|
|
## 4. Transport Layer
|
|
The Transport Layer is responsible for the end-to-end communication between 2 devices. The Transport layer takes data from the Session Layer and breaks them up in chunks called segments.
|
|
|
|
|
|
|
|
## 3. Network Layer
|
|
## 2. Data Link Layer
|
|
## 1. Physical Layer |