Introduction to Computer Network and OSI Model Layers
A computer network is a collection of various computer devices. The purpose of computer networks is to enable devices to share information. It means connecting different devices - different devices that are different and compatible. The main purpose of computer networks is to share information. Now, on computer networks, we have one sender and one recipient.
The sender is the one trying to send more information to the recipient. The sender and receiver can be a machine. The user sends information electronically. So we can say, the sender writes a plan to send some data to the recipient.
Now, how will the user send the data? Requires some type of connection. The connection can be a wireless connection or a wireless connection. But first, the user needs some connection. With connectivity, packets or data will move from the sender machine to the receiving machine.
Now, the more word there is the connection. Next, the sender has sent some details. Suppose there is an M message and the sender sends the message to the recipient. The recipient receives the information, that is, the message.
Now, the next part is, the sender sent the details and the recipient receives the details. But any message received by R, can you read it? Whether R is able to understand the data or not? The idea is that the data sent by the sender should be understood by the recipient as well.
Therefore, there should be procedures that should work on the sender machine and agreements that should work on the receiving machine. What are the benefits of this protocol? The protocol is a set of commands. When the sender sends the data, it must follow a set of instructions.
In order for any data to be sent, the recipient will be able to understand it. Let's say I called. I know Punjabi but I have called Teluguperson. Whatever I say, someone else can hear. You can hear my voice and you know I have something to say. But can you understand everything I say? No, he does not. Whatever he says, I will not understand! But I know I'm getting a message from him.
Connectivity helps data move from sender to recipient or from recipient to sender. But can we understand the details or not? Therefore, there must be some kind of protocol that works on both sides. That is called proper 'communication'.
That is, communicating with the appropriate processes or set of commands, if followed, can be said to be the proper communication between the sender and the receiver. Now, we say there is a sender, a receiver, or in the computer network terms, we use the client and server again. So, where are the client and the server, or can we say the sender and receiver, where are they? One situation can be, sender and recipient or we can say that both client and server are gifts on the same machine. Suppose there is a machine, for example, your laptop.
On your laptop, a client-made or send-in processor sends a specific message to the recipient. Suppose when I press a button from the keyboard, any button I press, whenever I press, the same will be displayed on the monitor. Now, what happened there? There is some kind of process done by the sender or man-made and that message is given to the recipient.
What process did the sender perform? The sender performs the process by pressing a button, or any button. What works as a recipient here? Caution. What works as a sender here? Keyboard. But the person or user is the same! The point is, a single user process sends a specific type of message and that message is a printed alert. But here's the idea, "inside the same machine".
When a process interacts with another process within the same machine, it is called a 'parallel connection'. But do computer networks deal with compatible communications? No, computer networks do not deal with that. Instead, the operating system is responsible for that part. The operating system kernel works. It is about how the process interacts with another process, like this, how the keyboard transmits information to the monitor or how it transmits the message.
That is done by the Program of Action. We call this Interprocess communication. Obviously, there are wires out there too. If you look at your CPU or your keyboard or laptop, there will be data cables going through it. The concept is the same but it does not apply the principle of computer networks. Computer network principles apply only when the client is on one machine and the server is on another machine. That is, two machines can be physically separated.
That is, where the client and server are on separate machines. Suppose this is one machine and this is a second machine. Here, we can say that the idea of Computer Networks is coming. Now, when I talk about my machine, that is, my laptop, I can easily press a button or click the mouse and the message easily appears on the screen.
You can see how smooth it is communication is made. So where should I use smooth communication? Between this client and the server. One client can be in India and the server can be in the USA, UK, or elsewhere. I'm not talking about distance. The distance can be 1 km, the distance can be 1 meter or the distance and it can be 10,000 km.
Remote means nothing. We are not talking about distance here. We simply assume that the client is on one machine and the server is on another machine. In this case, is it possible for me to make the smooth connection we have seen before? Is it possible for me to communicate well? To bring about such smoothness, we use the concept of Computer Networks.
Let's say, this is my machine, I'm in India and this is another machine. Available in the USA. Now my client machine sends some information to the server, say, I open my Facebook account. Right now I'm not going to go into details about computer networks, just starting from the basics we commonly use. We use Google and Facebook every day.
These days Google is so popular that even if we have to check if our internet connection works, we turn on Google. That's what Google is all about! So what do we do on Google or Facebook? We are sending a message from our machine to Facebook. My message goes to an existing Facebook server in the USA. But here a place should be provided where there should be no feeling that the equipment involved is two separate machines.
That is what often happens to us. When we log into Facebook from our device or use WhatsApp or Google, we can see that the data has reached us very quickly. It sounds like the information was available on your laptop.
Data access is as fast as data on our hard disk. Let’s say, I had movies on D drive on a laptop and I was able to access the drive. I click on a movie and the movie is played on the VLC player. It does not need to take 1-3 seconds.
It takes equal time to access data from Facebook or access data from Google. Now, what is this? We are not saying that we are importing data from the USA or the UK. We don't even know that! It’s kind of a release from us. So what do Computer Networks do for us? Computer Networks create the impression that the client and server process are on the same machine.
But in reality, it is not! Now, what is the function of Computer Networks? Operations, client, and server, physically separated, must feel like they are on the same machine. But in reality, they are not. This functionality is provided by computer networks.
That is the main task. Now, we send data to the server and call the data from the server. The server can also respond. When I ask for information from google or my Facebook account, the server will also respond with data.
In this two-way communication system, many functions are used. So, what kind of apps are commonly used? There are obviously two types of work - compulsory and optional. Mandatory refers to those services that can be taken care of, whenever my client machine sends certain data or sends a specific request to the server.
The first and most important function is ‘error control’. It looks like the message I was sent was received by another machine or another message is found there. Because these days, since the Internet we use is an open system, the message can be changed in the middle due to noise or hacking or other things. So, is the M message I am sending received by the recipient as M or M1? If I send an M message, the recipient must also receive the same.
But because of noise or some other factor, it can be changed. So in my approach, there has to be a lot of performance that should tell me that there is some kind of error. At least I would have known that there was some kind of error.
If I know something is wrong, I can correct it later or re-send the data. So the first operation is to control the error. The second function is to control the flow. Flow control means the amount of data. That is, let's assume that the sender sends some data to the recipient and fills the network with details. No, that should not be done.
There has to be some kind of flow control. It shouldn’t be the case that I am filling the buffer completely or the memory completely. There has to be some kind of an obstacle out there. Only if we use this limit, the network will run smoothly. Otherwise, congestion may occur. Agreements in my system give me this mandatory operation.
The third function is repetition and confusion. Multiplexing and demultiplexing mean that, on my machine, there are many programs or processes that work, that is, I work on many web browsers, browsing, downloading, and uploading. No matter what I do, most processes work at the same time. But among these processes which particular process will send data? For example, in my machine, many processes continue.
Multiplexing and demultiplexing help with deciding which process to send data to. It is a system of transport layers.
What process should you go to? That is also one key point. Those types of operations should therefore be subject to mandatory performance. Therefore, there are a number of different functions under the mandatory label. Now let's look at the options.
Under optional, the main function is encryption and decryption. We also call this cryptography. That is, we do not send data as it is. We convert it into a separate form and send it so that anyone who comes in trying to access data can understand it.
However, not all applications require encryption and decryption. Nowadays, many apps, such as banking apps that make money transactions, will definitely require encryption because anyone who does not have access to the data will be able to access it.
However, the complexity of the system will increase as a result of this because the standard algorithm is already being implemented. Along with the compulsory function code, if I enter the optional code, the system complexity will increase.
Therefore data transfer time will increase again. This is a very important point. To send data via standard HTTP, encryption is not required. However, for HTTPS sending data encrypted, encryption is required. But if we send data in general, security or cryptography is not required. We can just send details.
The following performance is a test site. When we download the data, we will encounter a few checkpoints. This means, if I were uploading a 500Mb file, let's say while at 301 Mb, the download failed. So when I start downloading again, it should not start at 0.
It should also start from 301 or a slightly lower value. Suppose I set the test location to every 100Mb. So my download will start again at 300 Mb if it fails at 301Mb. But is this necessary for all applications? No! When the data is very small in size, such as in the WhatsApp message we send in bytes, we do not need a test site.
Otherwise, it would be better if I did not add more functionality because it can make the system more complicated. Now, why are we discussing these principles? Because we will move on to the OSI model. There is a lot of work.
Voluntary and compulsory included, we have more than 70 applications. So they organized this 70 performance into a standard model. Frequently on Networks people discuss the OSI model and the TCP / IP model initially.
You will also be able to find more readings and videos online in these articles. But no one has ever said why there is a need for an OSI model. Because it is a theoretical concept. But what is the need for that model? Why was the model used? The non-model reason is that all of this functionality is organized into a single model and it was decided that whenever data is sent from my laptop, it will go through all these normal processes.
After these processes, a message will leave my machine. In the same way, as soon as the message reaches the recipient's machine before the message reaches the user, it passes through a set of agreements. For this reason, we have developed a model known as the OSI model. Open Systems Connection.
In the OSI model, what do we do? We have turned all this work into layers. In the OSI model, we have 7 standard layers. The first is the body layer. On top of that lies a layer of the data link. After that, the network layer. The transport layer, session layer, presentation layer, and application layer.
These 7 layers are the heart of the OSI model. So, any work I had, about 70 of my choice and authorization, is still distributed in 7 layers. So, whenever my message is sent from my machine, it will pass through all these layers. This is the concept of the OSI model. So any functionality found here, fulfills the OSI model.
There are a few models used in addition to the OSI models such as the TCP / IP model and the IEEE model. However, from the GATE area or generally to other scholars, we only follow these two types.