The application layer is the topmost layer in both the OSI and TCP/IP layers models. It provides an interface to connect and interact with the application. This interface can be a graphics-based or a command-line-based tool. For example, Cisco IOS (Internetwork Operating System) provides a command line interface to connect and manage Cisco devices such as routers and switches whereas a web browser provides a graphical interface to connect and get information from remote computers.
The application layer in both models only refers to tools and applications that network-aware. It does not describe network-unaware applications.
Network-aware v/s network-unaware applications
We can classify applications into two categories: network-aware and network-unaware.
A network-aware application is an application that can directly connect to the network for data transmission across. MS-office, Libra-office, Firefox, Chrome, Edge, and FileZilla are examples of network-aware applications.
A network-unaware application is an application that cannot directly connect to the network for data transmission. Notepad, WordPad, paint, and Calculator are examples of network-unaware applications.
The application layer does not describe the network-aware application itself. It describes the services and protocols the network-aware application needs to connect to the network.
For example, the application layer describes HTTP and HTTPs protocols. The HTTP protocol provides unsecure data transmission whereas the HTTPs protocol provides secure data transmission. Web browsers such as Firefox, Chrome, and Edge use these protocols to connect and pull web pages from web servers.
The HTTP protocol transmits data in its current format. The devices that work between the sender and receiver devices can view the data. The HTTPs protocol encrypts data on the sending device before transmitting it. On the receiving device, it de-encrypts data again before presenting it to the web browser. Since the data is encrypted, intermediate devices cannot view the data.
Differences between TCP/IP model's application layer and the OSI model's application layer
In the TCP/IP layers model, the application layer is responsible for three things.
- Initiating and terminating the connection with the remote system
- Encrypting and compressing data on the sending device and de-encrypting and decompressing data on the receiving device
- Presenting data to the application
The OSI layer model uses three separate layers for the above functions.
- The application layer of the OSI model describes how protocols and services present data to the application.
- It uses the presentation layer to describe the functionality of encryption and de-encryption.
- It uses the session layer to explain the initiating and terminating connection with the remote system function.
Examples of the application layer
Telnet, Secure Shell (SSH), Simple Mail Transfer Protocol (SMTP), Post Office Protocol version 3 (POP3), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and Network File System (NFS) are examples of the application layer.
Functions of the application layer
- The application layer provides a user interface and processes network data.
- On the sender device, it produces the network data to be transmitted to the network.
- On the receiver device, it receives and consumes the network data produced and transmitted by the sender device.