In computer networking, the layered concept of networking was developed to accommodate changes in technology. Each layer of a specific network model may be responsible for a different function of the network. Each layer will pass information up and down to the next subsequent layer as data is processed.
The OSI (Open System Interconnection) Network Model Standard
The OSI network model layers are arranged here from the lower levels starting with the physical (hardware) to the higher levels.
The 7 layers of OSI
Figure from webopedia
- Physical Layer
An application that communicates with other computers that corresponds to the application's communication service.
- Data Link Layer
It defines how to transfer data on a single link
- Network Layer
This layer defines the end-to-end packet transport, which defines the logical addresses that identify all nodes and also defines how the routes are implemented and how they are learned.
- Transport Layer
The functions of this layer include whether to choose the error recovery protocol or the error-free recovery protocol, and multiplex the input of different application data streams on the same host, and also include the function of reordering received packets that are not in the correct sequence.
- Session Layer
It defines how to start, control and end a session, including the control and management of multiple bidirectional messages so that applications can be notified when only a portion of a continuous message has been completed, so that the data seen by the presentation layer is contiguous, In some cases, if the presentation layer has received all of the data, the data represents the presentation layer.
- Presentation Layer
The main function of this layer is to define the data format and encryption.
- Application Layer
An application that communicates with other computers that corresponds to the application's communication service.
What is application layer?
The Application Layer is the seventh layer of the seven-layer OSI model. Application layer interface directly interacts with the application and provides common web application services. The application layer also makes a request to the presentation layer. Application layer is the highest level of open systems, providing services directly for the application process.
Application layer functions
- Transport access and management
It allows a user to access, retrieve and manage files in a remote computer.
- mail services
It provides the basis for email forwarding and storage facilities.
- Virtual terminal
For various reasons, it can be said that the standardization of terminals has completely failed. The OSI solution to this problem is to define a virtual terminal that is really just an abstract data structure that takes the abstract state of the actual terminal. This abstract data structure can be operated by both the keyboard and the computer and reflects the current state of the data structure on the display. The computer can query this abstract data structure and change this abstract data structure so that the output appears on the screen.
- Other functions
In addition to the three functions above, there are some other functions: directory services, remote job entry, graphics, information communication and so on.
Application layer examples
- DNS (Domain Name System)
The Domain Name System (DNS) is a hierarchical decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities.
Currently, the limit on domain name length is 63 characters, including www. And .com or other extensions. Domain names are also restricted to only a subset of ASCII characters, making many other languages unable to properly represent their names and words. Punycode-based IDNA systems, which map Unicode strings to valid DNS character sets, have been validated and adopted by some registries as a workaround.
- HTTP (Hypertext Transfer Protocol)
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, and hypermedia information systems.[1] HTTP is the foundation of data communication for the World Wide Web.
HTTP is a client and server-side standard for request and response (TCP). The client is the end user, the server is the website. Using a web browser, web crawler, or other tools, the client initiates an HTTP request to the specified port on the server. The responding server stores (some) resources, such as HTML files and images. (We call it) This answering server is the origin server. There may be multiple middleware between the user agent and the origin server, such as agents, gateways, or tunnels. Although the TCP / IP protocol is the most popular application on the Internet, the HTTP protocol does not require that it be used and based on the layers it supports. In fact, HTTP can be implemented on any other Internet protocol, or on other networks. HTTP assumes only that the underlying protocol (provided by the underlying protocol) is reliable and that any protocol capable of providing this guarantee can be used by it.
Typically, a request is made by the HTTP client to establish a TCP connection to the server's designated port (the default is port 80). The HTTP server listens on that port for requests sent by the client. Upon receipt of the request, the server sends a status line (to the client), such as "HTTP / 1.1 200 OK," and (response) a message body that may be a requested file, an error message, or some other information.
- FTP (File Transfer Protocol)
FTP services generally run on both ports 20 and 21. Port 20 is used to transmit data flow between the client and server, while port 21 is used to transmit control flow and is the command to import to the ftp server. When data is streamed, the control flow is idle. When the control flow, idle for a long time, the client's firewall, the session will be set to overtime, so when a large amount of data through the firewall, there will be some problems. At this point, although the file can be successfully transmitted, it can be broken by the firewall because of the control session; the transfer can result in some errors.
Application layer protocols
The application layer protocols provide rules for communication between applications. To ensure smooth communication, the application layer protocols implemented on the source host and the destination host must be the same.
Application layer protocol features:
- Define the process for both parties to the communication.
- Define the message type.
- Define the syntax of the message.
- Definition of the meaning of any informational field.
- Define the way to send the message and the expected response.
- Define interaction with the next level.